Dear Nordic Team,
Thanks for support.
Last two weeks i am try to BLE DFU example code. But its not work. Please Check this Thread also devzone.nordicsemi.com/.../
Anybody know this issue please support.
Dear Nordic Team,
Thanks for support.
Last two weeks i am try to BLE DFU example code. But its not work. Please Check this Thread also devzone.nordicsemi.com/.../
Anybody know this issue please support.
The DFU code does work. We've successfully compiled and used it on both 51822 and 52832 based designs. There are important aspects to remember:
The register for app_is_valid is set by the DFU code. So, once you have a soft device and DFU code loaded on an nRF solution you must successfully load the application using the BLE DFU targ interface. Once the application successfully loads then the DFU code will set the register indicating an application is installed.
If instead you just use segger and put an application in flash it will always go to DFU targ and not run the application because the register has not been set.
The other important thing to remember is that once you have DFU code on your product your application code needs to be modified so that you can take it back into DFU mode for OTA updates. Otherwise you will never be able to load app code unless you use wires and segger.
There is no need to upload application using DFU (BLE or Serial), you can load application by writing 0x01 to 0x0003fc00. The main steps using nrfjprog are: eraseall, program sd, program bl, program app, write 1 to 0x0003fc00 and run. You can go back to dfu from application just by doing NRF_POWER->GPREGRET = 0xA0; // 0xA0 or other value, as long as you read it in dfu NVIC_SystemReset(); After this you can use segger to change your application by segger (J-Link)
There is no need to upload application using DFU (BLE or Serial), you can load application by writing 0x01 to 0x0003fc00. The main steps using nrfjprog are: eraseall, program sd, program bl, program app, write 1 to 0x0003fc00 and run. You can go back to dfu from application just by doing NRF_POWER->GPREGRET = 0xA0; // 0xA0 or other value, as long as you read it in dfu NVIC_SystemReset(); After this you can use segger to change your application by segger (J-Link)