программирование openocd NRF58240 с программным обеспечением устройства и приложениями - PullRequest
0 голосов
/ 28 октября 2018

Я пытаюсь использовать openocd (STLINK-V2) для программирования устройства nrf как с программным устройством (стек Bluetooth), так и с микропрограммой приложения (latest.hex).

Это команда, которой я являюсьиспользуя:

openocd -f interface/stlink.cfg -f target/nrf52.cfg -c init -c "reset init" -c halt -c "nrf5 mass_erase" -c "program btstack.hex verify" -c "program latest.hex verify" -c reset -c exit

Это завершается, но я не уверен, является ли это правильным способом?

Я использовал esptool.py для прошивки устройств esp, и вынужно указать адрес, на который вы хотите записать каждый шестнадцатеричный файл, но разве это не обязательно для openocd?- он знает, что делать автоматически?

Прошивка работает, но блютус не активен, и мне было интересно, перезаписывает ли второй шестнадцатеричный файл первый?

Эта команда использует программатор Segger через nrfjprog (которого у меня нет)

nrfjprog --eraseall -f nrf52 
nrfjprog --program drivers/bluetooth/s132_nrf52_6.0.0/s132_nrf52_6.0.0_softdevice.hex -f nrf52
nrfjprog --program build-pca10040-s132/firmware.hex --sectorerase -f nrf52
nrfjprog --reset -f nrf52 

И в этом есть дополнительная «--sectorerase», что именно это делает, и мне также нужнодобавить что-то похожее в мою команду openocd?

Кроме того, есть ошибка: «установите WORKAREASIZE 0», но если я установлю это как предложено, то он сообщит, что недостаточно места, и программирование займет несколько минут.

** Programming Started **
auto erase enabled
Info : Padding image section 0 at 0x00000a18 with 1512 bytes
Warn : using fast async flash loader. This is currently supported
Warn : only with ST-Link and CMSIS-DAP. If you have issues, add
Warn : "set WORKAREASIZE 0" before sourcing nrf51.cfg/nrf52.cfg to disable it
target halted due to breakpoint, current mode: Thread 
xPSR: 0x61000000 pc: 0x2000001e msp: 0xfffffffc
wrote 155648 bytes from file btstack.hex in 7.037133s (21.600 KiB/s)
** Programming Finished **
** Verify Started **
target halted due to breakpoint, current mode: Thread 
xPSR: 0x61000000 pc: 0x2000002e msp: 0xfffffffc
target halted due to breakpoint, current mode: Thread 
xPSR: 0x61000000 pc: 0x2000002e msp: 0xfffffffc
verified 151008 bytes in 0.529927s (278.281 KiB/s)
** Verified OK **
target halted due to debug-request, current mode: Thread 
xPSR: 0x01000000 pc: 0x00000998 msp: 0x20000400
** Programming Started **
auto erase enabled
Warn : using fast async flash loader. This is currently supported
Warn : only with ST-Link and CMSIS-DAP. If you have issues, add
Warn : "set WORKAREASIZE 0" before sourcing nrf51.cfg/nrf52.cfg to disable it
target halted due to breakpoint, current mode: Thread 
xPSR: 0x61000000 pc: 0x2000001e msp: 0x20000400
wrote 155648 bytes from file latest.hex in 7.042735s (21.583 KiB/s)
** Programming Finished **
** Verify Started **
target halted due to breakpoint, current mode: Thread 
xPSR: 0x61000000 pc: 0x2000002e msp: 0x20000400
verified 154652 bytes in 0.462758s (326.364 KiB/s)
** Verified OK **
...