This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Soft Device S130 not working on NRF 51 822 QFAA__ (SDK 12.3.0)

Heloo,

I'm using NRF 51 DK and NRF 51 822 QFAA__ mcu.

Flashing the DK is fine, all of the examples are compiling and running as expected, also the modifications introduced aren't breaking anything. However, flashing the same examples do not work on NRF 51 822 QFAA__ mcu if SoftDevice S130 is being used (required).

The setup:
OS: Ubuntu 18.04
SDK: 12.3.0
Compiler: armgcc
Flashing: JLink via NRF 51 DK

Here is the flow used for flashing:
# clean the project
# build the project

# merge the compiled binary with the soft device (only for examples that do require SoftDevice)
mergehex -m ./output/nrf51822_xxaa.hex ../nRF5_SDK/components/softdevice/s130/hex/s130_nrf51_2.0.1_softdevice.hex -o ./output/nrf51822_xxaa_with_softdevice.hex

# erase the device
nrfjprog --family nRF51 -e;

# flash the device
nrfjprog --family nRF51 --program output/nrf51822_xxaa_with_softdevice.hex

# restart the device
nrfjprog --family nRF51 -r;

According to me the flashing procedure is good since examples not requireing Soft Device are working, so the issue must be somewhere in the code or the configuration. Please confirm this.

About the code:
Since the examples in SDK 12.3.0 are for the development kit and NRF 51 422 QA AC__ I did some modifications in the make file:
# TARGETS := nrf51422_xxaa
TARGETS := nrf51822_xxaa

# ASMFLAGS += -DNRF51422
ASMFLAGS += -DNRF51822

# CFLAGS += -DNRF51422
CFLAGS += -DNRF51822

etc. so the compiler is aware of the exact mcu that is being used.

With this modifications introduced, examples that do not require Soft Device (blinky blank) are compiling and running as expected, but if soft device is required then examples are not running (blinky s130).

Parents Reply Children
Related