NOTE: BMDware is no longer actively developed. Please refer to this article for more information.
Read-back protection was enabled at the factory on modules with firmware version AA and AB that are not part of an eval board. As of March 2017, modules are programmed with firmware version AD and AE which do not enable read-back protection.
Read-back protection protects the pre-programmed bootloader (RigDFU), firmware (BMDware), the Nordic SoftDevice (S132 v2), plus any encryption keys that you may program. If the SWD port is required, the module must be "recovered" which results in a full erase of the firmware and user areas of flash.
RigDFU UART and OTA updates are not affected and may be used without the procedures below.
A Segger J-Link is required in order to perform the recovery as it accesses a control access point (CTRL-AP) as opposed to the traditional debug access point (D-AP). The BMD-300-EVAL J3 can be used for this purpose on target hardware. (Refer to section 5.6 of the BMD-300-EVAL user guide)
You can recover the module in one of the following ways:
- Run the Rigado BMD-300 Erase & Recovery utility found in our github “programmers” repository.
- From command prompt:
- Ensure the Nordic Command Line Tools are installed.
- Run: nrfjprog -f nrf52 –-recover
Note: The BMD-3xx-Eval board debug connector is for external targets only, and limited to nRF51 (BMD-200) and nRF52 (BMD-3xx) designs. J2 on the Eval board is for programming the J-Link interface itself. The full design files for the BMD-3xx-EVAL boards are here.
Note: Programmers such as OpenOCD and PE Micro do not have commands to access the CTRL-AP and cannot be used for the erase and recovery operation when read-back protection is enabled.