成功编译第一个工程对入门开发至关重要,如果失败了可能就是麻烦的开始。TI SimplLink CC13x0/CC26x0 MCU 系列 SDK 组件太多,第一个工程编译出错的概率极高,所以单独陈列一章节,详细讲解如何成功编译第一个工程以及解决常见问题。
编译前确保参考 CC2640R2 BLE 开发环境搭建全部默认安装路径,其他非默认路径极有可能会编译报错。
SDK安装路径 C:\ti\simplelink_cc2640r2_sdk_1_35_00_33
,确保 Examples 也在默认路径未搬移。
IAR安装路径 C:\Program Files (x86)\IAR Systems\Embedded Workbench 7.5
,对应版本为 EWARM-7.80.3
。
CCS安装路径 C:\ti\ccsv7\eclipse\ccstudio.exe
,对应版本为 CCS-7.01.00.00016
。
同时需要确定 IAR 编译相关的一个自定义参数变量配置集合( IAR -> Tools -> Configure Custom Argument Variables )。所有编译、链接相关命令路径完全依靠该配置选项,如果配置路径错误,会直接导致编译过程报错。该配置很多通过绝对路径引用,这也是暂时都选择默认安装路径的根本原因。如果当前机器历史安装多个 CC13x0/CC26x0 SDK ,可能出现多个自定义参数变量配置集合同时生效的问题,此时需要选择其他不需要的 Disable 掉。
如上图所示,在 Global 标签卡里面,有两个全局( Global )的自定参数配置集合在当前工作空间( Workspace )生效。需要选中tirtos_cc13xx_cc26xx_2_20_01_08(global) -> Disable Group ->最好选择重启 IAR 。
警告:如上图所示 SIMPLELINK_CC2640R2_SDK 作为当前 Workspace 的使用配置需要唯一 Enable ,其他 Workspace/Global 选项卡无关的 Disable 到灰色。
在 C:\ti\simplelink_cc2640r2_sdk_1_35_00_33\examples\rtos\CC2640R2_LAUNCHXL
包含 CC2640R2 开发板的所有例程,blestack 和 ble5stack 分别对应 BLE4.2 和 BLE5.0 的样例工程。
这里选择 ble5stack \ ble5_simple_peripheral 和 IAR 编译下载测试。
打开 ble5_simple_peripheral,IAR 工程主要有 App + Stack 两个工程组成(软件框架)已经详细讲解,每个工程又对应不同的编译选项,本文的 FlashROM_Lirary 编译选项是把协议栈作为编译生成一个库文件供 App 工程链接,所以需要先编译 Stack 工程。成功编译 Stack 后再编译 App ,链接 Stack ,成功生成镜像文件后直接下载。
成功编译第一个工程后,可以参考下载运行第一个程序下载运行、观察现象。
对于以下非语法错误的编译失败,第一时间检查自定义参数变量配置集合( IAR -> Tools -> Configure Custom Argument Variables )。
TI BLE SDK 编译需要借助 XDCTools ,该工具通过 SDK 默认安装 "C\ti"
IAR 通过自定义参数变量配置集合(IAR->Tools->Configure Custom Argument Variables)里面的 XDC_ROOT
配置路径,如果通过 XDC_ROOT
找不到该路径,就会提示该错误。
按照我们的思路检查自定义参数变量配置集合( IAR -> Tools -> Configure Custom Argument Variables )XDC_ROOT
,配置如下图:
展开当前工程的配置集合,在资源管理器浏览 C:\ti\xdctools_3_50_01_13_core
并不能找到该路径。尝试 Edit Variable 直接更改到电脑存在的最新版本C:\ti\xdctools_3_50_02_20_core
,重新编译后正常。
注意:确保当前 Workspace 只有一个配置集合生效
该问题同 编译失败提示 cannot open source file "xdc/std.h" 一样,需要确认 XDC_ROOT
路径。
CC2640R2F SDK 默认 Examples 没有做任何更改,提示找不到 .c/ 很有可能也是自定义参数变量配置集合( IAR -> Tools -> Configure Custom Argument Variables )配置错误。TI IAR 工程部分 .c 通过相对路径 EXAMPLES_ROOT
添加,如果该路径配置错误,可能会找不到对应的 .c 文件。
按照思路检查自定义参数变量配置集合( IAR -> Tools -> Configure Custom Argument Variables )XDC_ROOT
,配置如下图:
如上图所示,这里存在两个生效的配置集合,两个生效配置集合都有 EXAMPLE_ROOT
变量, Disable 全局的变量重启 IAR ,编译正常。
注意:和
XDC_ROOT
不一样,EXAMPLE_ROOT
更改后需要重启 IAR
Error while running "c:/ti/xdctools_3_32_00_06_core/xs"
--xdcpath="c:/ti/tirtos_cc13xx_cc26xx_2_20_01_08/packages;c:/ti/tirtos_cc13xx_cc26xx_2_20_01_08/products/tidrivers_cc13xx_cc26xx_2_20_01_10/packages;c:/ti/tirtos_cc13xx_cc26xx_2_20_01_08/products/bios_6_46_01_38/packages;
出现该问题,同样还是检查自定义参数变量配置集合( IAR -> Tools -> Configure Custom Argument Variables ),确保当前 Wrospace 只有一个生效,同时可以展开确定路径是否有效。
js: "C:/ti/simplelink_cc2640r2_sdk_1_35_00_33/kernel/tirtos/packages/iar/tools/configuro/Main.xs", line 133: Error: xdc.tools.configuro: configuration failed due to earlier errors (status = 2); 'linker.cmd' deleted.
前面已经详细讲解过工程管理,我们需要切换到 stack 选项卡。编译stack工程后再编译app 工程。
文章所有代码、工具、文档开源。加入我们QQ群 591679055获取更多支持,共同研究CC2640R2F&BLE5.0。