реклама на сайте
подробности

 
 
> Контрольная сумма в hex файле, как прописать?
AlexMad
сообщение Dec 7 2009, 14:58
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 262
Регистрация: 18-02-05
Из: SPb
Пользователь №: 2 743



Проскакивала тема, в которой про это писалось (правда там только упоминалось, что человек сумму прописывает, а как - не описывалось). Поиском тоже что-то не нашел, может, не то искал.




Суть вопроса: до недавнего времени отлаживал LPC2388 через segger-овский gdb-server на виртуальной машине. Решил разобраться с openOCD и заставить работать MT-link напрямую (в линуксе).

Так вот, если открыть hex-файл в SEGGER J-Flash, то он ругается, что нужно добавить контрольную сумму. Если отказаться и не добавлять, то прошивка не стартует. Попробовал сохранить измененный файл (с внесенной контрольной суммой). Если использовать его, то он нормально запускается и через openOCD.

То есть, надо как-то на стадии сборки проекта внести эту контрольную сумму. Вот и вопрос: как и где.




З.Ы. Использую makefile, который шел в проекте FreeRTOS. компилятор gcc version 3.4.3.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 4)
zltigo
сообщение Dec 7 2009, 15:15
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Согласно User Manual на чип. Можно руками в startup


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
AlexMad
сообщение Dec 7 2009, 22:51
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 262
Регистрация: 18-02-05
Из: SPb
Пользователь №: 2 743



Цитата(zltigo @ Dec 7 2009, 18:15) *
Согласно User Manual на чип. Можно руками в startup

Спасибо за подсказку. До этого думал, что это где-то в скрипте линкера надо указывать, потому и искал в совершенно другом направлении.

Правда остается открытым вопрос: можно ли как-то автоматизировать подсчет этой суммы. Ведь, как я понимаю, при изменении векторов в стартапе ее придется заново пересчитывать. Или автоматизм только в средах с галочками (IAR, Keil)?
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Dec 7 2009, 23:17
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(AlexMad @ Dec 8 2009, 01:51) *
Правда остается открытым вопрос: можно ли как-то автоматизировать подсчет этой суммы. Ведь, как я понимаю, при изменении векторов в стартапе ее придется заново пересчитывать. Или автоматизм только в средах с галочками (IAR, Keil)?

Проще сами вектора зафиксировать - заменить бренчи на LDR PC, [PC, #<offset>], тогда меняться ничего и не будет.
Или автоматизировать самостоятельно, окучивая бинарник маленькой консольной программкой.
Go to the top of the page
 
+Quote Post
esaulenka
сообщение Dec 10 2009, 12:54
Сообщение #5


Профессионал
*****

Группа: Свой
Сообщений: 1 032
Регистрация: 13-03-08
Из: Маськва
Пользователь №: 35 877



дошли руки до экспериментов
Код
srec_cat ^
    input.bin -binary -crop 0x00 0x14 0x18 0x20 -LECN 0x14 4 4 ^
    input.bin -binary -crop 0x20 -max input.bin -binary ^
    -o out.bin -binary


вторая строка - отрезаем от файла всё, кроме 7 векторов, считаем по ней контрольную сумму
третья строка - приклеиваем остаток файла

синтаксис виндового cmd.exe
утилиту брать тут: http://srecord.sourceforge.net/, мануал к ней - в гугле

материалы по теме wink.gif
google: srec_cat site:electronix.ru

aaarrr, идея вписать контрольную сумму в стартап замечательна, спасибо.


PS а кейл контрольную сумму в hex не вписывает, несмотря на то, что он - с галочками smile.gif

Сообщение отредактировал esaulenka - Dec 10 2009, 12:55


--------------------
Тут обсуждается творческий порыв, а не соответствие каким-либо стандартам ©
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 28th July 2025 - 11:29
Рейтинг@Mail.ru


Страница сгенерированна за 0.01378 секунд с 7
ELECTRONIX ©2004-2016