目录

编译第一个工程( simple_peripheral )

成功编译第一个工程对入门开发至关重要,如果失败了可能就是麻烦的开始。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 ,成功生成镜像文件后直接下载。

成功编译第一个工程后,可以参考下载运行第一个程序下载运行、观察现象。

Troubleshooting

对于以下非语法错误的编译失败,第一时间检查自定义参数变量配置集合( IAR -> Tools -> Configure Custom Argument Variables )。

编译失败,提示 Could not launch the tool "C:\ti\xdctools_3_50_01_13_core/xs"

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"

该问题同 编译失败提示 cannot open source file "xdc/std.h" 一样,需要确认 XDC_ROOT 路径。

编译协议栈失败,提示找不到 osal_icall_ble.c.

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

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. 

could not open file cc2640r2lp_stack_FlashROM_Library.a

前面已经详细讲解过工程管理,我们需要切换到 stack 选项卡。编译stack工程后再编译app 工程。

加入我们

文章所有代码、工具、文档开源。加入我们QQ群 591679055获取更多支持,共同研究CC2640R2F&BLE5.0。

CC2640R2F&BLE5.0-乐控畅联 © Copyright 2017, 成都乐控畅联科技有限公司.