基于simplelink_cc2640r2_sdk_1_40_00_45,中的 simple_peripheral工程
采用CCS编译
首先导入bim_oad_offchip工程无修改,编译后生成ble5_bim_oad_offchip_cc2640r2lp_app.hex文件
然后另建工程,导入simple_peripheral工程,参考Ti文档 Add Off-chip OAD to an existing project,在simple_peripheral中添加OAD相关的内容如下:
1、添加
oad.c
oad.h
oad_target.h
oad_target_external_flash.c
2、添加
ExtFlash.c
ExtFlash.h
3、将cc26xx_app.cmd 修改为cc26xx_app_oad.cmd 路径(simplelink_cc2640r2_sdk_1_40_00_45\source\ti\ble5stack\common\cc26xx\ccs\cc26xx_app_oad.cmd)
4、Predefined Symbols中添加宏
- FEATURE_OAD
- HAL_IMAGE_E
5、Add OAD_IMG_E=1
to your –cfgArgs
6、增加post-build
7、增加相应的Linked Resources
8、编译生成ble5_simple_peripheral_cc2640r2lp_app.hex文件和ble5_simple_peripheral_cc2640r2lp_app.bin文件。
9、利用Flash Programmer 2将生成的ble5_bim_oad_offchip_cc2640r2lp_app.hex和ble5_simple_peripheral_cc2640r2lp_app.hex文件烧写到开发板。
此时开发板能够启动并广播
10、使用cc2540usb dongle,利用BLE Device Monitor连接并升级
升级成功
11、修改版本号再次编译生成新的.bin文件
12、再次通过利用BLE Device Monitor连接并升级,升级完成后校验出错,升级失败
为什么第一次成功了,第二次会失败,CRC校验错误。请问我的步骤有没有问题,以及修改的对不对?很奇怪,有的时候能够连续升级多次,然后又会出现失败,就再也不能成功了。请ti工程师帮忙指导下,被这个问题困扰多时了。谢谢
利用烧写了cc2640r2lp_host_test的btool也是一样会出现这个问题。
Alvin Chen:
看一下下面的资料:
dev.ti.com/…/node如果你用我们提供的demo 进做版本号修改测试应该是可以的。预计是在做自己的project 修改有有问题。