i have bought 3 modules from Rigado (BMD-330-A-R) with a nRF52810 SoC, is it possible to flash it with an Raspberry Pi? I read that SWD is possible by its SPI-Interface. I tried using openOCD with some patch from github for nRF52 series but there are several errors.
I also heard about nrfjtool which could do the work but i cannot find it.
Sure you can. Just connect swd and swdio to the gpio ports on the Pi. You don't need to use SPI. The process is more or less the same as for nRF52832. Which errors are you getting?
first of all when applying that patch (with git pull ...) it showed me 3 Errors instead of 2 as all the instructions say.Is it possible that nRF52 is supported at the latest openocd version? i now added my SoC specs to the nRF52.c file (at /flash/nor/), and did all that bootstrap, configure, make make install stuff. but when i run "sudo openocd", it says:
pi@raspberrypi:~/bluetooth_tests $ sudo openocdOpen On-Chip Debugger 0.10.0+dev-00382-gbe87994d-dirty (2018-04-09-07:21)Licensed under GNU GPL v2For bug reports, read openocd.org/.../bugs.htmlBCM2835 GPIO config: tck = 11, tms = 25, tdi = 10, tdo = 9BCM2835 GPIO nums: swclk = 11, swdio = 25adapter speed: 1000 kHzcortex_m reset_config sysresetreqnone separateadapter_nsrst_delay: 100adapter_nsrst_assert_width: 100Info : BCM2835 GPIO JTAG/SWD bitbang driverInfo : JTAG and SWD modes enabledInfo : clock speed 1001 kHzInfo : SWD DPIDR 0x014302b8in procedure 'init' called at file "openocd.cfg", line 12in procedure 'ocd_bouncer'
Info : Listening on port 6666 for tcl connectionsInfo : Listening on port 4444 for telnet connections^CWarn : Flash driver of nRF52810.flash does not support free_driver_priv()Warn : Flash driver of nRF52810.uicr does not support free_driver_priv()
My .cfg file looks like this:
source [find interface/raspberrypi2-native.cfg]transport select swd
set CHIPNAME nRF52810source [find target/nrf52.cfg]
adapter_nsrst_delay 100adapter_nsrst_assert_width 100
init targetsreset halt
is there maybe a tutorial for the latest version of openocd?
Edit: I followed the instructions here:https://turtlerover.com/blog/2017/08/29/wireless-programming-and-debugging-with-stm32-and-rpi/
nRF52 series should be supported in master branch of OpenOCD, but does not look like it is supported in v0.10.0. The flash driver is renamed nrf5.c. You will most likely have to add nRF52810 as a known device, using the HWID in this answer.
yes, in nrf5.c i added the device to nrf5_known_devices_table (last line):
/* nRF52832 Devices */ NRF5_DEVICE_DEF(0x00C7, "52832", "QFAA", "B0", 512), NRF5_DEVICE_DEF(0x00E6, "52810", "QFAA", "BB0", 192),
whereas 0x00E6 is the nRF52810 as described in the answer you refer to.
Is there maybe more to adapt here?
As far as I know, that should be sufficient. Is it not working when you add that?