Используйте srec_cat, чтобы объединить три двоичных файла и заполнить дыры - PullRequest
0 голосов
/ 21 ноября 2018

У меня есть три двоичных файла для определенных адресов памяти, которые я хочу объединить с 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#BINARY%20FILES. Есть ли способ указать srec_cat заполнить что-нибудь между 0x1000 и 0x8000, что не занято bootloader.bin (независимо от того, чторазмер .bin на самом деле имеет)?

1 Ответ

0 голосов
/ 22 ноября 2018

Я попробовал это сам, и я верю, что это будет делать то, что вы хотите.

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
...