Hello Everyone,
I am working with nRF52832 chip on our custom board. I am using SDK 14.2 and SD v5.0.0 for development on a windows platform with Segger ES.
I am looking to include FOTA in our design but i am having troubles during runtime.
Problem:
What i have is two services, buttonless DFU and BLE NUS. I have taken the steps mentioned to have a proper integration.
1. Changed the UUID count to 2
2. added buttoness dfu service and UUID added for advertising packet
3. Increased the RAM size (using RAM_START=0x20002978, RAM_SIZE=0xEB48)
4. Bond support set to 1
Made changes to bootloader:
1. Requires bonds set to 1
Integration is completed and compiles successfully. I can see that bootloader also points to the correct address to start the application.
For testing, i am using nRF Connect App since on our application, DFU service support is not implemented yet.
What i am seeing after connection to the central are these Issues -
1. Sometimes, BLE NUS send sends error 8 -> INVALID STATE error
2. If (1) doesn't happen, then while trying to load the applicaion package for DFU, i see REMOTE DFU ERROR: OPERATION FAILED.
If i remove the buttonless DFU pieces, application runs fine.
Could you please let me know what can be the cause for issues observed above? If you would like to know more, please let me know.
UPDATE:
When i try to do DFU, here's what i see at the debug terminal:
<info> app: Received indication state 1
<info> app: Writing peer data to the bootloader
<info> app: ---------------system attribute table: 8--------------
<error> app: Request to enter bootloader mode failed asynchroneously
UPDATE 2:
Looked into the forum for the error above, found the solution to it. Link below for reference.
1. BLE NUS send sends error 8 -> INVALID STATE error on connection to nRF connect app. I am still not sure why, will keep looking. Please let me know on my leads.
Thanks a lot in advance!
SK