Hi,

I'm using a Black Magic Probe to program my nRF51822xxAA 16k RAM based
boards, (which all worked well with the Nordic SoftDevice and RIOT OS).
After a lot of hacking and fiddling I got the Blinky example and
Console/Shell over UART running.

The issue is that the BMP connects to the board via GDB extended-remote
mode and it seems that I don't have direct flash write access, so using the
GDB "restore" command won't work to write raw binaries to flash. Although I
can use .hex and .elf files using "load" command and .bin files with
"exec-file" command.

For the Blinky and UART to work, I used gcc objcopy to convert the
"create-image" generated .bin so the GDB accepts it (not sure if really
necessary, but it worked). And so far, I can't use the .img file. And also,
when I tried the same with more complex examples that use the BLE stack,
the board doesn't even booted.

To my understanding, the newt create-image command outputs an .img with the
bootloader sector, the sectors headers, and the two application sectors,
needed for the bootloader to properly locate, identify and load the
applications.

And my "low-level bootloader knowledge" ends here :( So the questions are:

- Are there any ways to output a single .elf or .bin file already with the
sectors headers (maybe convert the .img file) so I can load it using the
GDB extended-remote mode? Or that would require further work, like changing
the newt golang sources?



Thanks.
Other than that, really appreciate the architecture of the OS!

Reply via email to