Расположение данных по нулевому адресу...
-
demiurg301
- Опытный кот
- Сообщения: 812
- Зарегистрирован: Ср мар 18, 2009 21:14:33
Расположение данных по нулевому адресу...
Здравсвуйте, котаны
Интересные вопросы назрели.
Может кто сталкивался.
Как правильно организовать заголовок прошивки и бутлоадера.
Идея в том, чтобы заголовок был перед прошивкой во флеше.
Это реализуемо для прошивки, но нереализуемо для бутлоадера, т.к. посдедний находится по нулевому адресу.
на сколько я понимаю, это нельзя сделать без разбиения бутлоадера на две части?
Интересные вопросы назрели.
Может кто сталкивался.
Как правильно организовать заголовок прошивки и бутлоадера.
Идея в том, чтобы заголовок был перед прошивкой во флеше.
Это реализуемо для прошивки, но нереализуемо для бутлоадера, т.к. посдедний находится по нулевому адресу.
на сколько я понимаю, это нельзя сделать без разбиения бутлоадера на две части?
Re: Расположение данных по нулевому адресу...
Ничё не понял.Заголовок всегда впереди, на то он и заголовок. Бутлоадер можно разместить где угодно, и основную программу можно разместить где угодно.
И лучше конкретизировать мк.
И лучше конкретизировать мк.
-
demiurg301
- Опытный кот
- Сообщения: 812
- Зарегистрирован: Ср мар 18, 2009 21:14:33
Re: Расположение данных по нулевому адресу...
[uquote="Martian",url="/forum/viewtopic.php?p=4381845#p4381845"]Ничё не понял.Заголовок всегда впереди, на то он и заголовок. Бутлоадер можно разместить где угодно, и основную программу можно разместить где угодно.
И лучше конкретизировать мк.[/uquote]
CortexM4... Китаёзный.
Я к тому, что если мы размещаем бут по нулевому адресу, то впереди него мы ж не сможем положить данные.
Нужен какой то dummy код , который просто прыгнет по адресу бутлоадера?
Заодно и валидирует всё в соответствии с заголовком
И лучше конкретизировать мк.[/uquote]
CortexM4... Китаёзный.
Я к тому, что если мы размещаем бут по нулевому адресу, то впереди него мы ж не сможем положить данные.
Нужен какой то dummy код , который просто прыгнет по адресу бутлоадера?
Заодно и валидирует всё в соответствии с заголовком
- VladislavS
- Собутыльник Кота
- Сообщения: 2562
- Зарегистрирован: Вт май 01, 2018 19:44:47
Re: Расположение данных по нулевому адресу...
Сколько данных? В таблице векторов прерываний обычно есть пустое место, часто этого достаточно.
-
demiurg301
- Опытный кот
- Сообщения: 812
- Зарегистрирован: Ср мар 18, 2009 21:14:33
Re: Расположение данных по нулевому адресу...
[uquote="VladislavS",url="/forum/viewtopic.php?p=4381911#p4381911"]Сколько данных? В таблице векторов прерываний обычно есть пустое место, часто этого достаточно.[/uquote]
Больше килобайта. ключи , подписи, хэши.
Да и не хотелось бы это располагать в векторах.
Больше килобайта. ключи , подписи, хэши.
Да и не хотелось бы это располагать в векторах.
- VladislavS
- Собутыльник Кота
- Сообщения: 2562
- Зарегистрирован: Вт май 01, 2018 19:44:47
Re: Расположение данных по нулевому адресу...
Килобайт сразу за таблицей векторов расположить точно так же как саму таблицу векторов.
Re: Расположение данных по нулевому адресу...
Бутлоадер...
никада не работал с бутлоадер))
а эта штука работает по интернету ? или только по тупому UART ? ))
по UART не интересно...
по интернету интересно)) это можно заливать прошивку удалённо по интернету... типа как в роутере))
надо будет над этим поработать...

никада не работал с бутлоадер))
а эта штука работает по интернету ? или только по тупому UART ? ))
по UART не интересно...
по интернету интересно)) это можно заливать прошивку удалённо по интернету... типа как в роутере))
надо будет над этим поработать...
- musor
- Друг Кота
- Сообщения: 39197
- Зарегистрирован: Сб сен 13, 2014 16:27:32
- Откуда: СпиртоГонск созвездия Омега
Re: Расположение данных по нулевому адресу...
это смотря какой BOOT иногда там не толка процедура записи флеш прописана но инициализациявсех портоф и дисплея куда выводится POST но такой в 1к арядли влезет впрочем примеры таки есть в любители экзотики 512бт впихивали
ZМудрость(Опыт и выдержка) приходит с годами.
Все Ваши беды и проблемы, от недостатка знаний.
Умный и у дурака научится, а дураку и ..
Алберт Ейнштейн не поможет и ВВП не спасет.и МЧС опаздает
Все Ваши беды и проблемы, от недостатка знаний.
Умный и у дурака научится, а дураку и ..
Алберт Ейнштейн не поможет и ВВП не спасет.и МЧС опаздает
Re: Расположение данных по нулевому адресу...
[uquote="roman.com",url="/forum/viewtopic.php?p=4381938#p4381938"]...
а эта штука работает по интернету ? или только по тупому UART ? )) ...
по интернету интересно)) это можно заливать прошивку удалённо по интернету... типа как в роутере))
надо будет над этим поработать...
[/uquote]
Те же мобильные телефоны как один из примеров.
Второе - удаленное обновление ПО в модемах и для ESP...
Тут уж как угодно сделать можно. Начальному загрузчику что тырнет, что UART, что древни "проводки" - это всего лишь КАНАЛ ОБМЕНА данными. Главное чтобы МК (или самоделка) имел возможность "самоперепрошивки" ПЗУ.

а эта штука работает по интернету ? или только по тупому UART ? )) ...
по интернету интересно)) это можно заливать прошивку удалённо по интернету... типа как в роутере))
надо будет над этим поработать...
Те же мобильные телефоны как один из примеров.
Второе - удаленное обновление ПО в модемах и для ESP...
Тут уж как угодно сделать можно. Начальному загрузчику что тырнет, что UART, что древни "проводки" - это всего лишь КАНАЛ ОБМЕНА данными. Главное чтобы МК (или самоделка) имел возможность "самоперепрошивки" ПЗУ.
Re: Расположение данных по нулевому адресу...
угу )) осталось только написать... этот самозагрузчик))

- >TEHb<
- Друг Кота
- Сообщения: 5723
- Зарегистрирован: Ср ноя 11, 2009 17:19:30
- Откуда: Воронеж
- Контактная информация:
Re: Расположение данных по нулевому адресу...
Так пускай заголовок будет в файле прошивки, а при самой прошивке отрезайте его. В микроконтроллере есть процессор, который с этим справится.
"Привет!" - соврал он.
- musor
- Друг Кота
- Сообщения: 39197
- Зарегистрирован: Сб сен 13, 2014 16:27:32
- Откуда: СпиртоГонск созвездия Омега
Re: Расположение данных по нулевому адресу...
далеконе в каждом там должен быть мапинг ROM областей с возможностью заблокировать запись в бут иначе нихрена не выйдет....
ZМудрость(Опыт и выдержка) приходит с годами.
Все Ваши беды и проблемы, от недостатка знаний.
Умный и у дурака научится, а дураку и ..
Алберт Ейнштейн не поможет и ВВП не спасет.и МЧС опаздает
Все Ваши беды и проблемы, от недостатка знаний.
Умный и у дурака научится, а дураку и ..
Алберт Ейнштейн не поможет и ВВП не спасет.и МЧС опаздает
-
demiurg301
- Опытный кот
- Сообщения: 812
- Зарегистрирован: Ср мар 18, 2009 21:14:33
Re: Расположение данных по нулевому адресу...
[uquote=">TEHb<",url="/forum/viewtopic.php?p=4383707#p4383707"]Так пускай заголовок будет в файле прошивки, а при самой прошивке отрезайте его. В микроконтроллере есть процессор, который с этим справится.[/uquote]
так заголовок для бутлоадера должен идти впереди
А впереди нельзя.
Значит надо его располагать сзади.
Но тогда надо переделываться бинарь
так заголовок для бутлоадера должен идти впереди
А впереди нельзя.
Значит надо его располагать сзади.
Но тогда надо переделываться бинарь
- >TEHb<
- Друг Кота
- Сообщения: 5723
- Зарегистрирован: Ср ноя 11, 2009 17:19:30
- Откуда: Воронеж
- Контактная информация:
Re: Расположение данных по нулевому адресу...
Не, не получается у меня в толк взять. Вот есть файл с заголовками всякими. Отправляете его в микроконтроллер, тот этот файл анализирует, заголовки отбрасывает, а прошивку складывает куда надо. Что не так?
"Привет!" - соврал он.
-
demiurg301
- Опытный кот
- Сообщения: 812
- Зарегистрирован: Ср мар 18, 2009 21:14:33
Re: Расположение данных по нулевому адресу...
[uquote=">TEHb<",url="/forum/viewtopic.php?p=4385962#p4385962"]Не, не получается у меня в толк взять. Вот есть файл с заголовками всякими. Отправляете его в микроконтроллер, тот этот файл анализирует, заголовки отбрасывает, а прошивку складывает куда надо. Что не так?[/uquote]
Кто заголовок готовить будет? Прицеплять его впереди прошивки.
Кто заголовок готовить будет? Прицеплять его впереди прошивки.
- >TEHb<
- Друг Кота
- Сообщения: 5723
- Зарегистрирован: Ср ноя 11, 2009 17:19:30
- Откуда: Воронеж
- Контактная информация:
Re: Расположение данных по нулевому адресу...
Так это же совсем другая задача!
"Привет!" - соврал он.
-
demiurg301
- Опытный кот
- Сообщения: 812
- Зарегистрирован: Ср мар 18, 2009 21:14:33
Re: Расположение данных по нулевому адресу...
[uquote=">TEHb<",url="/forum/viewtopic.php?p=4385995#p4385995"]Так это же совсем другая задача![/uquote]
Это всё связанные задачи
В принципе я нашёл решение.
Для билда кастомного бинаря я испольую такой линкер.
сам бут переносит свой заголовок в конец флеша.
Все данные о прошивке уже лежат впереди бинаря.
Остаётся только посчитать CRC и добавить его в заголовок, что можно сделать чуть не вручную. В итоге сложность постбилда сокращается.
Хз, может тут и есть подводные камни...
Это всё связанные задачи
В принципе я нашёл решение.
Для билда кастомного бинаря я испольую такой линкер.
Код: Выделить всё
BOOT_HEADER_SHADOW : ORIGIN = 0x8000000 - LENGTH(_HEADER_SIZE),
BOOTLOADER_FLASH(rx) : ORIGIN = 0x8000000,
APP_HEADER_PARAM (rx) : ORIGIN = 0x8000000 + LENGTH(_BOOTLOADER_SIZE),
FIRMWARE_FLASH (rx) : ORIGIN = 0x8000000 + LENGTH(_BOOTLOADER_SIZE)+LENGTH(_HEADER_SIZE),
BOOT_HEADER_PARAM (rx) : ORIGIN = 0x8000000 + LENGTH(_ROM_SIZE) - LENGTH(_BOOTLOADER_SIZE) - LENGTH(_HEADER_SIZE),
BOOT_COPY(rx) : ORIGIN = 0x8000000 + LENGTH(_ROM_SIZE) - LENGTH(_BOOTLOADER_SIZE),
Все данные о прошивке уже лежат впереди бинаря.
Остаётся только посчитать CRC и добавить его в заголовок, что можно сделать чуть не вручную. В итоге сложность постбилда сокращается.
Хз, может тут и есть подводные камни...