Es hängt wirklich an der Hardware, für ein nrfjprog.
"west flash" abstrahiert das halt weg und interpoliert es aus dem ./build Ordner heraus.
Die ./build/.config Datei enthält im Prinzip alles in Klartext, ebenfalls devicetree liegt dort, anders als bei Linux ist der devicetree in Zephyr klar lesbar.
Für ein NRF aus der 52 Familie wäre es der Aufruf wie folgt.
Analog die Familie ersetzen bzw. andere Arch. eintragen.
1 |
nrfjprog -f NRF52 --reset --program rx_testapp.hex --verify --chiperase
|
Das chiperase ist optional, aber das --verify halte ich für sehr sinnvoll.
Diesen Befehl hat unsere Hardware Abteilung von mir erhalten.
Die merged.hex (Bootloader (MCUBOOT) + App + Core) habe ich einfach umbenannt.
Ohne Bootloader ist es die zephyr.hex.
Kleines Mini Flash Programm für den Test-Stand:
1 |
#!/bin/bash
|
2 |
|
3 |
nrfjprog -f nrf91 --pinreset
|
4 |
nrfjprog -f nrf91 --recover
|
5 |
|
6 |
sleep 1
|
7 |
|
8 |
#nrfjprog -f nrf91 --eraseall
|
9 |
nrfjprog -f nrf91 --erasepage 0
|
10 |
|
11 |
sleep 1
|
12 |
|
13 |
nrfjprog -f nrf91 --program <mein_hex_file.hex> --verify
|