Как прошить Nordic NRF52 с помощью ST-Link и OpenOCD

Jun 21, 2018 11:07


Originally published at Шалаш инженера. You can comment here or there.

Во-первых, понадобится собрать последнюю версию openocd из исходников:

git clone https://github.com/ntfreak/openocd.git cd openocd ./bootstrap ./configure make
По умолчанию configure включит поддержку некоторых программаторов, в том числе st-link. Если этого не произошло, значит не хватает каких-то зависимостей.

Далее, пишем скрипт:

#!/bin/sh OPENOCD=/path/to/openocd SOFTDEVICE=/path/to/nRF5_SDK_14.2.0_17b948a/components/softdevice/s132/hex/s132_nrf52_5.0.0_softdevice.hex FW=$1 [ -z "$FW" ] && (echo "No fw given!" ; exit 1) ${OPENOCD}/src/openocd \ -s ${OPENOCD}/tcl \ -f interface/stlink.cfg \ -f target/nrf52.cfg \ -c init \ -c "reset init" \ -c halt \ -c "nrf5 mass_erase" \ -c "flash write_image ${SOFTDEVICE}" \ -c "flash write_image ${FW}" \ -c reset \ -c exit
Цель для Makefile для Nordic SDK может выглядеть так:

OPENOCD := /path/to/openocd SOFTDEVICE := /path/to/nRF5_SDK_14.2.0_17b948a/components/softdevice/s132/hex/s132_nrf52_5.0.0_softdevice.hex flashst: $(OUTPUT_DIRECTORY)/nrf52832_xxaa.hex @echo Flashing: $< $(OPENOCD)/src/openocd -s $(OPENOCD)/tcl -f interface/stlink.cfg -f target/nrf52.cfg \ -c init \ -c "reset init" \ -c halt \ -c "nrf5 mass_erase" \ -c "flash write_image $(SOFTDEVICE)" \ -c "flash write_image $<" \ -c reset \ -c exit

Электроника, stlink, nrf52, openocd, nordic

Previous post Next post
Up