微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI蓝牙设计交流 > CC2540软件在线升级

CC2540软件在线升级

时间:10-02 整理:3721RD 点击:

我用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,请问是怎么回事儿

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top