TI CC2541 OAD流程

TI CC2541 提供空中升级更新运行demo,该功能其实实用性比较差,由于低功耗蓝牙传输数据的限制,无法实现快速空中升级,

在bin文件为126K的情况下本人最快的记录是2mine,如果需要楼主编写的安卓端的升级软件请单独联系。

下面来说一下具体的流程:

首先了解清楚OAD的原理:参考TI提供的官方资料可以查阅如下图


从图上可以看出,实现OAD空中升级需要有两个两端设备,左端是:“PC+USB Dongle”或“IOS”或“安卓”,楼主自己用的是自己写的安卓APP

右端就是我们要升级的目标板CC2541,途中BIM其实就是bootloader(引导码)这点有单片机开发经验的都知道,就是应道程序执行的代码。

“ImageA(代码A)”是目标板在升级之前执行的demo,改代码有一定的要求,改点在下面解释,“ImageB(代码B)“就是我们用来替代A的demo。

实际操作中的下载流程是:第一次下代码时,先通过CC Debugger下载BIM,再通过CC Debugger下载ImageA。当需要升级时,ImageA作为桥梁,通过OAD下载ImageB。

OAD原理了解清楚后,下面就来进行我们的初次OAD:

第一步:通过CC Debugger将BIM代码下载到CC2541,改代码路径为:--\Projects\ble\util\BIM\cc254x\BIM.eww,通过IAR打开编译后直接download就可以了;

第二步:编辑ImageA,1.3.2以后的版本TI的SDK已经不用再直接配置IAR,打开工程后可以直接在workspace中选择ImageA然后选择中rebuild ALL就可以了,生成的BIN文件路径为:--Projects\ble\SimpleBLEPeripheral\CC2541DB\CC2541-OAD-ImgA\Exe\SimpleBLEPeripheral.bin.在编辑A的时候需要将DEFAULT_ENABLE_UPDATE_REQUEST改为FALSE该宏在对应开发文件.c文件中,比如从机的就在SimpleBLEPeripheral.c,其他文件没有都去验证。其实A可以不需要在意BIN文件因为A可以直接通过CC Debugger下载进去。

第三步:编辑ImageB,该过程和A相同,只是B可以不需要改DEFAULT_ENABLE_UPDATE_REQUEST为FALSE,可以根据需求修改。还有就是B,必须生成BIN文件,该文件就是用来空中升级时需要写进CC2541目标板的。

第四步:在A下载进去后,让开发板正常工作,这个时候打开OAD APP,搜索并连接开发板,连接上后选择OAD功能,进入OAD画面后,选择升级目标文件。该文件就是ImageB编辑生成的BIN文件,我们的APP指定了一个特定的路径,将该文件放到该路径后,在OAD画面就可以选择到该文件,选定后点击OAD开始就可以。该过程持续时间比较长;

注释:以上过程为本人实现OAD流程,如果疑问请留言;如有错误地方欢迎大家指正。




  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值