ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Вторник
22 апреля
491695 Топик полностью
SciFi (26.02.2014 14:51 - 14:54, просмотров: 365) ответил Vladimir Ljaschko на Прошу помощи, действительно тяжело дается.
По пунктам: - выделить массив и заполнить его Не очень понятно, о чём это. SRecord работает так: при загрузке HEX/SREC/BIN/etc заполняются те диапазоны, которые есть в этих файлах. Всё остальное - дырки. До загрузки - одна сплошная дыра размером 4 ГБайт. Также заполнять можно разными генераторами данных (включая генератором контрольной суммы), а не только загрузкой файлов. - прочитать туда входной hex/srec Это легко: "srec_cat infile.hex -intel -o outfile.s19 -motorola" (загрузили HEX, выгрузили SREC). Кстати, в командную строку можно вписывать длинную последовательность преобразования, но для начала я советую делать по одному преобразованию за раз, сохраняя промежуточный результат во временном файле. Временный файл может быть всего один: при новой выгрузке старое содержимое файла перетирается. - рассчитать контрольную сумму по нужному диапазону и положить в нужное место Это тоже легко: "srec_cat infile.hex -intel -crc16-big-endian 0x1234 -o outfile.s19 -motorola" (поместили сумму по адресу 0x1234). - записать выходной srec Уже сделано в предыдущем пункте. - перенести блок данных (таблица векторов) из одного места в другое место Вообще-то таблицу векторов можно разместить где надо средствами линкера. Но можно и перенести при помощи SRecord в несколько шагов: srec_cat infile.hex -intel -crop 0x8000 0x8080 -o vectors.hex -intel (сохранить таблицу векторов в отдельном файле) srec_cat infile.hex -intel -exclude 0x8000 0x8080 -o vectorless.hex -intel (сохранить всё кроме таблицы векторов в отдельном файле) srec_cat vectors.hex -intel -offset 0x1000 -o vectors.hex -intel (переместить таблицу векторов на 4 КБ вверх) srec_cat vectors.hex -intel vectorless.hex -intel -o outfile.s19 -motorola (склеить 2 файла вместе) Одной строкой (если ничего не путаю): srec_cat '(' infile.hex -intel -crop 0x8000 0x8080 -offset 0x1000 ')' '(' infile.hex -intel -exclude 0x8000 0x8080 ')' -o outfile.s19 -motorola - записать выходной srec строками s2/s3, располагая данные в строке в нужном количестве (предполагается, что загрузчик будет отправлять строки srec) srec_cat blah-blah-blah -o outfile.s19 -motorola -address-length=3 -output-block-size=16 -data-only (это не пробовал, взял опции из мануала) Кстати, мануал тут: http://srecord.sou …e.net/srecord-1.62.pdf
ส็็็็็็็็็็็็็็็็็็็็็็็็็༼ ຈل͜ຈ༽ส้้้้้้้้้้้้้้้้้้้้้้้