Статус:
Offline
Реєстрація: 17.08.2005
Повідом.: 49299
Реєстрація: 17.08.2005
Повідом.: 49299
Кто-то пробовал STM32 самопрошивать из главного кода, а не по буту?
Задался интересным вопросом - все для обновления юзают перезагрузку с зажатым бутом...
Ну стандартный подход, ок. А кто-то пробовал делать вход в лоадер из основной программы?
Там какое дело... практически, если лоад с носителя, или по воздуху - дважды зашиваются копии кода для периферии.
Один раз USB-host|радиоканал - в бут секции, и потом ещё раз - уже в главной, если она с ними работает.
Вопрос в чем - как правильно сделать это один раз? К примеру, инит USB покласть в бут-секцию и в основном коде хардкодить параметром (из того же бутлоадера) адрес ссылки на неё.
По идее, если тип данных будет совпадать - такое обращение возможно. Бутлоадер точно знает где лежит что. И оно там будет лежать всегда. Он передаст абсолютно валидный адрес.
Тогда в основной секции не надо будет второй раз инитить эту срань.
Как вам такое, Илоны Маски?
Задался интересным вопросом - все для обновления юзают перезагрузку с зажатым бутом...
Ну стандартный подход, ок. А кто-то пробовал делать вход в лоадер из основной программы?
Там какое дело... практически, если лоад с носителя, или по воздуху - дважды зашиваются копии кода для периферии.
Один раз USB-host|радиоканал - в бут секции, и потом ещё раз - уже в главной, если она с ними работает.
Вопрос в чем - как правильно сделать это один раз? К примеру, инит USB покласть в бут-секцию и в основном коде хардкодить параметром (из того же бутлоадера) адрес ссылки на неё.
По идее, если тип данных будет совпадать - такое обращение возможно. Бутлоадер точно знает где лежит что. И оно там будет лежать всегда. Он передаст абсолютно валидный адрес.
Тогда в основной секции не надо будет второй раз инитить эту срань.
Как вам такое, Илоны Маски?