nrf51822 DFU 空中升级教程

使用SDK版本:nRF51_SDK_9.0.0_2e23562

  测试软件:  nrf  master

本次使用的例程为 ble_app_hrs 心率例程,路径为  \nRF51_SDK_9.0.0_2e23562\examples\ble_peripheral\ble_app_hrs\pca10028\s110_with_dfu ;

 这个实例已经添加好了dfu服务,所以不用自己再添加;实例中使用的芯片为32KB RAM的,如果用16 kb RAM 需要进行修改;

修改如下:

  由于s110 已经占用8k的ram,所以此处的ram起始地址为0x20002000,应用程序剩下的只有8K,所以就将size改为0x2000;

nrf51822 DFU 空中升级教程_第1张图片

下载程序到开发板上运行,首先下载蓝牙sofedevice,如出现错误,先将芯片进行擦除,再下载应用程序,打开软件,此时应该可以搜到蓝牙信号,连接蓝牙,此时可以

看到服务中有dfu服务,但此时进行升级会出现错误,是由于还没有烧录bootloader;




下面进行bootloader的修改和烧录:

打开例程:\nRF51_SDK_9.0.0_2e23562\examples\dfu\bootloader

编译下载:

          如果使用的是AC型号的,此时就程序就可以正常运行;但此时AA,AB发现下载的时候发现收不到蓝牙信号。此时同样要进行修改:

nrf51822 DFU 空中升级教程_第2张图片

编译下载,测试:

使用nrf  master 搜索设备:此时可以搜到 DFU的设备名字,

nrf51822 DFU 空中升级教程_第3张图片

连接:

nrf51822 DFU 空中升级教程_第4张图片

点击右上角的DFU,弹出选项框

nrf51822 DFU 空中升级教程_第5张图片

点击OK,弹出文件选择框

nrf51822 DFU 空中升级教程_第6张图片

这里选择nordic安装目录下面自带的压缩文件,确定,弹出升级进程界面

nrf51822 DFU 空中升级教程_第7张图片

升级结束后,提示断开连接

nrf51822 DFU 空中升级教程_第8张图片

此时,重新搜索蓝牙信号发现现在显示的是

nrf51822 DFU 空中升级教程_第9张图片

到这里,整个升级过程结束。

但还有一些问题,前面下载了应用程序,bootloader,softdevice,但是搜索蓝牙信号时发现应用程序没有启动,直接启动DFU程序,要想直接启动应用程序还得修改一个地方,

找到bootloader程序中的bootloader_setting.文件


修改结束!


接下来如何创建升级包:

使用的是nrfutil.exe 软件,将要升级的应用程序拷贝到同一目录下,新建批处理文件:

nrf51822 DFU 空中升级教程_第10张图片

内容如下:

nrf51822 DFU 空中升级教程_第11张图片

保存退出,双击批处理文件运行

nrf51822 DFU 空中升级教程_第12张图片





你可能感兴趣的:(NRF51822)