vesago 0 12 марта, 2009 Опубликовано 12 марта, 2009 · Жалоба Прошу прощения, может не совсем в тему, хоть и проект под АРМ в кейле. Пытаюсь к прошивке прикруть загрузчик сабжем http://srecord.sourceforge.net/. Если кто нибудь исползовал как склеить два бинарника? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
richie 0 12 марта, 2009 Опубликовано 12 марта, 2009 · Жалоба Еще досовское "copy /b" чем не устраивает для склейки бинарных файлов? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vesago 0 12 марта, 2009 Опубликовано 12 марта, 2009 · Жалоба Спасибо, не знал что она бинарники может. Но хочется разобраться с SRecord. Она мощнее намного. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
haker_fox 61 12 марта, 2009 Опубликовано 12 марта, 2009 · Жалоба Еще досовское "copy /b" чем не устраивает для склейки бинарных файлов? GNU'шный инструмент может и под nix'ами юзаться) а там этой команды нет( Это на тот случай, если инструментарий гнутый... Спасибо, не знал что она бинарники может. Но хочется разобраться с SRecord. Она мощнее намного. Так на нее же прекрасная дока есть) На счет мощности +1!) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vesago 0 12 марта, 2009 Опубликовано 12 марта, 2009 · Жалоба Так на нее же прекрасная дока есть) Есть, да как-то не прокатывает - вываливаются ошибки. Может не понимаю чего. Мне бы пример скрипта глянуть. Вот вроде начало получаться. Она как я понял любит хекс на входе. Вот так склеил: 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 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Andy Great 0 12 марта, 2009 Опубликовано 12 марта, 2009 · Жалоба Есть еще hexmate from HiTech. Я как-то пробовал, но не прижилось у меня... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
HARMHARM 0 12 марта, 2009 Опубликовано 12 марта, 2009 · Жалоба Заливка дырок 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 начинал, не то... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vesago 0 13 марта, 2009 Опубликовано 13 марта, 2009 · Жалоба Спасибо за примеры. А как считается CRC32 применительно к этой утилите? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
HARMHARM 0 13 марта, 2009 Опубликовано 13 марта, 2009 · Жалоба Спасибо за примеры. А как считается CRC32 применительно к этой утилите? Как положено. Name : "CRC-32" Width : 32 Poly : 04C11DB7 Init : FFFFFFFF RefIn : True RefOut : True XorOut : FFFFFFFF Check : CBF43926 В приложении талмуд по CRC вообще. crc_v3.txt Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vesago 0 13 марта, 2009 Опубликовано 13 марта, 2009 · Жалоба Биг сэнкс Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Karloson 0 1 декабря, 2011 Опубликовано 1 декабря, 2011 · Жалоба HARMHARM, в строке "--l-e-crc32 --max" параметр --max пишет CRC по махмально возможному адресу. Как потом, в своих прогах, его находите? Он ведь плавает в зависимости от размера кода. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Karloson 0 2 декабря, 2011 Опубликовано 2 декабря, 2011 · Жалоба Сам отвечу)) В Keilе есть внутренний символ Region$$Table$$Limit, адрес этой переменой и есть последний адрес кода (как-то так)). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
HARMHARM 0 2 декабря, 2011 Опубликовано 2 декабря, 2011 · Жалоба Я располагаю в конце памяти сегмент, его адрес и использую. Точнее адрес этого сегмента кладется в константу в известном месте в заголовке приложения. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Karloson 0 6 декабря, 2011 Опубликовано 6 декабря, 2011 · Жалоба Слукавил я по поводу Region$$Table$$Limit. Правильно использовать Load$$LR$$LR_IROM1$$Limit и размер кода Load$$LR$$LR_IROM1$$Length, при условии, что скаттер файл по умолчанию (для STM32). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
yagorik 0 27 декабря, 2011 Опубликовано 27 декабря, 2011 (изменено) · Жалоба У меня возник вопрос по Srecord Мне нужно подсчитать СRC16 hex-файла к примеру от нуля до адреса DDFD(включительно) и записать контрольную сумму по адресу DDFE. Пишу так(как я понял из helpa, я плохо знаю английский :crying: ): srec_cat.exe flash.hex --Intel -crop 0 0xDDFD --l-e-crc16 0xDDFE --output flash(crc16).hex --Intel Может кто-нибудь подскажет как исправить, а то я совсем умаялся? Буду благодарен за любую оказанную помощь! Изменено 27 декабря, 2011 пользователем yagorik Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться