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

 
 
> Утилита SRecord
vesago
сообщение Mar 12 2009, 12:46
Сообщение #1


Тутэйшы
****

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



Прошу прощения, может не совсем в тему, хоть и проект под АРМ в кейле. Пытаюсь к прошивке прикруть загрузчик сабжем http://srecord.sourceforge.net/. Если кто нибудь исползовал как склеить два бинарника?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 14)
richie
сообщение Mar 12 2009, 12:58
Сообщение #2


Частый гость
**

Группа: Свой
Сообщений: 147
Регистрация: 5-07-04
Из: Обнинск
Пользователь №: 261



Еще досовское "copy /b" чем не устраивает для склейки бинарных файлов?
Go to the top of the page
 
+Quote Post
vesago
сообщение Mar 12 2009, 13:04
Сообщение #3


Тутэйшы
****

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



Спасибо, не знал что она бинарники может. Но хочется разобраться с SRecord. Она мощнее намного.
Go to the top of the page
 
+Quote Post
haker_fox
сообщение Mar 12 2009, 13:11
Сообщение #4


Познающий...
******

Группа: Свой
Сообщений: 2 963
Регистрация: 1-09-05
Из: г. Иркутск
Пользователь №: 8 125



Цитата(richie @ Mar 12 2009, 20:58) *
Еще досовское "copy /b" чем не устраивает для склейки бинарных файлов?

GNU'шный инструмент может и под nix'ами юзаться) а там этой команды нет(
Это на тот случай, если инструментарий гнутый...

Цитата(vesago @ Mar 12 2009, 21:04) *
Спасибо, не знал что она бинарники может. Но хочется разобраться с SRecord. Она мощнее намного.

Так на нее же прекрасная дока есть) На счет мощности +1!)


--------------------
Выбор.
Go to the top of the page
 
+Quote Post
vesago
сообщение Mar 12 2009, 13:14
Сообщение #5


Тутэйшы
****

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



Цитата(haker_fox @ Mar 12 2009, 15:11) *
Так на нее же прекрасная дока есть)

Есть, да как-то не прокатывает - вываливаются ошибки. Может не понимаю чего. Мне бы пример скрипта глянуть.
Вот вроде начало получаться. Она как я понял любит хекс на входе.
Вот так склеил:
srec_cat.exe bootloader.hex --Intel --offset 0x00 skat.hex --Intel --Output skat_app.bin --Binary
Сейчас хочу еще контрольную сумму добавить и длинну встроенного образа бута. Не получается только промежутки FF залить. Ядерная утилита. Сделал скрипт, который к прошивке подшивает бут с контрольной суммой и длинной:
Код
srec_cat.exe bootloader.hex --Intel --offset 0x04 --l-e-crc32 --min bootloader.hex --Intel --Output bootloader_and_crc32.hex --Intel

srec_cat.exe bootloader_and_crc32.hex --Intel --offset 0x04 --b-e-length --min bootloader.hex --Intel --Output bootloader_and_len_and_crc32.hex --Intel

srec_cat.exe bootloader_and_len_and_crc32.hex --Intel --offset 0x0003DFF8 skat.hex --Intel --o skat_app.hex --Intel

srec_cat.exe skat_app.hex --Intel --fill 0xFF 0x0 0x40000 --o skat_app.bin --Binary

pause
Go to the top of the page
 
+Quote Post
Andy Great
сообщение Mar 12 2009, 14:58
Сообщение #6


Знающий
****

Группа: Свой
Сообщений: 793
Регистрация: 5-11-04
Из: Краматорск, Украина
Пользователь №: 1 057



Есть еще hexmate from HiTech. Я как-то пробовал, но не прижилось у меня...
Go to the top of the page
 
+Quote Post
HARMHARM
сообщение Mar 12 2009, 17:38
Сообщение #7


читатель даташитов
****

Группа: Свой
Сообщений: 853
Регистрация: 5-11-06
Из: Днепропетровск
Пользователь №: 21 999



Заливка дырок 0xFF:
Код
srec_cat.exe application.hex --Intel --fill 0xFF -over application.hex --Intel --Output application.hex --Intel

Запись CRC в конец прошивки:
Код
srec_cat.exe application.hex --Intel --l-e-crc32 --max application.hex --Intel --Output temp.hex --Intel

Склейка прошивки с бутом, с заливкой 0xFF и сдвигом прошивки в рабочее место
Код
srec_cat.exe bootloader.hex --Intel --fill 0xFF 0x0 0x18000 application.hex --Intel --Output combined.hex --Intel

Сдвиг прошивки в рабочее место:
Код
srec_cat.exe temp.hex --Intel --offset -0x18000 --Output temp.bin --Binary

С Hexmate начинал, не то...
Go to the top of the page
 
+Quote Post
vesago
сообщение Mar 13 2009, 10:03
Сообщение #8


Тутэйшы
****

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



Спасибо за примеры. А как считается CRC32 применительно к этой утилите?
Go to the top of the page
 
+Quote Post
HARMHARM
сообщение Mar 13 2009, 10:13
Сообщение #9


читатель даташитов
****

Группа: Свой
Сообщений: 853
Регистрация: 5-11-06
Из: Днепропетровск
Пользователь №: 21 999



Цитата(vesago @ Mar 13 2009, 12:03) *
Спасибо за примеры. А как считается CRC32 применительно к этой утилите?

Как положено.
Name : "CRC-32"
Width : 32
Poly : 04C11DB7
Init : FFFFFFFF
RefIn : True
RefOut : True
XorOut : FFFFFFFF
Check : CBF43926
В приложении талмуд по CRC вообще.
Прикрепленные файлы
Прикрепленный файл  crc_v3.txt ( 87.04 килобайт ) Кол-во скачиваний: 82
 
Go to the top of the page
 
+Quote Post
vesago
сообщение Mar 13 2009, 10:20
Сообщение #10


Тутэйшы
****

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



Биг сэнкс
Go to the top of the page
 
+Quote Post
AndreyKar
сообщение Dec 1 2011, 05:00
Сообщение #11


Участник
*

Группа: Участник
Сообщений: 32
Регистрация: 17-01-07
Пользователь №: 24 508



HARMHARM, в строке "--l-e-crc32 --max" параметр --max пишет CRC по махмально возможному адресу. Как потом, в своих прогах, его находите? Он ведь плавает в зависимости от размера кода.
Go to the top of the page
 
+Quote Post
AndreyKar
сообщение Dec 2 2011, 09:34
Сообщение #12


Участник
*

Группа: Участник
Сообщений: 32
Регистрация: 17-01-07
Пользователь №: 24 508



Сам отвечу)) В Keilе есть внутренний символ Region$$Table$$Limit, адрес этой переменой и есть последний адрес кода (как-то так)).
Go to the top of the page
 
+Quote Post
HARMHARM
сообщение Dec 2 2011, 20:46
Сообщение #13


читатель даташитов
****

Группа: Свой
Сообщений: 853
Регистрация: 5-11-06
Из: Днепропетровск
Пользователь №: 21 999



Я располагаю в конце памяти сегмент, его адрес и использую. Точнее адрес этого сегмента кладется в константу в известном месте в заголовке приложения.
Go to the top of the page
 
+Quote Post
AndreyKar
сообщение Dec 6 2011, 11:49
Сообщение #14


Участник
*

Группа: Участник
Сообщений: 32
Регистрация: 17-01-07
Пользователь №: 24 508



Слукавил я по поводу Region$$Table$$Limit. Правильно использовать Load$$LR$$LR_IROM1$$Limit и размер кода Load$$LR$$LR_IROM1$$Length, при условии, что скаттер файл по умолчанию (для STM32).
Go to the top of the page
 
+Quote Post
yagorik
сообщение Dec 27 2011, 02:02
Сообщение #15





Группа: Новичок
Сообщений: 7
Регистрация: 26-12-11
Пользователь №: 69 100



У меня возник вопрос по Srecord
Мне нужно подсчитать СRC16 hex-файла к примеру от нуля до адреса DDFD(включительно) и записать контрольную сумму по адресу DDFE.
Пишу так(как я понял из helpa, я плохо знаю английский crying.gif ):
Код
srec_cat.exe flash.hex --Intel -crop 0 0xDDFD --l-e-crc16 0xDDFE --output flash(crc16).hex --Intel

Может кто-нибудь подскажет как исправить, а то я совсем умаялся?
Буду благодарен за любую оказанную помощь!

Сообщение отредактировал yagorik - Dec 27 2011, 02:04
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 21st July 2025 - 19:16
Рейтинг@Mail.ru


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