【BLE】TI CC2640R2F片内OAD实验

一、概述

此文档用以记录CC2640R2F的片内OAD实验操作步骤

二、准备

名称 内容
SDK版本 simplelink_cc2640r2_sdk_1_30_00_25
硬件平台 CC2640R2F launchpad开发板
参考文档 simplelink_cc2640r2_sdk_1_30_00_25/docs/blestack/ble_sw_dev_guide/html/oad/oad.html

片内OAD,芯片内部flash的分布如下(找不到CC2640R2F的,用CC2640的代替):
【BLE】TI CC2640R2F片内OAD实验
具备OAD功能须包含以下固件

名称 标识 说明
协议栈 stack
启动文件 bim
升级程序 target image A
用户程序 application image B

【BLE】TI CC2640R2F片内OAD实验

三、操作步骤

3.1、打开bim_oad_onchip工程并翻译,在simplelink_cc2640r2_sdk_1_30_00_25\examples\rtos\CC2640R2_LAUNCHXL\blestack\bim_oad_onchip。

2.2、打开oad_target工程并先编译stack,后编译app。利用flash programmer 2将本步骤生成的bin文件烧录进开发板,bin文件存于simplelink_cc2640r2_sdk_1_30_00_25\examples\rtos\CC2640R2_LAUNCHXL\blestack\oad_target\tirtos\iar\app\FlashROM\Exe,文件名称为oad_target_cc2640r2lp_app_oad_onchip_production.bin

3.3、此时便能看到开发板启动了一个名为“OAD Target image A”的广播,且MAC地址为0A D0 AD 0A D0 AD

3.4、将host_test固件烧录进另外一个开发板。固件存于simplelink_cc2640r2_sdk_1_30_00_25\examples\rtos\CC2640R2_LAUNCHXL\blestack\hexfiles,文件名称为cc2640r2lp_host_test.hex

3.5、打开btool,需要带有OAD功能的。对应软件存于simplelink_cc2640r2_sdk_1_30_00_25\tools\blestack\btool下的btool.exe。

3.6、btool操作如下图
【BLE】TI CC2640R2F片内OAD实验
【BLE】TI CC2640R2F片内OAD实验
另外,在图二OAD过程的步骤3中,可能会失败。根据文档所说,Send之前还需往OAD image Identify中写入01:00方能继续OAD。

实际操作后发现,只需写入过一次01:00,后面便不再需要写入,就可以正常进行OAD。

3.7、OAD成功后,开发板便启动了一个名称为“SimpleBLEperipheral”的广播,MAC地址为芯片的实际地址。

3.8、以上步骤为第一次OAD过程,接下来我们要进行的是第二次OAD,连续OAD功能是必须有的。这就要求image B具备OAD的功能。

四、配置工程生成image B【BLE】TI CC2640R2F片内OAD实验