Mam trzy binaria dla konkretnych adresów pamięci, które chcę połączyć z srec_cat wypełnianiem dziur 0xFF.

  • bootloader.bin —> 0x1000
  • konf.bin —> 0x8000
  • ok.bin —> 0x10000

Mapa pamięci

|- pad w/ 0xFF -|- *bootloader* ~~~ pad w/ 0xFF -|- *conf* ~~~ pad w/ 0xFF -| - *app* ~~~|
0            0x1000                           0x8000                    0x10000

~~~ oznacza „płynną” granicę, tj. binarny po lewej stronie nie ma stałego rozmiaru.

Argumenty CLI

Jestem trochę zagubiony między opcjami −fill, -binary i -offset, o których czytałem na http://srecord.sourceforge.net/man/man1/srec_examples.html#BINARY%20FILES. Czy istnieje sposób, aby powiedzieć srec_cat, aby wypełnił wszystko z zakresu od 0x1000 do 0x8000, co nie jest zajmowane przez bootloader.bin (niezależnie od tego, jaki rozmiar faktycznie ma .bin)?

1
Marcel Stör 21 listopad 2018, 16:38

1 odpowiedź

Najlepsza odpowiedź

Sam tego próbowałem i wierzę, że zrobi to, czego chcesz.

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
2
kkrambo 22 listopad 2018, 01:58