KAGA FEI Nordic nRF52 Series BLE Module
Introduction
Revision changes of Nordic nRF52 series
Nordic’s nRF52 series is undergoing a series of revision updates to mitigate fault injection technology.
The nRF52 series is equipped with the APPROTECT function to prevent unauthorized reading of internal information. The initial state of the APPROTECT function has been changed to the following.
Nordic Chip Revision | APROTECT
initial state |
remark |
Existing Rev. | Disable | Debugging functionality is enabled |
New Rev. | Enable | Debugging functionality is disabled |
The Rev. change affects only the debugging function and does not affect other parts of the device.
Note When the APPROTECT function is enabled, data readout is disabled and debugging such as memory access is not possible.
APPROTECT function operation overview
For modules with the new Rev Nordic chip, the registers related to the APPROTECT function have been changed as follows.
APPROTECT disable | APPROTECT enable | |
Existing Rev. | UICR.APPROTECT : 0xFF | UICR.APPROTECT : 0x00 |
New Rev. | UICR.APPROTECT : 0x5A APPROTECT.DISABLE : 0x5A APPROTECT.FORCEPROTECT : other than 0x00 | Other than left column |
In addition to the UICR register of the FLASH (nonvolatile) area, the APPROTECT register of the RAM (volatile) area has been newly added, the device starts up with APPROTECT enabled right after the reset.
There are two ways to disable it.
- Set the newly established APPROTECT register in the firmware.
This cannot be used at the time of initial write. Perform module initialization using the following command. - Initialize the module with the “recover” command of nRF Command Line Tools.
For details, please refer to “4.8.2 Access port protection” in the Product Specification document for each chip on the Nordic web page.
For nRF528232, please refer to “16.2 Access port protection”.
List of module with the New Rev.
The following modules are equipped with the new Rev. Nordic chip.
[Part number of the appropriate modules]
EB2840AA2 | ED2833AA2 | ES2820AA2 |
EJ2840AA2 | EC2832AA2 | EC2811AA2 |
ED2840AA2 | ES2832AA2 | ES2811AA2 |
EB2833AA2 | EJ2832AA2 | EC2810AA2 |
EJ2833AA2 | EC2820AA2 | ES2810AA2 |
ES2805AA2 | ― | ― |
APPROTECT setting
Requirements
This manual assumes the use of the following.
- Segger Embedded Studio and NRF board support package (For installation and setup procedures, register the product according to the sheet provided when purchasing the evaluation board / evaluation KIT, and download the “SES NRF52xxx Quickstart Guidex.xxEN.pdf” for Segger Embedded Studio’s NRF quick start guide.) .
- nRF Command Line Tools (see Nordic Infocenter for details)
- VSCode (Visual Studio Code)
Note Please use the latest version of nRF Command Line Tools https://www.nordicsemi.com/Products/Development-tools/nrf-command-line-tools/download
SDK (Software Development Kit) ]
- nRF5 SDK (developing environment:SES)
- nRF Connect SDK (developing environment VSCode
How to set up the APPROTECT function
Since the new Rev. module is shipped with the APPROTECT function enabled, the firmware cannot be written as it is. The firmware cannot be written to the new Rev. target module as it is.
Please execute the following commands using nRF Command Line Tools.
nrfjprog –recover –program <xxx.hex>
This will disable the APPROTECT feature and allow you to continue writing firmware.
Issuing –recover using nRF Command Line Tools will disable APPROTECT and retained after reset.
Note The –recover command is used to completely erase the FLASH area together with the disabled setting of APPROTECT, so the –eraseall command is not necessary. When the –eraseall command is issued, the APPROTECT setting area is also erased (0xFF) , thus returning to the enabled setting.
When using software developed for an existing product as-is for a new product, please refer to “3 When using existing software”
When developing new software, please refer to “4 When developing new software”
When using existing software
- Writing with APPROTECT function enabled
- In case of the existing software is APPROTECT enabled
You can use it as is. No additional configuration is required for the write process. - In case of the existing software is APPROTECT disabled
APPROTECT setting values differ depending on nRF5 SDK.
Please check the SDK Version you are using and execute the following process.
- In case of nRF5 SDK Version 17.0.2 or earlier
The APPROTECT function is enabled and can be used without modification.
No additional configuration is required for the writing process. - In case of nRF5 SDK Version 17.1.0 or later
In case of using software with nRF5 SDK Version 17.1.0 or later, the APPROTECT function can be enabled by using the following command when writing.
nrfjprog –rbp ALL
Writing with the APPROTECT function disabled
In case of the existing software is APPROTECT enabled
It cannot be disabled only for writing process. Please refer to the procedure in “4. When developing new software,” and compile the software again using SDK Version 17.1.0 or later.
In case of the existing software is APPROTECT disabled
The APPROTECT setting varies vary depending on the nRF5 SDK used.
Please check the version and execute the following process.
- In case of nRF5 SDK Version 17.0.2 or earlier
It cannot be disabled only for writing process.
Please refer to the procedure in “4 When developing new software” and compile the software again using SDK Version 17.1.0 or later. - In case of nRF5 SDK Version 17.1.0 or later
It can be used as is. No additional configuration is required for the writing process.
When developing new software
For new software development, please use the latest nRF5 SDK/nRF Connect SDK. Please refer to the following chapters based on the development environment and settings to be used.
APPROTECT enable
SES with nRF5 SDK 17.1.0 or later
When developing with nRF5 SDK, The APPROTECT function can be enabled by setting the following.
[Procedure for enabling the APPROTECT function]
- Left-click on the SES project and click “Options…”.
- Select from the pop-up menu in the following order.
Project options -> Code -> Preprocessor Options -> Preprocessor Definitions - Add the “ENABLE_APPROTECT” define to “Preprocessor Definitions”
nRF Connect SDK 1.8.0 or later
Enable the APPROTECT function in the compile options.
Add “CONFIG_NRF_APPROTECT_LOCK=y” to the “prj.conf” file of the project.
If you are using ES2820, ES2811, ES2810, or ES2805, please select the prj_minimal.conf file.
APPROTECT disable
In nRF5 SDK Version 17.1.0 or later/nRF Connect SDK 1.8.0 or later, the process of setting the UICR register to the APPROTECT register has been added.
When writing firmware, the APPROTECT function can be disabled by setting the UICR register (0x5A) .
FAQ
- Q: How can I check if the APPROTECT function is enabled on my module?
A: You can verify the status of the APPROTECT function by checking the UICR.APPROTECT register value.
Documents / Resources
![]() |
KAGA FEI Nordic nRF52 Series BLE Module [pdf] Instruction Manual Nordic nRF52 Series BLE Module, Nordic nRF52 Series, BLE Module, Module |