TI中文支持网
TI专业的中文技术问题搜集分享网站

#CC2640R2F SDK 1_40_045 simple_perphral 改为OAD 问题?

本人调试过simple_peripheral_oad_offchip 例程,修改为外接SPI flash 可以正常升级程序。

但是 simple_peripheral_oad_offchip 中产生的BIn文件大概40几kb,在icf 链接中使用的是 cc26xx_oad._oad.icf 文件。如下图1

                    图1

并且在 project -> opt ->linker ->linker config file 中选用 cc26xx_app_oad.icf  文件;

而在project ->opt ->post-build command linker 中 的是:

cmd /C "$TOOLS_BLE_DIR$\output_converter\output_converter.exe $EXE_DIR$\$TARGET_BNAME$.bin -a 0x10 & $TOOLS_BLE_DIR$\oad\oad_image_tool.exe $EXE_DIR$\$TARGET_BNAME$.hex -t offchip -i app –imgVer 0 -ob $EXE_DIR$\$TARGET_BNAME$.bin -m 0x0000 –r 0x0000"

我理解的是  simple_peripheral_oad_offchip 例程使用的是 app 和stak 分开的方式(所以flash下载时要bim +app +stack) 升级的时候 如果时CC26xx _app_oad.icf 文件编译出来的是 只升级APP的BIn文件 大概 40几kb   而在链接的的时候设置"$TOOLS_BLE_DIR$\output_converter\output_converter.exe $EXE_DIR$\$TARGET_BNAME$.bin -a 0x10是将文件HEX文件的地址偏移至ox10开始 (原来应该是0x00开始吧)->这里0X10就是app开始地址

而使用例程simple_perp指导文件修改:

本节演示如何通过修改Simple_Peripheral添加OAD功能,并且Simple_Peripheral是一个典型的Library Off-Chip程序。

  1. bim_oad_offchip依旧作为BIM程序,不需要修改, 下载进开发板。
  2. 将OAD配置文件添加到Simple_Peripheral程序中。分别是:oad.c、oad.h、oad_target.h、oad_target_external_flash.c。这些文件在原始的Simple_Peripheral工程中是从编译中排出了的,将它添加进来。右键对应要添加的文件,取消掉Exclude from build。如下图所示。
  3. 将外部Flash中间件添加到应用程序项目,分别是ExtFlash.c、ExtFlash.h

4.添加include路径。OAD配置文件路径在 \source\ti\ble5stack\profiles\oad\cc26xx。

5使用适当的片外OAD连接器文件。按照步骤2中的方法取消掉排出编译选项。

         AR使用 cc26xx_app_oad.icf 仅适用于App App,App + Stack

CCS使用 cc26xx_app_oad.cmd 适用于App App,App + Stack,Library

  1. 在C/C++ Compiler中添加下面宏定义。

    • FEATURE_OAD
    • HAL_IMAGE_A
  2. 添加OAD_IMG_A=1到您的pre-build。

  3. 修改Post_build命令行为:
    $TOOLS_BLE_DIR$\oad\oad_image_tool.exe $PROJ_DIR$\FlashROM_StackLibrary\Exe\ble5_simple_peripheral_cc2640r2lp_app_FlashROM_StackLibrary.hex -t offchip -i app –imgVer 0 -ob $PROJ_DIR$\FlashROM_StackLibrary\Exe\hid_adv_remote_cc2640r2rc_app.bin -m 0x0000 –r 0x0000。

具体链接:blog.csdn.net/leconiot/article/details/76607302

我看过官方指导和这个一样;

问题1: 在IAR 的  linker 里面需要改这个吗 ,off-chip例程是使用的是 CC26XX_app_oad,icf  而原来使用的是 cc26xx_app_stack.icf 我想既然要改为OAD  app 升级 这里应该要改为 CC26XX_app_oad.icf (指导手册没说这一点)

问题2:因为Simple _peripphral 是原来的是APP+STACK ,生成的hex 也就app+stack  如果改为 oad _app ,stack hex怎么生成 ,例程stack  有一个独立的stack hex文件(因为就是分开的嘛)

问题3: off-chip 例程生成的hex 文件 链接时C "$TOOLS_BLE_DIR$\output_converter\output_converter.exe $EXE_DIR$\$TARGET_BNAME$.bin -a 0x10

将开始地址链接到 0x10 但是 指导手册上为什么不加这个链接地址?

Kevin Qiu1:

你用的是很早之前的版本了,我需要查下资料,之后回复你

YiKai Chen:

SDK 1.40很舊了,建議你改用SDK 4.20

赞(0)
未经允许不得转载:TI中文支持网 » #CC2640R2F SDK 1_40_045 simple_perphral 改为OAD 问题?
分享到: 更多 (0)