52840 usb dongle

一  简介

52840 usb dongle 踩了一些坑,不算太多,因为刚开始研究,这里记录下,以防忘记

二    实验平台

SDK版本:nRF5SDK153059ac345

编译软件:SEGGER Embedded Studio for ARM 4.30a

                  keil5.28

三  背景介绍 

nordic新出了52840 usb dongle需要研究下

SEGGER Embedded Studio for ARM 4.30a

这个编译器是nordic为使用nordic产品用户定制的编译器

不要使用qq邮箱,qq邮箱不能收到邮件。因为要使用邮箱获取license,完全免费。

keil也可以用

dongle 使用的是openbootloader程序,配合nrf_connect 使用usb升级程序

 

四  踩过的坑

1.52840烧录boot为什么没反应,没log?

果断在程序开始部分加了一个led初始化并亮灯,结果没有用

后来才知道 

没有烧录MBR,固件在X:\nRF5SDK153059ac345\nRF5_SDK_15.3.0_59ac345\components\softdevice\mbr\nrf52840

 keil不会直接烧录这个程序,SEGGER Embedded Studio会直接烧录这个固件

52840 usb dongle

2.为什么boot使用nRF Connect 不能升级?

升级的时候显示错误代码

ERROR Error while setting up device DF808B69F2F0: Error message for known response code from DFU target: The data object didn't match firmware/hardware, or missing crypto signature, or malformed protocol buffer, or command parse failed.

硬件没有问题,我感觉是缺少加密签名。因为nordic蓝牙在12.3开始使用了加密的boot,要使用私匙验证

具体这里不解释

于是找了加密验证部分代码,屏蔽验证就可以了。在nrf_dfu_validation_signature_check函数中

屏蔽了这些

52840 usb dongle

这样就可以正常使用了

3.还有些其他的错误,但是不影响使用,重新连接下就可以了