跳转到主要内容

一步步教你BlueNRG-1的OTA

1、 OTA Over The Air 空间无线升级,本文通过手机实现对BlueNRG-1的OTA代码更新。
<center><img src="http://mcu.eetrend.com/files/2017-06/wen_zhang_/100006570-20440-11.jpg&…; alt="一步步教你BlueNRG-1的OTA"></center>
2、 需要准备工具:
1、 BlueNRG-1 demo:STEVAL-IDB007V1
2、 BlueNRG-1 SDK,例如SDK2.3.0
3、 手机安装OTA的app:ST BlueDFU

3、需要OTA,BlueNRG-1代码需要分为两个部分,OTA代码部分和应用代码APP部分,又可以分为两种方式实现,下面以其中一种为例:

OTA代码部分:只含OTA部分,不含应用层,占用2+56=58KB代码,在flash:0x10040000-0x1004E800中 这部分代码需要先下载到BlueNRG-1中

APP应用代码:用户代码User App,从0x10050000地址开始。通过OTA升级的代码,可用空间98KB

<center><img width="600" src="http://mcu.eetrend.com/files/2017-06/wen_zhang_/100006570-20441-12.jpg&…; alt="一步步教你BlueNRG-1的OTA"></center>
4、 下载OTA代码到BlueNRG-1中,打开SDK2.3.0中BLE_OTA_ResetManager工程,选择ServiceManager Workspace,编译并下载到BlueNRG-1demo board中

<center><img width="600" src="http://mcu.eetrend.com/files/2017-06/wen_zhang_/100006570-20442-13.jpg&…; alt="一步步教你BlueNRG-1的OTA"></center>
5、应用代码部分UserApp,起始地址从0x10050000开始。打开BLE_SensorDemo或者BLE_Chat工程,并选择Use_OTA_ServiceManager Workspace,编译并生成*.bin文件,并把该*.bin文件放置到手机端
<center><img width="600" src="http://mcu.eetrend.com/files/2017-06/wen_zhang_/100006570-20443-14.jpg&…; alt="一步步教你BlueNRG-1的OTA"></center>

6、BlueNRG-1 demo上电,手机打开ST BlueDFU app,选择生成的*.bin文件,然后连接demo,并下载,进度条到100%则OTA完成,板子自动复位,进入执行应用代码。OTA所需时间一般是2-3分钟。
<center><img width="600" src="http://mcu.eetrend.com/files/2017-06/wen_zhang_/100006570-20444-15.jpg&…; alt="一步步教你BlueNRG-1的OTA"></center>
7、 当BlueNRG-1flash擦空,并下载了OTA代码之后,BlueNRG-1直接进入OTA接收模式。当OTA下载完了应用代码User App之后,板子自动复位,则BlueNRG-1进入了User App运行模式,重新上电,板子仍然是User App模式,在这种情况下,如果要进入OTA模式,请按下PUSH1按键,则擦除User App代码,板子进入OTA,等待手机端*.bin文件的更新。

<br>

转自: <a href="http://bbs.eeworld.com.cn/thread-527759-1-1.html">电子工程世界</a&gt;