三、配置Image B
方法如Image A,也是选择Project→Edit Configurations,选择New…,添加Image_B,如图16. 其他的,在工程中添加文件,文件中添加代码等都已经在配置Image A时完成。
图16
其他要注意的几个地方:
1. 点击Project→Option…,或直接按Alt+F7,选择C/C++ Compiler,选择Preprocessor,将Defined symbols中的HAL_IMAGE_A改成B,见图17.
图17
2. 点击Project→Option…,或直接按Alt+F7,选择Build Actions,修改Post-build command line中的路径,改为Image_B,如图18所示。
图18
3. 点击Project→Option…,或直接按Alt+F7,选择Linker,选择Config,将Linker Configuration file中的文件改为B,如图19所示。
图19
可以编译生成Hex文件后下载,注意,配置Image B生成Hex文件这一步并不是必须的。
四、生成bin文件
这一步是非常重要的,因为空中升级,目前只支持bin文件。以Image B为例,当然,也可以是Image A.
1. 在Image B工程中,点击Project→Option…,或直接按Alt+F7,选择Linker,选择Extra Output,勾掉Override file,Output format选择simple-code,如图20所示。
图20
2. 打开之前添加的OAD_target.c文件,找到宏定义OAD_IMAGE_VERSION,将其改为0x0002(原来是0x0000),如图21所示。
图21
编译后,在EXE文件夹中会生成bin文件。
五、空中升级
有了bin文件就可以进行空中升级了,找开BLE Device Monitor,同时打开KeyFobDemo,按键广播,Monitor会扫描到KeyFobDemo,点击connect之后,在Event log中会出现:
图22
点击file,选择Progame(OAD),选择生成的bin文件,可以看到版本的不同:
图23
点击start,当进行到100%,就完成了固件空中升级。
图24
记录:
1)要把 BLE协议栈BLE-CC254x-1.4.0 安装在C盘,在其他盘符下没有生成bin文件,不知道什么原因。我的系统是win7的,不知道有没有关系。
2)IAR要用8.20版的,血的教训。我用最新的8.30的折腾好几天,没有生成bin文件。8.20版本的下载:http://supp.iar.com/Download/SW/?item=EW8051-EVAL-820 或 http://pan.baidu.com/s/1qWz0Kmo
附件是我的上下两篇博文的PDF档及TI的官方OAD的文档。
用户422101 2015-9-29 15:49
用户1208903 2015-9-25 10:53
用户1852264 2015-8-31 11:29
用户1852264 2015-8-31 11:29
飞言走笔 2015-3-27 23:25
用户1680902 2015-3-27 14:10
用户1680902 2015-3-27 09:45
飞言走笔 2015-3-27 09:21
用户1680902 2015-3-27 09:07
用户1680902 2015-3-26 14:14