在NORDIC的SDK中,有丰富的文档和例子介绍nrf51822的OTA升级流程。但也有两个方面的问题:
1、各部分的内容比较分散,不容易把整体流程串联起来,而且对一些参数的配置说明也不够清晰。
2、不论是在nRF51_SDK_7.1.0还是nRF51_SDK_10.0.0中,所有的实例都是以nrf51422_xxac为基础的。实际工作中还有可能用到nrf51822_xxaa这样的芯片,怎么对它们进行配置并不能找到相应的说明。
正是基于以上两个原因,才有了此文档的产生。本文首先简单的介绍了OTA升级流程;然后对升级过程中要用到的各部分配置和使用进行了详细的说明。需要指出的是:本文是以nRF51_SDK_7.1.0及7.1.0 S110 softdevice为实践基础,其它版本的SDK 和 softdevice类似。
1、NORDIC 51 OTA简介
1.1、整体流程
NORDIC 51系列的升级流程如下图所示,首先通过云端将需要升级的固件文件下发到手机APP,由手机端APP触发升级流程。
图片来源:https://www.nordicsemi.com/eng/Applications/PC-Peripherals
OTA手机端使用的APP为nRF Toolbox App,其可从NORDIC的官方网站找到下载链接,对该APP的使用不在本文的介绍之列。本文只对如何生成手机APP需要使用的ZIP文件进行介绍。同时,对于设备(nrf51芯片)需要使用的所有软件的配置也将会作为重点介绍。
进行OTA升级,nrf51芯片上必须具有softdevice, bootloader程序。完成升级之后,nrf51芯片上也会具有该芯片所真正需要功能的应用程序。接下的内容将会重点说明需要使用OTA升级的应用程序如何配置和编写必要代码,Bootloader程序如何配置和更改代码等。
1.2、Flash空间布局
在讲述本文重点内容之前,需要对nrf51 flash的布局进行一个简单的介绍。采用OTA的方案中, 256K flash的nrf51芯片有两种布局方式:
-
Dual Bank Flash布局