原创 TI蓝牙BLE空中固件升级(OAD)(上)

2015-9-21 16:08 10665 13 15 分类: MCU/ 嵌入式 文集: CC254x蓝牙BLE4.0协议栈学习笔记

TI的BLE支持空中固件升级,这是一个非常有意思的功能。今天我尝试了一下,下面把过程整理一下。

这是TI官方的视频,我基本就是照这个视频整理的。

上:http://focus.ti.com/cn/general/docs/video/Portal.tsp?entryid=0_nfn3dztm&lang=cn

下:http://focus.ti.com/cn/general/docs/video/Portal.tsp?entryid=0_0tlarhms&lang=cn

 

硬件平台:TIBLE开发套件 CC2541 Mini Development Kit,包括CC-DebuggerUSB DongleCC2541 Keyfob Demo

软件环境:IAR Embedded Workbench for 8051 IDE V8.20.2TIBLE Device Monitor V1.1.3,同时安装TIBLE协议栈BLE-CC254x-1.4.0.

 

一:配置BIMBoot Image Manger

打开IAR,打开BLE-CC254x-1.4.0下的工程C:\Texas Instruments\BLE-CC254x-1.4.0\Projects\ble\util\BIM\cc254x\BIM.eww,然后编译,下载到Keyfob Demo中。

20140312194132132001.png

1

二、配置Image A

1. IAR中,选择ProjectEdit Configurations,选择New…,如图2所示,添加一个新的配置,起名就叫Image_A,点击OK,这时IAR界面的左边导航部分,就变成Image_A了,如图3

 

 20140312194140965002.png

2

20140312194147932003.png

3

2. IAR中左侧导航中,找到App文件夹下的keyfobdemo.c文件,双击打开,找到宏定义DEFAULT_ENABLE_UPDATE_REQUEST,将其改为FALSE(原来是TRUE),见图4。否则会影响BLE Device Monitor对其进行空中升级,到时可以再改回来。

20140312194155491004.png

4

3. IAR左侧导航中找到Profile文件夹,点击右键添加oad_target.coad_target.h两个文件,见图5,二文件位于C:\Texas Instruments\BLE-CC254x-1.4.0\Projects\ble\Profiles\OAD中。

20140312194200258005.png

5

4. IAR导航中找到HALTargetCC2540EBDriver,右键添加文件hal_crc.c,见图6,该文件位于C:\Texas Instruments\BLE-CC254x-1.4.0\Components\hal\target\CC2540EB中。

20140312194208333006.png

6

5. 在刚才的keyfobdemo.c文件中,找到KeyFobApp_Init()函数,在里面添加OADTarget_AddService()函数,见图7.

20140312194226478007.png

7

6. keyfobdemo.c的前面,添加引用OAD的头文件,OAD.hOAD_target.h,见图8.

20140312194235610008.png

8

7. 点击ProjectOption…,或直接按Alt+F7,选择C/C++ Compiler,选择Preprocessor,在Additional include directories中添加路径$PROJ_DIR$\..\..\Profiles\OAD,在Defined symbols中添加:

FEATURE_OAD

OAD_KEEP_NV_PAGES

FEATURE_OAD_BIM

HAL_IMAGE_A

20140312194243372009.png

9

8. 点击ProjectOption…,或直接按Alt+F7,选择Build Actions,在Post-build command line中添加:

"$PROJ_DIR$\..\..\common\CC2540\cc254x_ubl_pp.bat" "$PROJ_DIRquot; "ProdUBL" "$PROJ_DIR$\Image_A\Exe\KeyFobDemo"

注意,各双引号之间只有一个空格。见图10. 注意图中红框标的部分,Image_A是和之前第1步对应的。

20140312194250972010.png

10

9. 点击ProjectOption…,或直接按Alt+F7,选择Linker,选择ConfigLinker Configurationfile中勾选Override default,添加C:\Texas Instruments\BLE-CC254x-1.4.0\Projects\ble\common\cc2540\cc254x_f256_imgA.xcl,如图11.

20140312194257260011.png

11

10. 点击ProjectOption…,或直接按Alt+F7,选择Linker,选择Output,按图12进行设置。

20140312194304797012.png

12

11. 点击ProjectOption…,或直接按Alt+F7,选择Linker,选择Extra Output,勾选Override fileOutput format选择Intel-Extended,如图13所示。

20140312194312144013.png

13

12. 点击ProjectOption…,或直接按Alt+F7,选择Texas Instruments,选择Download,去掉Erase flash,如图14所示。

20140312194319853014.png

14

13. 编译,下载板子中,编译时可能会出现如图15所示的脚本错误,忽略即可。

20140312194326215015.png

15

 

文章评论2条评论)

登录后参与讨论

用户377235 2014-11-6 14:55

有没有可以做空中升级的CC2541程序啊

379878003_830807656 2014-3-15 10:13

有点意思!
相关推荐阅读
飞言走笔 2017-01-06 21:56
2017,新的博客旅程
EDNChina 改版终于成功了!祝贺! 2017年,开始新的旅程~ ...
飞言走笔 2016-06-01 10:17
【博客大赛】《白鹿原》读后
《白鹿原》这本书已经买了很久,多次以来,都是只翻看几页,顶多几章就放下了,觉得这是一个大部头,得有足够的时间才行。前几天陈忠实先生去世的消息传来,让我很震惊和惭愧。 一口气读完这本书,畅快淋漓,又意...
飞言走笔 2016-03-26 16:42
【博客大赛】《毛斯朝》读后
这本书最早是在凤凰卫视曾子墨主持的一期关于沈志华先生的《世纪大讲堂》节目中知晓的。但是一直拖到今天才读完。 说实话,书的主要内容与当前官方的宣传口径有很多不一致的地方,而沈先生作为中国掌握苏联档...
飞言走笔 2016-03-08 13:46
【博客大赛】蓝牙4.0低功耗技术及其认证要求
详见附件 ...
飞言走笔 2016-02-02 14:20
【转】蓝牙4.0协议官方手册(一)——通用属性配置文件
转自:http://blog.csdn.net/jinzhichaoshuiping/article/details/43370009 通用属性配置文件 (GATT)——该说明书定义了通用属性配置...
飞言走笔 2016-01-31 23:24
【博客大赛】脑洞大开、三观重塑——《人类简史》读后
终于读完了《人类简史》,没有把这本书拖到二月份,这也是2016年读完的第一本书。之前也有所耳闻,但是没有太在意,倒是罗胖子的跨年演讲上偶然提到,不知怎么就勾起了阅读此书的欲望。 本文的标题用了“脑洞...
我要评论
2
13
关闭 站长推荐上一条 /2 下一条