Используйте 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
Другие вопросы по тегам