基于通过手机实现对BlueNRG-1空中无线升级

基于通过手机实现对BlueNRG-1空中无线升级

1/OTA: Over The Air 空中无线升级,本文通过手机实现对BlueNRG-1的OTA代码更新。

2/需要准备工具:

1、  BlueNRG-1 demo:STEVAL-IDB007V1

2、  BlueNRG-1 SDK,例如SDK2.3.0 (请用该版本的SDK)

3、  手机安装OTA的app:ST BlueDFU

 

3/需要OTA,BlueNRG-1代码需要分为两个部分,OTA代码部分和应用代码APP部分,又可以分为两种方式实现,有备份APP和无备份APP,下面以其中一种无备份APP为例(有备份APP的操作,请看附录)。

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

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

 

4/下载OTA代码到BlueNRG-1中,打开SDK2.3.0中BLE_OTA_ResetManager 工程,选择ServiceManager Workspace,编译并下载到BlueNRG-1 demo board中。

 

5/应用代码部分User App,起始地址从0x10050000开始。打开BLE_SensorDemo或者BLE_Chat工程,并选择Use_OTA_ServiceManager Workspace,编译并生成*.bin文件,并把该*.bin文件放置到手机端。

 

6/BlueNRG-1 demo上电,手机打开ST BlueDFU app,选择生成的*.bin文件,然后连接demo,并下载,进度条到100%则OTA完成,板子自动复位,进入执行应用代码。OTA所需时间一般是2-3分钟。

7/当BlueNRG-1 flash擦空,并下载了OTA代码之后,BlueNRG-1直接进入OTA接收模式。当OTA下载完了应用代码User App之后,板子自动复位,则BlueNRG-1进入了User App运行模式,重新上电,板子仍然是User App模式,在这种情况下,如果要进入OTA模式,请按下PUSH1按键,则擦除User App代码,板子进入OTA,等待手机端*.bin文件的更新。

 

附录

 

1、上文操作了无备份的BlueNRG-1 OTA升级,这种适合于生产厂家对BlueNRG-1的OTA升级,如果产品到了终端用户手里,由用户进行OTA升级,则有备份的OTA是一种更好的方式。如下图,2K的Reset Manager是一个引导区,芯片复位后,根据标志位判断系统是跳转到Lower app 还是Higher app,Lower app 和Higher app是作为一种备份程序。这种方式,用户代码可用空间为76KB。

 

2、首先下载2K ResetManager代码到BlueNRG-1中,打开SDK2.3.0中BLE_OTA_ResetManager 工程,选择Release Workspace,编译并下载到BlueNRG-1 demo board中。

 

3、打开Lower app(此代码包含了app+OTA)工程,在SDK2.3.0的工程BLE_Chat,选择“Server_LowerApp_OTA” workspace,编译并下载到BlueNRG-1 demo board中。

 

4、打开Higher app(此代码也包含了app+OTA)工程,在SDK2.3.0的工程BLE_Chat,选择“Server_HigherApp_OTA” workspace,修改MAC address,如下图,用于区分Lower app和Higher app的不同, 编译,生成*.bin文件,放置在手机端。

 

5、BlueNRG-1 demo上电,手机打开ST BlueDFU app,选择生成的*.bin文件,然后连接demo,并下载,进度条到100%则OTA完成,板子自动复位,进入执行应用代码。OTA所需时间一般是2-3分钟。

 

6、这种有备份的方式,如果OTA过程失败,则系统继续运行原来的代码。

 需要特别注意的是:由于这是两个区域的app代码:Higher app 和Lower app,如果芯片现在运行的是Reset Manager + Lower app,则OTA更新应用的代码需要是High app,反之芯片现在运行Reset Manager + Higher app,则OTA更新的应用代码需要是Lower app。

威雅利电子 发表于08-10 13:17 浏览65535次
分享到:

已有0条评论

暂时还没有回复哟,快来抢沙发吧

添加一条新评论

只有登录用户才能评论,请先登录注册哦!

话题作者

威雅利电子
威雅利电子(上将)
金币:368个|学分:10580个
立即注册
畅学电子网,带你进入电子开发学习世界
专业电子工程技术学习交流社区,加入畅学一起充电加油吧!

x

畅学电子网订阅号