This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

DFU ERR: CRC not macth

SDK:SDK15.2

softdevice:s140_nrf52_6.1.0_softdevice.hex

例如:nRF5_SDK_15.2.0_9412b96 \例子\ DFU \ secure_bootloader \ pca10056_ble \ arm5_no_packs

DFU程序运行正常,当我用ZIP包升级程序时,发生了CRC验证错误。:CRC不匹配!预计A228800E但发现614B8B7A。正在重试...(2/3)

 我使用以下命令生成zip包:

nrfutil pkg generate --hw-version 52 --application-version 0x01 --application
app.hex --sd-req 0xAE --key-file my_key.key app.zip

 

这是日志:

nRF Connect,2018-11-30
DfuTarg(C8:45:F2:20:94:93)
V 15:58:02.522连接到C8:45:F2:20:94:93 ......
D 15:58:02.522 gatt = device.connectGatt(autoConnect = false)
D 15:58:02.566 [Callback]连接状态随状态改变:0和新状态:CONNECTED(2)
I 15:58:02.566连接到C8:45:F2:20: 94:93
D 15:58:02.566等待(600ms)
D 15:58:02.584 [广播]收到的行动:android.bluetooth.device.action.ACL_CONNECTED
V 15:58:03.180发现服务......
D 15:58: 03.180 gatt.discoverServices()
D 15:58:03.495 [回调]发现状态为的服务:0
I 15:58:03.497发现的服务
V 15:58:03.516通用访问(0x1800)
- 设备名称[RW](0x2A00)
- 外观[R](0x2A01)
- 外设首选连接参数[R](0x2A04)
- 中央地址解析[R](0x2AA6)
通用属性(0x1801)
安全DFU服务(0xFE59)
- DFU数据包[WNR](8ec90002-f315 -4f60-9fb8-838830daea50)
- DFU控制点[NW](8ec90001-f315-4f60-9fb8-838830daea50)
   客户端特性配置(0x2902)
V 15:58:07.750 [DFU] DFU服务启动
V 15:58:07.750 [ DFU]打开文件...
I 15:58:07.765 [DFU]图像文件打开(总共33636个字节)
D 15:58:07.765 [DFU]等待(1000)
D 15:58:08.762 [DFU]等待(1000 )
V 15:58:09.774 [DFU]连接到DFU目标...
D 15:58:09.774 [DFU] gatt = device.connectGatt(autoConnect = false)
I 15:58:09.805 [DFU]连接到C8:45:F2:20:94:93
V 15:58:09.805 [DFU]发现服务...
D 15:58:09.805 [DFU] gatt.discoverServices()
I 15:58:10.142 [DFU]发现服务
D 15:58:10.143 [DFU]等待(1000)
V 15:58:11.148 [DFU]启用8ec90001-f315-4f60-9fb8-838830daea50
D 15:58的通知: 11.148 [DFU] gatt.setCharacteristicNotification(8ec90001-f315-4f60-9fb8-838830daea50,true)
D 15:58:11.148 [DFU] gatt.writeDescriptor(00002902-0000-1000-8000-00805f9b34fb,value = 0x01-00)
I 15:58:11.198 [DFU]写入descr.8ec90001-f315-4f60-9fb8-838830daea50的数据,值(0x):01-00
V 15:58:11.198 [DFU] 8ec90001-f315-4f60-9fb8启用通知-838830daea50
A 15:58:11.198 [DFU]启用通知
D 15:58:11.198 [DFU]等待(1000)
V 15:58:12.193 [DFU]写入特征8ec90001-f315-4f60-9fb8-838830daea50
D 15:58:12.193 [DFU] gatt.writeCharacteristic(8ec90001-f315 -4f60-9fb8-838830daea50)
I 15:58:12.249 [DFU]从8ec90001-f315-4f60-9fb8-838830daea50收到的通知,值(0x):60-06-01-00-01-00-00-00- 00-00-00-00-00-00-00
I 15:58:12.249 [DFU]写入8ec90001-f315-4f60-9fb8-838830daea50的数据,值(0x):60-06-01-00-01- 00-00-00-00-00-00-00-00-00-00
A 15:58:12.249 [DFU]收到命令对象信息(最大尺寸= 256,偏移= 0,CRC = 00000000)
V 15:58 :12.249 [DFU]写入特征8ec90001-f315-4f60-9fb8-838830daea50
D 15:58:12.249 [DFU] gatt.writeCharacteristic(8ec90001-f315-4f60-9fb8-838830daea50)
I 15:58:12.275 [DFU]从8ec90001-f315-4f60-9fb8-838830daea50收到通知,值(0x):60-02-01
I 15:58:12.275 [DFU]写入8ec90001-f315-4f60-的数据9fb8-838830daea50,值(0x):60-02-01
A 15:58:12.275 [DFU]禁用数据包接收通知(操作码= 2,值= 0)
V 15:58:12.275 [DFU]写入特征8ec90001 -f315-4f60-9fb8-838830daea50
D 15:58:12.275 [DFU] gatt.writeCharacteristic(8ec90001-f315-4f60-9fb8-838830daea50)
I 15:58:12.310 [DFU]从8ec90001-f315-4f60-9fb8收到的通知-838830daea50,值(0x):60-01-01
I 15:58:12.310 [DFU]写入8ec90001-f315-4f60-9fb8-838830daea50的数据,值(0x):60-01-01
A 15:58: 12.310 [DFU]已创建命令对象
V 15:58:12.310 [DFU]写入特征8ec90002-f315-4f60-9fb8-838830daea50
D 15:58:12.310 [DFU] gatt.writeCharacteristic(8ec90002-f315-4f60-9fb8-838830daea50)
I 15:58:12.310 [DFU]写入8ec90002-f315-4f60-9fb8-838830daea50的数据,值(0x):12-84-01-0A-3E-08-01-12-3A-08-01-10-34-1A-02 -AE-01-20-00-28
V 15:58:12.310 [DFU]写入特征8ec90002-f315-4f60-9fb8-838830daea50
D 15:58:12.310 [DFU] gatt.writeCharacteristic(8ec90002-f315-4f60- 9fb8-838830daea50)
I 15:58:12.325 [DFU]写入8ec90002-f315-4f60-9fb8-838830daea50的数据,值(0x):00-30-00-38-E4-86-02-42-24-08 -03-12-20-CC-C0-19-86-A6-33-5A
V 15:58:12.325 [DFU]写入特性8ec90002-f315-4f60-9fb8-838830daea50
D 15:58:12.325 [DFU] gatt.writeCharacteristic(8ec90002-f315-4f60-9fb8-838830daea50)
I 15:58:12.325 [DFU]写入8ec90002-f315-4f60-9fb8-838830daea50的数据,值(0x): A9-FF-5D-63-02-89-06-DF-B5-E4-2D-1F-8D-0B-2A-53-CF-B6-BA-79
V 15:58:12.325 [DFU]写入特性8ec90002-f315-4f60-9fb8-838830daea50
D 15:58:12.325 [DFU] gatt.writeCharacteristic(8ec90002-f315-4f60-9fb8-838830daea50)
I 15:58:12.325 [DFU]写入8ec90002-f315-4f60的数据-9fb8-838830daea50,值(0x):BC-79-6E-3F-62-48-00-10-00-1A-40-2D-D7-BA-0F-1A-AB-18-AD-32
V 15:58:12.325 [DFU]写入特征8ec90002-f315-4f60-9fb8-838830daea50
D 15:58:12.325 [DFU] gatt.writeCharacteristic(8ec90002-f315-4f60-9fb8-838830daea50)
I 15:58:12.325 [DFU]写入8ec90002-f315-4f60-9fb8-838830daea50的数据,值(0x):FC-22-B2-A4-6D-18-19-E2-35-EF-08-89 -1F-76-62-E3-F1-77-1D-CA
V 15:58:12.325 [DFU]写入特征8ec90002-f315-4f60-9fb8-838830daea50
D 15:58:12.325 [DFU] gatt.writeCharacteristic( 8ec90002-f315-4f60-9fb8-838830daea50)
I 15:58:12.325 [DFU]写入8ec90002-f315-4f60-9fb8-838830daea50的数据,值(0x):E2-72-5A-AC-3B-24-7D -C1-21-AA-B7-B4-AF-57-8B-EA-42-5E-7A-BB
V 15:58:12.325 [DFU]写入特征8ec90002-f315-4f60-9fb8-838830daea50
D 15: 58:12.325 [DFU] gatt.writeCharacteristic(8ec90002-f315-4f60-9fb8-838830daea50)
I 15:58:12.325 [DFU]写入8ec90002-f315-4f60-9fb8-838830daea50的数据,值(0x):FB-FC -70-99-21-0C-30-9B-42-79-75-73-F6-BA-F0
发送15:58:12.325 [DFU]命令对象(CRC = C3C55236)
V 15:58:12.325 [DFU]写入特征8ec90001-f315-4f60-9fb8-838830daea50
D 15:58:12.325 [DFU] gatt.writeCharacteristic (8ec90001-f315-4f60-9fb8-838830daea50)
I 15:58:12.408 [DFU]从8ec90001-f315-4f60-9fb8-838830daea50收到的通知,值(0x):60-03-01-87-00-00- 00-36-52-C5-C3
I 15:58:12.408 [DFU]写入8ec90001-f315-4f60-9fb8-838830daea50的数据,值(0x):60-03-01-87-00-00-00- 36-52-C5-C3
A 15:58:12.408 [DFU]收到校验和(偏移= 135,CRC = C3C55236)
V 15:58:12.408 [DFU]写入特征8ec90001-f315-4f60-9fb8-838830daea50
D 15 :58:12.408 [DFU] gatt.writeCharacteristic(8ec90001-f315-4f60-9fb8-838830daea50)
I 15:58:12.440 [DFU]写入8ec90001-f315-4f60-9fb8-838830daea50的数据,值(0x):04
I 15:58:12.440 [DFU]从8ec90001-f315-4f60-9fb8-838830daea50收到的通知,值(0x):60-04-01
A 15:58:12.440 [DFU]执行的命令对象
V 15:58:12.440 [DFU]写入特征8ec90001-f315-4f60-9fb8-838830daea50
D 15:58:12.440 [ DFU] gatt.writeCharacteristic(8ec90001-f315-4f60-9fb8-838830daea50)
I 15:58:12.490 [DFU]从8ec90001-f315-4f60-9fb8-838830daea50收到的通知,值(0x):60-06-01-00 -10-00-00-00-00-00-00-00-00-00-00
I 15:58:12.490 [DFU]写入8ec90001-f315-4f60-9fb8-838830daea50的数据,值(0x):60 -06-01-00-10-00-00-00-00-00-00-00-00-00-00
A 15:58:12.490 [DFU]收到数据对象信息(最大尺寸= 4096,偏移= 0,CRC = 00000000)
V 15:58:12.532 [DFU]写入特征8ec90001-f315-4f60-9fb8-838830daea50
D 15 :58:12.532 [DFU] gatt.writeCharacteristic(8ec90001-f315-4f60-9fb8-838830daea50)
I 15:58:12.641 [DFU]从8ec90001-f315-4f60-9fb8-838830daea50收到的通知,值(0x):60- 01-01
I 15:58:12.641 [DFU]写入8ec90001-f315-4f60-9fb8-838830daea50的数据,值(0x):60-01-01
A 15:58:12.641 [DFU]数据对象(1/9) )创建
A 15:58:12.641 [DFU]上传固件...
V 15:58:12.641 [DFU]将固件发送到特性8ec90002-f315-4f60-9fb8-838830daea50 ...
V 15:58:12.953 [DFU]写入特征8ec90001-f315-4f60-9fb8-838830daea50
D 15:58:12.953 [DFU] gatt.writeCharacteristic(8ec90001-f315-4f60-9fb8-838830daea50)
I 15:58:13.402 [DFU]从8ec90001-f315-4f60-9fb8-838830daea50收到通知,值(0x): 60-03-01-48-0E-00-00-7A-8B-4B-61
I 15:58:13.403 [DFU]写入8ec90001-f315-4f60-9fb8-838830daea50的数据,值(0x):60- 03-01-48-0E-00-00-7A-8B-4B-61
A 15:58:13.403 [DFU]收到校验和(偏移= 3656,CRC = 614B8B7A)
W 15:58:13.403 [DFU] CRC确实不匹配!预计A228800E但发现614B8B7A。重试......(2/3)
V 15:58:13.403 [DFU]写入特征8ec90001-f315-4f60-9fb8-838830daea50
D 15:58:13.403 [DFU] gatt.writeCharacteristic(8ec90001-f315-4f60-9fb8 -838830daea50)
I 15:58:13.452 [DFU]从8ec90001-f315-4f60-9fb8-838830daea50收到通知,值(0x):60-01-03
I 15:58:13.452 [DFU]写入8ec90001-f315-4f60-的数据9fb8-838830daea50,值(0x):60-01-03
E 15:58:13.452 [DFU]远程DFU错误:REMOTE DFU INVALID PARAM
V 15:58:13.452 [DFU]断开连接...
D 15:58:13.453 [DFU] gatt.disconnect()
I 15:58:13.453 [DFU]断开连接
D 15:58:13.453 [DFU] gatt.refresh()(隐藏)
D 15:58:13.453 [DFU] gatt.close()
D 15:58:13.453 [DFU]等待(600)
D 16:00:18.290 [回调]连接状态随状态改变:8且新状态:DISCONNECTED(0)
E 16:00:18.290错误8(0x8):GATT CONN超时
I 16:00:18.290断开连接
D 16:00:18.299 [广播]收到的行动:android.bluetooth.device.action.ACL_DISCONNECTED

有时DFU流程成功,但大多数都失败了。为什么?

Parents Reply
  • Hi,I use the Nrf Connect,version:4.10.0.  When I use the debug example(\nRF5_SDK_15.2.0_9412b96\nRF5_SDK_15.2.0_9412b96\examples\dfu\secure_bootloader\pca10056_ble_debug),it coubled be dfu success ,but if I disabled the log enabled (#define NRF_LOG_ENABLED 0) in debug project,it's fail. and  the nrf connect have the same log :CRC not match.

Children
Related