Используйте srec_cat, чтобы объединить три бинарных файла и заполнить дыры
У меня есть три двоичных файла для конкретных адресов памяти, которые я хочу объединить с srec_cat
заполняя отверстия 0xFF.
- bootloader.bin -> 0x1000
- conf.bin -> 0x8000
- app.bin -> 0x10000
Карта памяти
|- pad w/ 0xFF -|- *bootloader* ~~~ pad w/ 0xFF -|- *conf* ~~~ pad w/ 0xFF -| - *app* ~~~|
0 0x1000 0x8000 0x10000
~~~
обозначает "жидкую" границу, т.е. двоичный файл слева от него не имеет фиксированного размера.
Аргументы CLI
Я немного растерялся между −fill
, -binary
а также -offset
варианты, о которых я читал на http://srecord.sourceforge.net/man/man1/srec_examples.html. Есть ли способ сказать srec_cat
заполнить что-нибудь между 0x1000 и 0x8000, которое не занято bootloader.bin
(независимо от того, какой размер имеет.bin)?
1 ответ
Решение
Я попробовал это сам, и я верю, что это будет делать то, что вы хотите.
srec_cat bootloader.bin -Binary -offset 0x00001000 -fill 0xff 0x00000000 0x00008000 conf.bin -Binary -offset 0x00008000 -fill 0xff 0x00008000 0x00010000 app.bin -Binary -offset 0x00010000 -o combined.bin -Binary