CC2540软件在线升级
我用CC2540实现了2块板子之间的在线升级功能。但是我想要用手机给板子升级,现在面临如下问题:
1.有没有手机给板子程序升级的DEMO(像板子间升级程序OADManager一样)。
2.OADManager是怎么实现升级过程的,我在其中没有找到发送数据到从机的函数,并且我在从机程序中也没找到接收函数。
我们普遍升级思维是:主机和从机建立连接,主机检测到从机准备好系统升级,主机发新版本给从机,从机接收并存储,待接收完毕,从机重启系统,跳到新程序运行。这样理解正确么?可为什么数据通讯过程找不到。
Hi asdfe,
TI的CC254x 的 wiki 上有手机上做OAD的demo, 包括源码, 还有文档.
手机源码包括了iOS 和 Android 4.3的, 如果你用的是Android 4.3 之前的版本, 也可以参照4.3 的流程移植到之前版本.
OAD指导文档: http://processors.wiki.ti.com/index.php/OAD
源码是以CC2541 SensorTag 为实例, 但是过程是完全一模一样的, OAD的源码都包含在SensorTag的iOS app 和Android App的源码里面:
iOS : http://processors.wiki.ti.com/index.php/Bluetooth_SensorTag?INTC=SensorTag&HQS=sensortag-wiki#SensorTag_enabled_iOS_apps
Android: http://processors.wiki.ti.com/index.php/Bluetooth_SensorTag?INTC=SensorTag&HQS=sensortag-wiki#Android
另外, 大image OAD :http://processors.wiki.ti.com/index.php/BLE_Large_Image_OAD
HI yan:
你所指的OAD文档我看过,就是没看懂里面的具体升级过程,我不知道在程序中是怎么实现的。他是有独立的OAD封装模块?还是用手机一包一包发送数据到设备,但是我没看到发送过程。
Hi asdfe,
是手机端以一个block, 一个block的形式发过去的, 具体那个文档里面有非常详细的介绍的.
在CC2541端有独立的OAD模块, 你需要添加到你的代码里去, 指导里面有说如何添加.
手机端没有独立模块, 只有App.
HI yan:
我看了文档,也试过在线升级。据我观察,在线升级方式为我本身运行的A程序,然后在线下载B程序,然后我系统会自动开始运行B程序,下次我要系统更新时就以B程序为升级程序下载A程序,下载完后我就运行新的A程序。我这样理解对么?
在CC2541端有独立的OAD模块你指的是oad_target文件吧?他是需要添加到有系统蓝牙连接功能的程序才能实现在线功能?我现在想要其中的A程序只有在线升级功能,当正常运行时运行B程序,当需要系统升级时,启动A程序,对B程序进行升级,然后运行B程序。这个过程可行么?文档里面没看到这个过程。
A程序里面写B程序 B程序里面写A程序
启动的话最好是复位再启动
我看里面还有一种更好的方法是A只做OAD用,一直有A更新B,有这样的demo么?
请参考一下这个demo:
http://processors.wiki.ti.com/index.php/BLE_Large_Image_OAD
Yan:
請教一下,若是以Large Image OAD之image A and image B的方式,那每次要進行OAD前,是否皆要reset CC2541呢?可是reset後,BIM不是馬上會去執行image B嗎?而image B又無OAD,那reset後,BIM要如何去執行image A?以進行OAD呢?
我也有同样的问题。
http://processors.wiki.ti.com/index.php/BLE_Large_Image_OAD
按照这篇文章,升级完Image B 后如何再次进行升级呢?这个时候已经是一直在没有包含OAD功能的ImageB了啊
请参考 http://processors.wiki.ti.com/index.php/BLE_Large_Image_OAD#Update_ImageB_Again
可以在BIM中找到切换运行image的代码,使用这个代码就可以从B切回A,然后进入OAD模式,这样一直都可以对imageB进行更新。
Hi Yan,
http://processors.wiki.ti.com/index.php/Bluetooth_SensorTag?INTC=SensorTag&HQS=sensortag-wiki#SensorTag_enabled_iOS_apps
我在这个链接看到只是一些IOS上的app,并没有什么源码?
您好,请问如何能够找到带OAD功能的IOS APP的源码呢?谢谢
iOS OAD 升级你解决了吗
之前有一阵下架了IOS sensortag的源码,现在可以下载了,其中有OAD的内容,可以参考: https://git.ti.com/sensortag-ios-source-code-example/?OrderOnline=更多信息&TICOM_AUTHLEVEL=3&TICOM_VALIDATE_INPUT=1
你好,iOS代码不能运行,缺少文件MQTTKit.h,请问是怎么回事儿