|
|
 |
Ответов
|
Mar 14 2013, 15:30
|
Участник

Группа: Свой
Сообщений: 73
Регистрация: 13-07-06
Пользователь №: 18 791

|
Цитата(mempfis_ @ Mar 14 2013, 18:06)  Подобный маразм врятли Вы получите. Но запросто можете получить такой вариант, когда не все строки будут содержать 16 байт полезных данных. Я видел как иар спокойно генерит такие файлы. Когдато для моего бутлоадера для мега128 подобные сокращённые строки стали камнем предкновения. Выход был найден - поставил галочку fill unused memory все файлы стали генерироваться без сокращённых строк. Ещё одна проблема касающаяся файлов с размером более 64к - это наличие команд переключения страниц памяти. После такой команды адресация обычно снова начинается с нуля. Сокращенные строки не проблема, у меня обрабатываются строки любой длины. Переключение сегментов тоже работает. А вот чего нет в моем бутлоадере - это защиты от таких хитрых хексов. Вот сколько не пробовал сейчас компилировать атмеловские исходники разного размера, все время на выходе получается правильный hex файл c последовательной адресацией, без возвратов. Можно конечно сделать защиту от такого хитрого хекса, при возврате к уже записанной странице, сначала вычитывать ее, добавлять новые слова и снова записывать, но у меня память в области бута уже почти под завязку, боюсь этот код не влезет.
|
|
|
|
|
Mar 15 2013, 05:07
|
Участник

Группа: Участник
Сообщений: 45
Регистрация: 8-05-08
Пользователь №: 37 363

|
Цитата(mempfis_ @ Mar 14 2013, 22:06)  И только когда примете весь файл, проверете его целостность и приналежность к вашему устройству, только тогда можно прошивать флэш. При таком варианте даже сбои питания не страшны. Это где же столько оперативки взять, чтоб всю флэш туда вместить? Я, например, делаю так. hex-файл при помощи специально разработанной утилиты для PC компилируется в загрузочный файл с разбивкой на страницы с шифрованием (если требуется), туда добавляем информацию о принадлежности к устройству, CRC всей флэши и т.д. Затем, опять же при помощи спец утилиты, которая связывается с бутлодером контроллера и делает все необходимые проверки соответствия, содержимое флэши передаётся в контроллер постранично. Каждая страница идёт со своей собственной CRC16, проверяется бутлодером, им же расшифровывается и пишется во флэш. Другими словами, hex разбирается на большом компе, а пользователю отправляем только файл образа прошивки и маленькую утилитку.
|
|
|
|
Сообщений в этой теме
DeC_NN Вопрос по структуре hex файла Mar 14 2013, 12:22 Genadi Zawidowski Такие файлы могут встретиться. Насчёт WINAVR не ск... Mar 14 2013, 12:35 Арк К Цитата(DeC_NN @ Mar 14 2013, 16:22) При э... Mar 14 2013, 13:59    mempfis_ Цитата(Арк К @ Mar 15 2013, 09:07) Это гд... Mar 15 2013, 08:06     Арк К Цитата(mempfis_ @ Mar 15 2013, 12:06) В м... Mar 15 2013, 13:38  _Артём_ Цитата(DeC_NN @ Mar 14 2013, 17:30) А вот... Mar 14 2013, 19:11 ARV не встречал хексов с беспорядочным размещением бло... Mar 15 2013, 05:18 DeC_NN Цитата(ARV @ Mar 15 2013, 09:18) не встре... Mar 15 2013, 06:39  alag57 Цитата(DeC_NN @ Mar 15 2013, 12:39) Для a... Mar 15 2013, 14:53   DeC_NN Цитата(alag57 @ Mar 15 2013, 18:53) Вот, ... Mar 15 2013, 16:11 ARV если вы парсите хекс на большом компе, какая вам в... Mar 15 2013, 17:48
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|