Hi,
I'm struggling to get Buttonless DFU with bond enabled working.
Setup details:
1) SDK 14.2
2) DK board - nrf52832
3) nrfconnect app on Android phone (8.0) :
DFU settings = Pkts receipt notification procedure : ON
Number of packets : 10
MBR : 4096
Keep bond information: ON
External MCU DFU : OFF
4) Custom app with bond enabled, BLE_GAP_ADDR_TYPE_RANDOM_STATIC(C1:C1:C1:C1:C1:C1), MITM enabled,
Followed the steps to generate bootloader keys and everything seems to be fine. Flashed SD, BL, APP onto DK board and I can see the app running.
Connected nrfconnect to my custom app, paired succesfully. I can see secure DFU service with Secure buttonless DFU.
After enabling the indication, I write value "0x01" and send to switch to DFU mode. I see device moved to DFU mode but with BD addr = EA:F8:73:D2:B8:CC.
Connected nrfconnect to DfuTarg and if I try to DFU, I think device switches to my custom app and I don't see DFU happening any more.
I'm wondering what would be wrong and I believe encryption fails due to different BD address used in DFU and app mode. What am I missing?
Tried looking into Nordic blogs, dev support but could not move forward. Also, I tried to see the DFU NRF log but I don't see any log messages
All I see on power ON is
<info> µ˜°: Setting vector table to bootloader: 0x00066000
<info> µ˜°: Setting vector table to main app: 0x00023000
<info> µ˜°: Record ID: 0x0001
<info> µ˜°: File ID: 0xF020
<info> µ˜°: Record key: 0x7010
I did used \nRF5_SDK_14.2.0_17b948a\examples\dfu\bootloader_secure_ble\pca10040_debug\armgcc\Makefile with logger enabled and optimization is -O0 in makefile. I'm not sure DFU logger does not show up in RTT viewer.
Attached are the config,make files for reference.
Your help is highly appreciated.