更改

跳转至: 导航搜索

NRF52832DK-DFU固件升级教程

添加1,888字节2020年1月7日 (二) 16:10
存储空间布局(Memory layout)
下图展现了nRF52系列器件的默认空间分配。nRF52832有512kB flash大小,nRF52840有1024kB flash大小,nRF52810有192kB flash大小。
[[文件:Bootloader memory nrf52.png|居中|缩略图|963x963像素|Memory layout for nRF52]]
 
=== 实验前准备 ===
关与DFU流程(nrf_dfu)与DFU协议(nrf_dfu_transport)这里不在详细说明,有兴趣的开发者可以自行查看Nordic的官方文档,可以在谷雨NRF52832DK评估板的资料中下载Noridc的SDK离线文档(推荐,目前最新为nRF5_SDK_15.2.0_offline_doc)。
 
接下来的说明与操作都基于DFU的secure bootloader中以ble为传输方式的bootloader。其位于Nordic SDK安装路径下/nRF5_SDK_15.2.0_9412B96/examples/dfu/secure_bootloader/pca_10040_ble。开发者安装不同版本的SDK可能会有所差异。
[[文件:Secure bootloader.png|居中|缩略图|609x609像素]]
在secure bootloader目录下有多个bootloader工程,这里我们使用pca10040_ble(S132),而pca_10056_ble是S140,RF52832器件不支持S140的SoftDevice。
 
==== 辅助工具安装 ====
SDK112以后,DUF功能对升级文件进行了ECDSA签名加密,防止误升级未授权的程序。而Nordic使用micro-ecc开源软件实现ECDSA。
 
开发者初次安装SDK时,在SDK中是没有micro-ecc源码的,需要开发者去github上下载。如果开发都没有下载micro_ecc源码,则在编译bootloader时,编译器会报各种错误。主要有两个方面的如下:
{| class="wikitable"
|+
!错误内容
!原因
|-
|Fatal Error[Pe035]: #error directive: "Debug public key not valid for production.
Please see <nowiki>https://github.com/NordicSemiconductor/pc-nrfutil/blob/master/README.md</nowiki> to generate it"
|没有有效的签名公钥
|-
|各种与micro-ecc的头文件:uECC.h等
|没有micro-ecc源码
|}
 
===== git安装 =====
micro-ecc是外部开源软件,所以在Nordic的SDK中放到的协议栈目录下的external目录下。在external目录下,开发者会发现有一个micro-ecc目录。进入micro-ecc目录后,确定没有相应的源码,只有不同编译平台链接相关文件。
 
[[分类:NRF52832DK]]
[[分类:实验手册]]
119
个编辑

本PDF由谷雨文档中心自动生成,点击下方链接阅读最新内容。

取自“http://doc.iotxx.com/特殊:移动版差异/2613

导航菜单