已在Windows端使用Python Bleak完成对Nordic DFU升级的实现,待时间充裕时进行封装
DFU升级流程
进入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