Nordic DFU升级流程

179 阅读1分钟

已在Windows端使用Python Bleak完成对Nordic DFU升级的实现,待时间充裕时进行封装

DFU升级流程

进入Bootloader

进入Bootloader

Bootloader中的处理

Setting object

Setting object to Command (Op Code = 6, Type = 1)

Command object info received (Max size = 512, Offset = 0, CRC = 00000000)

setPacketReceiptNotifications

"Sending the number of packets before notifications (Op Code = 2, Value = 0)"

Creating Init packet object

Creating Init packet object (Op Code = 1, Type = 1, Size = 142)

Sending 142 bytes of init packet...

Sending init packet (size: 142, value: 0x12-8B-01-...)

Sending Calculate Checksum command (Op Code = 3)

Checksum received (Offset = 142, CRC = 6BD98F12)

Executing init packet (Op Code = 4)

Send Firmware

Setting object to Data (Op Code = 6, Type = 2);

Data object info received (Max size = 4096, Offset = 0, CRC = 00000000)

Creating Data object (Op Code = 1, Type = 2, Size = 4096) (1/19)

Uploading firmware...

Sending Calculate Checksum command (Op Code = 3)

Checksum received (Offset = 4096, CRC = AC6360F5)

Executing data object (Op Code = 4)

Creating Data object (Op Code = 1, Type = 2, Size = 4096) (2/19)

...

Transfer of 75444 bytes has taken 16125 ms