nRF52832
Ariketa nRF52832 PUZ-a daraman txartel batekin egin da. Hau nRF52 serieko potentzia txikiko, Bluetooth Low Energy (BLE) mikrokontrolatzaileen familiako unitate bat da, Nordic Semiconductor enpresak garatua.
Bere ARM Cortex-M4 prozesatzaile ahaltsuaren bidez, BLE konektibitatea darabilten smartwatch, kirol tracker eta IoT aplikazioetan erabili ohi da.
sarbide-atakaren babesa
Lehenespenez, nRF52 serieko mikrokontrolatzaileek Access port protection edo sarbide-atakaren babesa aktibaturik ekartzen dute. Hori dela eta ondorengo ohar-mezua erakusten dute ST-Link V2 egokigailu batez konektatzerakoan:
nRF52 device has a CTRL-AP dedicated to recover the device from AP lock.
A high level adapter (like a ST-Link) you are currently using cannot access
the CTRL-AP so 'nrf52_recover' command will not work.
Do not enable UICR APPROTECT.
Babes hau kendu ezean, ezinezkoa izango da mikrokontrolatzailea programatzea. Desgaitu ahal izateko, gainera, beharrezkoa da CTRL-AP(Control Access Port) ataka erabiltzea eta hori low-level edo maila-baxuko egokigailu baten bidez egitea ezinbestekoa da, J-link/Segger motakoa adibidez.
Hala ere, bada eskuragarriagoa gerta daitekeen irtenbiderik ere, Raspberry Pi bat erabiltzea!
rpi egokigailua prestatu
Raspberry Pi, Single Board Computer(SBC) edo txartel soileko ordenagailua programatzaile edo egokigailu gisan erabiltzeko hainbat dohikuntza egin behar dira. Software mailan, openocd instalatu eta konfiguratu beharko da, ondorengo urratsak jarraituz:
cd ~
sudo apt-get update
sudo apt-get install git autoconf libtool make pkg-config libusb-1.0-0 libusb-1.0-0-dev
git clone "https://review.openocd.org/openocd"
cd openocd
./bootstrap
./configure --enable-sysfsgpio --enable-bcm2835gpio
make
sudo make install
Konfiguraketa fitxategi bat sortu:
cd ~
mkdir nrf52
nano nrf52/openocd-rpi-swd.cfg
Bertan rpi egokigailuari eta helburuko nRF52832 mikrokontrolatzaileari dagozkien ezarpenak zehaztu:
#openocd-rpi-swd.cfg 2025-04-22 ar. 16:02
#nRF52832 Target
source [find interface/raspberrypi-native.cfg]
#transport
transport select swd
#settings
adapter gpio swclk 11
adapter gpio swdio 25
adapter srst delay 100
adapter srst pulse_width 100
#reset_config srst_only srst_nogate
#target
set WORKAREASIZE 0x4000
set CHIPNAME nrf52832
source [find target/nrf52.cfg]
#commands
init
targets
reset halt
Komunikaziorako GPIO pinak baliatuz 2 hariko Serial Wire Debug(SWD) protokoloa erabiliko da.
GPIO | nRF52832 |
---|---|
GND | GND |
+3.3V | VCC |
11 SCLK | SWCLK |
25 | SWDIO |
babesa desgaitu
Terminal bat irekiz mikrokontrolatzailea programazio moduan jarri:
openocd -f ~/nrf52/openocd-rpi-swd.cfg
Aldi berean, beste terminal batean telnet bidezko konexioa ezarri:
telnet localhost 4444
Ondorengo komandoek sarbide-atakaren babesa desgaituko dute:
> nrf52_recover
> nrf52832.dap apreg 1 0x04 0x01
Amaitzeko, nRF52832 txartelaren erabateko ezabatzea eragin denez, SoftDevice softwarea instalatzea gomendatzen da, honek Bluetooth Low Energy(BLE) protokoloa berrezarriko du. Beraz, txartelari dagokiona nrf52
direktorioan kokaturik dagoela ziurtatu eta flasheatu:
> flash write_image s132_nrf52_7.x.x_softdevice.hex
> reset halt
> targets
> verify_image s132_nrf52_7.x.x_softdevice.hex
> reset run
> targets
> exit
SoftDevice Nordic Semiconductor enpresak eskaintzen du nRF5 SDK-rekin batera. Iturburu-kodea ez dago publikoki eskuragarri.
Eginda! 🎉
Iturriak: devzone.nordicsemi.com, blog.dbrgn.ch, docs.nordicsemi.com-1, docs.nordicsemi.com-2, learn.adafruit.com, github.com
Comments
No comments yet. Be the first to react!