Nordic Semiconductor nRF51
The Nordic Semiconductor nRF51 series are 32-bit wireless microcontrollers based on the Arm® Cortex®-M0 processor.
Flash Banks
Flash Bank | Base address | Size | J-Link Support |
---|---|---|---|
Internal Flash | 0x00000000 | Up to 256 KB | ![]() |
UICR | 0x10001000 | 1024 Bytes | ![]() |
Watchdog Handling
The device has a watchdog that is fed during flash programming.
Device Specific Handling
Connect
Protection level is checked on connect. If the device is secured, J-Link will ask to unsecure the device by mass erase.
Reset
The device uses Cortex-M Core reset, no special handling necessary, like described here.
SWDIO behavior on early batches
The SWDIO line on the nRF51822 series can be configured to also function as a reset pin if the SWDIO line is pulled LOW for more than 100us. After power on, the device is in normal mode where the reset functionality of the pin is enabled. As soon as activity on the SWCLK line is recognized, the device will enter debug interface mode where the reset functionality of SWDIO is disabled. For further information about the different modes, please refer to the reference manual of the device. On early batches of the nRF51822 series, the reset functionality was not correctly disabled when entering debug interface mode.
To check if a specific device is affected, the device printing needs to be checked. It is of the following format:
N51822 xxxxxx yyzzxx x = do not care y = Year or production zz = week of production
Devices produced before yy = 12, zz = 30 are affected by this problem.
Using J-Link SWD Isolator
As the J-Link SWD Isolator can only keep the last level of the SWDIO pin that was driven by one side, SWDIO may stay 0 between SWD sequences. This makes it impossible to use the J-Link SWD Isolator with these early batches of the device. Unfortunately, it is also not possible to disable the pin reset functionality manually on these early devices. Only devices produced at yy = 12, zz = 30 or later can be used with the J-Link SWD Isolator. Some very early devices do not even have N1822 or any date code on them. These are also affected by the pin reset problem.
Debugging
Debugging on affected devices is only possible without using a J-Link SWD Isolator and when selecting the proper device in the debugger. Specifying the core only (Cortex-M0) won't work!