Yoda
ЛА
Зарегистрирован: 18.02.2009
Сообщения: 807 Благодарности: 9
Откуда: Беларусь, Минск.
|
Добавлено: Пн Июн 19, 2023 09:26 Заголовок сообщения: Bootloader вопросы |
|
|
Всем доброго времени суток.
Пишу свой первый загрузчик, ибо надо разобраться, а в готовых очень много всего лишнего. Микроконтроллер pic24 via CAN.
Так получается, что две копии прошивки уже не лезут в память МК и приходится сохранять новую прошивку в qspi память, а оттуда уже пишу её в МК. Для чтения из qspi памяти у меня выделен глобально буфер в 512 байт. Так вот, что потом с этим буфером происходит? Да и со всеми глобальными переменными загрузчика? Он теряется, будто его и не было? А если названия глобальных переменных одинаковые у загрузчика и у основной программы? И ещё на устройстве есть экран, который я использую для отображения информации загрузчика. Получается в основной прошивке я могу убрать инициализацию дисплея для экономии места? Или так делать не рекомендуется?
Сейчас главный затык в том, что в целом мой загрузчик работает, но с нюансами. Если после заливки прошивки в МК я прыгну на адрес основной прошивки, то она работает, только дисплей не инициализируется. А вот, если я отключу устройство программирования от шины CAN, загрузчик сразу прыгнет на основную программу без инициализации дисплея. Тогда прошивка стартует, но вся графика (она тоже сохраняется в qspi памяти), которая работает через qspi флэшку (тот самый буфер) будет выведена с ошибками, со сдвигом каким-то. Если же прошить основную программу через программатор, то она работает без каких-либо проблем.
Буду рад любой помощи.
_________________ Celestron CPC 800, Celestron Outland 10x42, биновьюер DeepSky.
мтс: 8 029 5555233 Паша
|
|