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会直接烧录这个固件
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函数中
屏蔽了这些
这样就可以正常使用了
3.还有些其他的错误,但是不影响使用,重新连接下就可以了