-
- Отладка в кейле работает и при загрузчике. При отладке приложения работать в проекте приложения. При отладке загрузчика - проект загрузчика. Можно сразу download из кейла поправленную прошивку. Чтобы каждый раз не вычислять и прописывать адрес конца и КС и загрузчик не проверял кс пишу вместо адреса конца приложения 0хЕЕЕЕЕЕЕЕ - shan1(09.07.2022 10:36, )
- Я делаю вот так: Загрузчик занимает адреса 0..0xFFFF. Один и тот же проект. Для отладки проект вот с такими установками. Для загрузчика вот с такими... Гyдвин(96 знак., 07.07.2022 14:59, картинка, картинка)
- при отладке ? если так , то нужно путь к ini файлу добавить во
вкладке debug Aleksey_75(426 знак., 07.07.2022 14:38 - 14:43)
- А что нужно указать в этой строке? Nikolaev_Aleksey(91 знак., 08.07.2022 07:00)
- да, это только для отладки. - Nikolaev_Aleksey(07.07.2022 14:39)
- Тогда забот не понимаю... POV(102 знак., 07.07.2022 14:38)
- да не хотелось бы. загрузчик много периферии инициализируют.
Хотелось с чистого сброса работать. - Nikolaev_Aleksey(07.07.2022 14:40)
- Ответ: 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)
- да не хотелось бы. загрузчик много периферии инициализируют.
Хотелось с чистого сброса работать. - Nikolaev_Aleksey(07.07.2022 14:40)