# IAR导入 Examples # ## 现象 ## SDK 下面的部分 Examples(drivers、sysbios、demos)并不能直接用 IAR 打开。尽管看起来已经建立好工程,但还需要通过 IAR 的 Examples 导入工程。 如果强制打开(请不要尝试),可能编译报错提示找不到文件,或者其他错误。 ![](http://www.leconiot.com/md_res/cc2640r2f/get_started/examples_import/images/sdk_examples.png) 例如对于 `C:\ti\simplelink_cc2640r2_sdk_1_35_00_33\examples\rtos\CC2640R2_LAUNCHXL\drivers\uartecho` 直接找到 `\tirtos\iar\uartecho.eww` IAR 打开,编译提示: ``` Fatal Error[Pe1696]: cannot open source file "C:\ti\simplelink_cc2640r2_sdk_1_35_00_33\examples\rtos\CC2640R2_LAUNCHXL\drivers\uartecho\tirtos\iar\main_tirtos.c" ``` 在 `Workspace` 窗口打开对应文件,直接提示该路径下不能找到文件。 ![](http://www.leconiot.com/md_res/cc2640r2f/get_started/examples_import/images/cannot_find_files.png) >**危险**:如果已经用 IAR 打开并且报错,接下来的 Examples 导入工程可能会报错。解决办法暂时只有重装 SDK 或者手动拷贝文件到导入路径。 ## 解决 ## 直接打开 IAR,选择 IAR -> Tools -> Configure Custom Argument Varibles -> Global。确定当前没有生效(灰色无效,黄色表示有效)的全局配置。 ![](http://www.leconiot.com/md_res/cc2640r2f/get_started/examples_import/images/current_config.png) >**提示** Enable Group/Disable Group 能够使能/禁止 以上环境变量集合。 导入 SDK 下面的配置文件,IAR -> Tools -> Configure Custom Argument Varibles -> Global ->找到 SDK `tools/iar` 目录,导入 `*.custom_argvars` 。 >**注意**:对于 `cc2640r2_sdk_1_35_00_33` 版本,`SIMPLELINK_CC13XX_CC26XX_SDK.custom_argvars` 有误,建议直接下载我们修订后 SIMPLELINK_CC13XX_CC26XX_SDK.custom_argvars(选中链接,另存为) `cc13x0_sdk_1_40_00_10` 不存在此问题。 ![](http://www.leconiot.com/md_res/cc2640r2f/get_started/examples_import/images/config_files.png) ![](http://www.leconiot.com/md_res/cc2640r2f/get_started/examples_import/images/new_config.png) >**注意**:更改以上环境变量可能需要重启 IAR 才生效。 确定以上配置集合生效过后,打开 Help -> Information Center -> Integrated Solutions ![](http://www.leconiot.com/md_res/cc2640r2f/get_started/examples_import/images/integrated_solutions.png) 选择 Texas Instruments -> Examples Project ![](http://www.leconiot.com/md_res/cc2640r2f/get_started/examples_import/images/ti_examples.png) 选择浏览例程应用。 ![](http://www.leconiot.com/md_res/cc2640r2f/get_started/examples_import/images/examples_app.png) 点击需要导入到 IAR 的工程样例。 ![](http://www.leconiot.com/md_res/cc2640r2f/get_started/examples_import/images/uart_echo.png) 选择是,然后再选择导入到 IAR 工程的保存路径,路径不要包含中文、空格等字符。 ![](http://www.leconiot.com/md_res/cc2640r2f/get_started/examples_import/images/save_copy.png) ![](http://www.leconiot.com/md_res/cc2640r2f/get_started/examples_import/images/choose_floder.png) >**警告**:选择保存工程路径一定不要包含中文和空格字符,否则接下来编译可能报错。 至此,需要导入的 Examples 已经成功导入。在以上选择的保存路径中所有 IAR 相关的工程、资源文件已经全部复制过来,点击 File -> Save Wrokspace 后,可以编译工程。 ![](http://www.leconiot.com/md_res/cc2640r2f/get_started/examples_import/images/copy_success.png) ## Troubleshooting ## ### 无法显示此页 ### 按照以上步骤,点击 example applications 提示 无法显示此页。 ![](http://www.leconiot.com/md_res/cc2640r2f/get_started/examples_import/images/cannot_show_page.png) 该页面的显示是通过环境变量 $`EXAMPLE_ROOT/Examples.html` 值确定,所以首先要确认 `EXAMPLE_ROOT` 变量是否生效。 ![](http://www.leconiot.com/md_res/cc2640r2f/get_started/examples_import/images/examples_root.png) 如上图所示,尽管已经按照步骤 `Improt...` 了配置集合,但是并未使能,需要 Enable Group 到黄色。 成功 Enable Group 过后(需要重启),同时可以浏览该环境变量值 `c:/ti/simplelink_cc2640r2_sdk_1_35_00_33/tools/iar` 路径下是否存在 `Examples.html` 文件。 >**注意**:环境变量 `EXAMPLE_ROOT` 变更需要重启 IAR 生效。 ### Examples 导入成功后,工程目录下没有资源文件 ### 按照以上步骤导入 Examples 后工程目录下仍然没有 *.c 、*.h 文件,打开工程 *.c 仍然是报错。 对于 `cc2640r2_sdk_1_35_00_33` 版本,`SIMPLELINK_CC13XX_CC26XX_SDK.custom_argvars` 有误,建议直接下载我们修订后 SIMPLELINK_CC13XX_CC26XX_SDK.custom_argvars(选中链接,另存为) `cc13x0_sdk_1_40_00_10` 不存在此问题。 ### Error while running iarbuild.exe tirtos_builds_CC2640R2_LAUNCHXL_release.ewp Debug -log all ### 在每个 Examples工程的 ReadMe.html 已经详细告知:每个工程需要编译 TI-RTOS SysBios,所以在编译 Examples 工程的时候会通过以下命令编译 SysBios工程。 ``` Performing Pre-Build Action iarbuild.exe c:/ti/simplelink_cc2640r2_sdk_1_35_00_33/kernel/tirtos/builds/CC2640R2_LAUNCHXL/release/iar/tirtos_builds_CC2640R2_LAUNCHXL_release.ewp Debug -log all ``` 如果此过程编译报错,首先需要更改 IAR 选项( Tools -> Options -> Messages -> Show build messages -> All)显示所有编译消息。 ![](http://www.leconiot.com/md_res/cc2640r2f/get_started/examples_import/images/msg_show_all.png) #### 编译以上 Examples 还是报错,提示找不到 sys_ctrl.h #### 显示全部信息后得到以下报错信息,sys_ctrl.h。该错误是 `simplelink_cc2640r2_sdk_1_35_00_33` SDK版本问题。 ``` "C:\ti\simplelink_cc2640r2_sdk_1_35_00_33\kernel\tirtos\packages\ti\sysbios\family\arm\cc26xx\Boot.c",42 Fatal error[Pe1696]: cannot open source file "ti/devices/cc26x0/driverlib/sys_ctrl.h" ``` 需要找到 `tirtos_builds_CC2640R2_LAUNCHXL_release.ewp` 工程打开,更改 `DDEVICE_FAMILY`( Project -> Options -> C/C++ -> Extra Options )值 `cc26x0` 为 `cc26x0r2`。 ![](http://www.leconiot.com/md_res/cc2640r2f/get_started/examples_import/images/devices_family.png) >**提示**: `tirtos_builds_CC2640R2_LAUNCHXL_release.ewp` 在SDK `C:\ti\simplelink_cc2640r2_sdk_1_35_00_33\kernel\tirtos\builds\CC2640R2_LAUNCHXL\release\iar` 路径。 ### [Su007]: Unable to open the command file kernel/tirtos/builds/CC2640R2_LAUNCHXL/release/iar/linker.cmd" ### ``` [Su007]: Unable to open the command file "c:/ti/simplelink_cc2640r2_sdk_1_35_00_33/kernel/tirtos/builds/CC2640R2_LAUNCHXL/release/iar/linker.cmd ``` 此问题解决过程同**编译以上 Examples 还是报错,提示找不到 sys_ctrl.h **一致。均需要更改 `DDEVICE_FAMILY`( Project -> Options -> C/C++- > Extra Options )值 `cc26x0` 为 `cc26x0r2` 。 ## 加入我们 ## 文章所有代码、工具、文档开源。加入我们[**QQ群 591679055**](http://shang.qq.com/wpa/qunwpa?idkey=d94f12d37c3b37892af4b757c6dc34bea140f3f3128a8d68e556a3d728148e85)获取更多支持,共同研究CC2640R2F&BLE5.0。

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