-
- Ответ: SciFi(562 знак., 07.07.2022 14:45 - 14:48)
- У кортексов в векторах просто адреса указаны, а не команды переходов. - VladislavS.(07.07.2022 15:00)
- +1 за 3 пункт, именно так и сделано - Aleksey_75(07.07.2022 14:47)
- У меня загрузчик в себя вобрал stdlib, файловую систему, CLI и
многое другое. Килобайт 100 от приложения забрал. Соответственно он
все что надо ему инитит, и это не мешает дальнейшей работе
приложения. - POV(07.07.2022 14:47)
- Получается велика вероятность того, что загрузчик надо тоже обновлять. Не наш путь - Nikolaev_Aleksey(08.07.2022 06:10)
- То есть загрузчик и приложение линкуются вместе и используют общие
функции по известным адресам? Потом одно неосторожное движение, и
вы отецтеряется совместимость между приложением и загрузчиком. - SciFi(07.07.2022 14:51)- В загрузчике дохрена нужного и самостоятельного (обновление, 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)
- а что разве переход с загрузчика на основное по не через ресет ? - Aleksey_75(07.07.2022 14:44)
- нет. у меня диагностическая сессия по CAN открыта. нужно продолжать
работу. - Nikolaev_Aleksey(07.07.2022 14:46)
- хм, а накой так сделано ? что за извраты - Aleksey_75(07.07.2022 14:46)
- ISO 14229. - Nikolaev_Aleksey(07.07.2022 14:48)
- хм, а накой так сделано ? что за извраты - Aleksey_75(07.07.2022 14:46)
- нет. у меня диагностическая сессия по CAN открыта. нужно продолжать
работу. - Nikolaev_Aleksey(07.07.2022 14:46)
- Ответ: SciFi(562 знак., 07.07.2022 14:45 - 14:48)