This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Experimental Buttonless dfu on PCA10028: Bootloader not starting

Hi Everybody!

I'm trying to integrate a buttonless dfu into my application but I'm not able to get even the provided example in SDK 12.2.0 "experimental_ble_app_buttonless_dfu" to work.

I compiled the "bootloader_secure" with armgcc and flashed it onto my PCA10028, using a public key generated by nrfutils as instructed.

Then I compiled experimental_ble_app_buttonless_dfu (had to change the linker script according to this), generated a zip update package again using the key previously generated.

On my Android Phone using nRFconnect I can see the DfuTarg and can upload the firmware.

After that, Nordic_Template will show up in the scanner, broadcasting the Experimental Buttonless DFU Service as promised.

If I try now to again send the same update zip file OTA something goes wrong: The screen with the speed diagram appears, under that I read first "Initialising..." then "Starting DFU..." then "Starting Bootloader...". But after that nothing happens

Here is the log from the Android App:

V	14:21:35.753	Generic Access (0x1800)
- Device Name [R W] (0x2A00)
- Appearance [R] (0x2A01)
- Peripheral Preferred Connection Parameters [R] (0x2A04)
Generic Attribute (0x1801)
Experimental Buttonless DFU Service (8e400001-f315-4f60-9fb8-838830daea50)
- Experimental Buttonless DFU [N] (8e400001-f315-4f60-9fb8-838830daea50)
Client Characteristic Configuration (0x2902)
V	14:23:05.900	[DFU] DFU service started
V	14:23:05.914	[DFU] Opening file...
I	14:23:05.924	[DFU] Image file opened (45756 bytes in total)
D	14:23:05.933	[DFU] wait(1000)
D	14:23:06.858	[DFU] wait(1000)
V	14:23:07.863	[DFU] Connecting to DFU target...
D	14:23:07.880	[DFU] gatt = device.connectGatt(autoConnect = false)
I	14:23:07.889	[DFU] Connected to E0:43:DF:2F:63:BC
V	14:23:07.899	[DFU] Discovering services...
D	14:23:07.909	[DFU] gatt.discoverServices()
I	14:23:07.923	[DFU] Services discovered
D	14:23:07.935	[DFU] wait(1000)
W	14:23:08.890	[DFU] Application with buttonless update found
V	14:23:08.915	[DFU] Jumping to the DFU Bootloader...
V	14:23:08.929	[DFU] Enabling notifications for 8e400001-f315-4f60-9fb8-838830daea50
D	14:23:08.938	[DFU] gatt.setCharacteristicNotification(8e400001-f315-4f60-9fb8-838830daea50, true)
D	14:23:08.956	[DFU] gatt.writeDescriptor(00002902-0000-1000-8000-00805f9b34fb, value=0x01-00)
I	14:23:09.328	[DFU] Data written to descr.8e400001-f315-4f60-9fb8-838830daea50, value (0x): 01-00
V	14:23:09.344	[DFU] Notifications enabled for 8e400001-f315-4f60-9fb8-838830daea50
A	14:23:09.353	[DFU] Notifications enabled
D	14:23:09.362	[DFU] wait(1000)
V	14:23:10.376	[DFU] Writing to characteristic 8e400001-f315-4f60-9fb8-838830daea50
D	14:23:10.394	[DFU] gatt.writeCharacteristic(8e400001-f315-4f60-9fb8-838830daea50)

I know, that this is experimental and not supported yet. But could you give me a pointer were to look next?

Best Regards, Philip

Parents Reply Children
No Data
Related