将堆栈库项目转变为分离镜像项目实现OAD

1.更改协议栈工程

1.1.选择项目中的stack工程,创建一个新的工程编译配置:Project->Edit Configurations->New,为编译配置提供一个新的名称。

1.2.打开项目属性:Project->Options

1.3.选择General Options->Output,在Output file中选择Executable。这里将启用调试器设置,并且成为模拟器的默认设置。在General Options->Target中的Device选择自己的开发板。

1.4.选择C/C++ Compiler->Preprocessor,在Defined symbols中删除STACK_LIBRARY

1.5.选择Build Actions,在Post Build步骤中添加Frontier作为边界工具:
“$TOOLS_BLE_DIR$\frontier.exe” iar “$PROJ_DIR$\$CONFIG_NAME$\List\$TARGET_BNAME$.map” “$PROJ_DIR$\..\config\iar_boundary.bdef” “$PROJ_DIR$\..\config\iar_boundary.xcl”

该工具会将协议栈入口地址的信息交给应用程序

1.6.选择Linker->Extra Options选项
选择Use command line options
在Command line options中写入以下内容:

-f $PROJ_DIR$\..\config\lib_linker.cmd

1.7.选择Debugger选项
根据自己使用的调试器重新配置调试器设置。TI通常使用的仿真器调试器是TI XDS110,在TI XDS中做相应更改。

2.更改应用程序工程

2.1.选择项目中的APP工程,创建一个新的工程配置,Project->Edit Configurations->New,为新的配置起一个新名字,但切记要与STACK工程对应

2.2.去掉工程下的StackLibrary文件夹:右键选中StackLibrary->Options,勾选Exclude from build,选择ok即可

2.3.打开工程属性:选择Project->Options,在C/C++ Compiler Options->Preprocessor选项下的Defined symbols列表中删除STACK_LIBRARY,在Extra Options下的Command line options中加入

-f $PROJ_DIR$\..\config\iar_boundary.bdef

2.4.选择Linker ->Config,使用Linker configuration file这个.icf链接器文件:选择cc26xx_app.icf文件,我的路径是在

C:\ti\simplelink_cc2640r2_sdk_1_40_00_45\source\ti\ble5stack\common\cc26xx\iar\cc26xx_app_oad.icf

在Configuration file symbol definitions中删除FLASH_ROM_BUILD=2,添加RTOS_ROM=1、APP_IMAGE_START=0x0000。

选择Extra Options,在Command line options,添加
-f $PROJ_DIR$\..\config\iar_boundary.xcl

删除

-f $PROJ_DIR$\..\config\lib_linker.cmd

选中Library选项卡,从Additional libraries中删除以下内容:

$PROJ_DIR$\..\config\ble_r2.symbols

将以下内容添加到Additional libraries:

$ROM_DIR$\ble_rom_releases\cc26xx_r2\Final_Release\common_r2.symbols

2.5.选择Options->Build Actions,在Post-build中添加

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"

这样我们就把堆栈库项目转变为分离镜像项目,在项目中添加OAD功能请参照我的上一篇博客,添加完成后就可以实现APP工程升级。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值