-
- В загрузчике дохрена нужного и самостоятельного (обновление, CLI -
и что все сопровождает работу с функциями загрузчика). И под два
полностью независимых приложения тупо нет места, поэтому часть кода
вынесена в загрузчик. А так да, приходится следить за API
загрузчика. - POV(07.07.2022 14:54)
- У меня обновление делается через основную прошивку, заливает образ
в SPI Flash. Загрузчик лишь копирует оттуда в память программ. Ну и
он умеет аварийный режим загрузки через TFTP на случай, если
основная прошивка похерилась, а также для первичной загрузки.
Получается маленький загрузчик. - SciFi(07.07.2022 14:56)
- У меня это сделано в том числе чтобы и загрузчик можно было
обновить самим загрузчиком )) Ну, вариантов может быть мильён.. а
мой уже обкатан на 4х изделиях - шуршит, радует глаз. - POV(07.07.2022 14:58)
- Да, я забыл сказать, что мой загрузчик при старте копирует себя в
ОЗУ, чтобы можно было обновить самого себя :-) - SciFi(07.07.2022 15:14)
- не выложите для потомков свой чудо бутлоадер? ) - 0men(07.07.2022 16:10)
- +1 хочется подробностей - Aleksey_75(07.07.2022 23:02)
- возможно нужно включить в настройках компилера "position
independence" Nikolay801_(16 знак., 08.07.2022 09:32)
- Да не, размещаю сразу в адресах ОЗУ, подкручиваю только нулевой
вектор для старта. А там код копирования в ОЗУ сам по себе не
зависит от размещения: memcpy() нормально работает, и инструкция
вызова функции (memcpy) в кортексе сама по себе относительная. SciFi(159 знак., 08.07.2022 09:51)
- мы сейчас о кортексах, или о процах с статическим озу ? - Aleksey_75(08.07.2022 23:46)
- Ша! Вопрос случайного прохожего. А у Кортехов не статическое озу? - Kpoк(09.07.2022 09:20)
- мы просто ведём светскую беседу :-) - SciFi(08.07.2022 23:57)
- я серьезно.. no_init область создаете ? - Aleksey_75(08.07.2022 23:58)
- Нет нужды. Стартап самодельный же. - SciFi(09.07.2022 00:05)
- я серьезно.. no_init область создаете ? - Aleksey_75(08.07.2022 23:58)
- мы сейчас о кортексах, или о процах с статическим озу ? - Aleksey_75(08.07.2022 23:46)
- Да не, размещаю сразу в адресах ОЗУ, подкручиваю только нулевой
вектор для старта. А там код копирования в ОЗУ сам по себе не
зависит от размещения: memcpy() нормально работает, и инструкция
вызова функции (memcpy) в кортексе сама по себе относительная. SciFi(159 знак., 08.07.2022 09:51)
- возможно нужно включить в настройках компилера "position
independence" Nikolay801_(16 знак., 08.07.2022 09:32)
- +1 хочется подробностей - Aleksey_75(07.07.2022 23:02)
- Я так почему-то не стал делать, хотя именно это и планировалось... POV(126 знак., 07.07.2022 15:19)
- не выложите для потомков свой чудо бутлоадер? ) - 0men(07.07.2022 16:10)
- Да, я забыл сказать, что мой загрузчик при старте копирует себя в
ОЗУ, чтобы можно было обновить самого себя :-) - SciFi(07.07.2022 15:14)
- У меня это сделано в том числе чтобы и загрузчик можно было
обновить самим загрузчиком )) Ну, вариантов может быть мильён.. а
мой уже обкатан на 4х изделиях - шуршит, радует глаз. - POV(07.07.2022 14:58)
- У меня обновление делается через основную прошивку, заливает образ
в SPI Flash. Загрузчик лишь копирует оттуда в память программ. Ну и
он умеет аварийный режим загрузки через TFTP на случай, если
основная прошивка похерилась, а также для первичной загрузки.
Получается маленький загрузчик. - SciFi(07.07.2022 14:56)
- В загрузчике дохрена нужного и самостоятельного (обновление, CLI -
и что все сопровождает работу с функциями загрузчика). И под два
полностью независимых приложения тупо нет места, поэтому часть кода
вынесена в загрузчик. А так да, приходится следить за API
загрузчика. - POV(07.07.2022 14:54)