I am having trouble with DFU. When I try to send new application via NrfConnect, device goes to bootloader, but file transfer is not starting. Only when I reconnect and try again, while device is in bootloader, transfer goes through.
DFU code for bootloader and main application is taken from ble_app_hrs.
I have seen similar errors on forums all around, but it was not helpful.
Processor is nrf51822QFAA
Softdevice: s130 v2.0.1
nrfConnect: v4.11.0 for Android
Phone/Android: Nexus 6p, 7.1.2
This is log file of nrfConnect before entering bootloader:
And this is log file of nrfConnect after reconnecting while device is in bootloader: while_in_bootloader.txt
I will appreciate any suggestion. Thank you in advance.
Which SDK version are you using?
I am using SDK 12.2.0. Programming in Keil v5
You're using the DFU button in the upper right corner to perform DFU right? You not writing to the control point characteristic manually. Furthermore, since you're using the nRF51822 QFAA, have you adjusted the IRAM settings so that they correspond to 16kB of RAM and not 32kB? (The SDK examples are designed for the QFAC variant).
Yes, I am using DFU button.
IRAM/IROM settings are as follows:
IRAM1: 0x20002800/0x1800 (noinit deselected)
IRAM1: 0x20002800/0x1780 (noinit deselected)
IRAM2: 0x20003F80/0x80 (noinit selected)
Are you sure that you're using the bootloader from SDK v12.2.0? The Secure bootloader does not have any IRAM2 section. I have attached a screenshot of the correct settings below