用户工具

站点工具


cc2640r2f:first_project_buid

差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

两侧同时换到之前的修订记录 前一修订版
后一修订版
前一修订版
cc2640r2f:first_project_buid [2017/09/01 17:16]
long
cc2640r2f:first_project_buid [2021/06/22 23:14] (当前版本)
行 1: 行 1:
 <markdown> <markdown>
-# 编译第一个工程(simple_peripheral) # 
-成功编译通过第一个工程对我们入门开发至关重要,如果失败了可能就是麻烦的开始。TI SimplLink CC13x0/CC26x0 MCU 系列SDK 组件太多,第一个工程编译出错的概率极高,所以这里我们单独陈列一章节,详细讲解如何成功编译第一个工程,以及常见问题解决。 
  
-编译前我们确保参考<a href="http://docs.leconiot.com/doku.php?id=cc2640r2f:get_started:development_environment_set_up:development_environment_set_up">CC2640R2 BLE 开发环境搭建</a>全部默认安装路径,其他非默认路径极有可能会编译报错。 +# 编译第一个工程( simple_peripheral ) # 
-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`。 +成功编译第一个工程对入门开发至关重要,如果失败了可能就是麻烦的开始。TI SimplLink CC13x0/CC26x0 MCU 系列 SDK 组件太多,第一个工程编译出错的概率极高,所以单独陈列一章节,详细讲解如何成功编译第一个工程以及解决常见问题。 
-CCS安装路径 `C:\ti\ccsv7\eclipse\ccstudio.exe`,对应版本为 `CCS-7.01.00.00016`。+ 
 +编译前确保参考<a href="http://docs.leconiot.com/doku.php?id=cc2640r2f:get_started:development_environment_set_up:development_environment_set_up"> CC2640R2 BLE 开发环境搭建</a>全部默认安装路径,其他非默认路径极有可能会编译报错。 
 +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 掉
  
-同时我们需要确定IAR编译相关的一个自定义参数变量配置集合(IAR->Tools->Configure Custom Argument Variables),所有编译、链接相关命令路径完全依靠该配置选项,如果配置路径错误,会直接导致编译过程报错,该配置很多通过绝对路径引用,这也就是我们反复强调,暂时地我们都尝试默认路径安装的根本原因。如果当前机器历史安装多个CC13x0/CC26x0 SDK,这里可能出现多个自定义参数变量配置集合同时生效的问题,我们需要选择其他不需要的Disable掉。 
 ![](http://www.leconiot.com/md_res/cc2640r2f/get_started/first_build/Images/ArgumentVaribles3.png) ![](http://www.leconiot.com/md_res/cc2640r2f/get_started/first_build/Images/ArgumentVaribles3.png)
-如上图所示,在Global标签卡里面,有两个全局(Global)的自定参数配置集合在当前工作空间(Workspace)生效,我们需要选中tirtos_cc13xx_cc26xx_2_20_01_08(global)->Disable Group->最好选择重启IAR。+ 
 +如上图所示,在 Global 标签卡里面,有两个全局( Global )的自定参数配置集合在当前工作空间( Workspace )生效需要选中tirtos_cc13xx_cc26xx_2_20_01_08(global) -> Disable Group ->最好选择重启 IAR 。 
 ![](http://www.leconiot.com/md_res/cc2640r2f/get_started/first_build/Images/ArgumentVaribles.png) ![](http://www.leconiot.com/md_res/cc2640r2f/get_started/first_build/Images/ArgumentVaribles.png)
  
->**警告**:如上图所示SIMPLELINK_CC2640R2_SDK作为当前Workspace的使用配置需要唯一Enable,其他的无关在Workspace/Global选项卡的需要Disable到灰色。+>**警告**:如上图所示 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 两个工程组成(<a href="http://docs.leconiot.com/doku.php?id=cc2640r2f:cc2640r2f_architecture:software_and_hardware:software:software_architecture">软件框架</a>)已经详细讲解,每个工程又对应不同的编译选项,本文的 FlashROM_Lirary 编译选项是把协议栈作为编译生成一个库文件供 App 工程链接,所以需要先编译 Stack 工程。成功编译 Stack 后再编译 App ,链接 Stack ,成功生成镜像文件后直接下载
  
-在`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两个工程组成(<a href="http://docs.leconiot.com/doku.php?id=cc2640r2f:cc2640r2f_architecture:software_and_hardware:software:software_architecture">软件框架</a>)已经详细讲解,每个工程又对应不同的编译选项,我们的这里的选择的FlashROM_Lirary编译选项是把协议栈作为编译生成一个库文件供App工程链接,所以我们这里需要先编译Stack工程。成功编译Stack后再编译App,链接Stack,成功生成镜像文件后直接下载。 
 ![](http://www.leconiot.com/md_res/cc2640r2f/get_started/first_build/Images/workspace.png) ![](http://www.leconiot.com/md_res/cc2640r2f/get_started/first_build/Images/workspace.png)
  
-成功编译第一个工程后,可以参考<a href="http://docs.leconiot.com/doku.php?id=cc2640r2f:get_started:first_example:first_example">下载运行第一个程序</a>下载运行,和观察现象。+成功编译第一个工程后,可以参考<a href="http://docs.leconiot.com/doku.php?id=cc2640r2f:get_started:first_example:first_example">下载运行第一个程序</a>下载运行观察现象。 
 ## Troubleshooting ## ## Troubleshooting ##
  
-对于以下非语法错误的编译失败,我们第一时间检查自定义参数变量配置集合(IAR->Tools->Configure Custom Argument Variables)。+对于以下非语法错误的编译失败,第一时间检查自定义参数变量配置集合( IAR -> Tools -> Configure Custom Argument Variables )。
  
-### 编译失败,提示Could not launch the tool "C:\ti\xdctools_3_50_01_13_core/xs"  ###+### 编译失败提示 Could not launch the tool "C:\ti\xdctools_3_50_01_13_core/xs"  ###
  
-TI BLE SDK 编译需要借助XDCTools,该工具通过SDK默认安装在我们的"C\ti"+TI BLE SDK 编译需要借助 XDCTools ,该工具通过 SDK 默认安装 "C\ti"
  
 ![](http://www.leconiot.com/md_res/cc2640r2f/get_started/first_build/Images/xdc_tools.png) ![](http://www.leconiot.com/md_res/cc2640r2f/get_started/first_build/Images/xdc_tools.png)
  
-对于IAR通过自定义参数变量配置集合(IAR->Tools->Configure Custom Argument Variables)里面的 `XDC_ROOT`配置路径,如果通过`XDC_ROOT`找不到该路径,就会提示该错误。+IAR 通过自定义参数变量配置集合(IAR->Tools->Configure Custom Argument Variables)里面的 `XDC_ROOT` 配置路径,如果通过 `XDC_ROOT` 找不到该路径,就会提示该错误。
  
-按照我们的思路检查自定义参数变量配置集合(IAR->Tools->Configure Custom Argument Variables)`XDC_ROOT`,配置如下图:+按照我们的思路检查自定义参数变量配置集合( IAR -> Tools -> Configure Custom Argument Variables )`XDC_ROOT`,配置如下图:
  
 ![](http://www.leconiot.com/md_res/cc2640r2f/get_started/first_build/Images/reset_xdc_folder.png) ![](http://www.leconiot.com/md_res/cc2640r2f/get_started/first_build/Images/reset_xdc_folder.png)
  
-我们展开当前工程的配置集合,在资源管理器浏览`C:\ti\xdctools_3_50_01_13_core`并不能找到该路径。尝试直接Edit Variable直接更改到我们电脑存在的最新版本`C:\ti\xdctools_3_50_02_20_core`重新编译后正常。 +展开当前工程的配置集合,在资源管理器浏览 `C:\ti\xdctools_3_50_01_13_core` 并不能找到该路径。尝试 Edit Variable 直接更改到电脑存在的最新版本`C:\ti\xdctools_3_50_02_20_core` 重新编译后正常。 
->**注意**:确保当前Workspace 只有一个配置集合生效+>**注意**:确保当前 Workspace 只有一个配置集合生效
  
-### 编译失败提示cannot open source file "xdc/std.h"  ###+### 编译失败提示 cannot open source file "xdc/std.h"  ###
  
-该问题同 **编译失败提示cannot open source file "xdc/std.h"** 一样。我们需要确认`XDC_ROOT`路径。+该问题同 **编译失败提示 cannot open source file "xdc/std.h"** 一样需要确认 `XDC_ROOT` 路径。
  
-### 编译协议栈失败,提示找不到osal_icall_ble.c. ###+### 编译协议栈失败,提示找不到 osal_icall_ble.c. ###
  
-对于CC2640R2F SDK默认Examples,我们没有做任何更改,提示找不到.c/很有可能也是这里的自定义参数变量配置集合(IAR->Tools->Configure Custom Argument Variables)配置错误。TI IAR工程部分.c通过相对路径添加,相对`EXAMPLES_ROOT`路径添加,如果路径配置错误,可能会找不到对应的.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`,配置如下图:+按照思路检查自定义参数变量配置集合( IAR -> Tools -> Configure Custom Argument Variables )`XDC_ROOT`,配置如下图:
  
 ![](http://www.leconiot.com/md_res/cc2640r2f/get_started/first_build/Images/two_enable.png) ![](http://www.leconiot.com/md_res/cc2640r2f/get_started/first_build/Images/two_enable.png)
  
-如上图所示,这里存在两个生效的配置集合,两个生效配置集合都有`EXAMPLE_ROOT`变量,我们Disable 全局的后,重启IAR,编译正常。+如上图所示,这里存在两个生效的配置集合,两个生效配置集合都有 `EXAMPLE_ROOT` 变量, Disable 全局的变量重启 IAR ,编译正常。
  
->**注意**:和`XDC_ROOT`不一样,`EXAMPLE_ROOT`更改后需要重启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   ###
 +
 ``` ```
 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;  --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只有一个生效,同时可以展开确定路径是否有效。+ 
 +出现该问题,同样还是检查自定义参数变量配置集合( IAR -> Tools -> Configure Custom Argument Variables ),确保当前 Wrospace 只有一个生效,同时可以展开确定路径是否有效。
  
 ### C:/ti/simplelink_cc2640r2_sdk_1_35_00_33/kernel/tirtos/packages/iar/tools/configuro/Main.xs ### ### C:/ti/simplelink_cc2640r2_sdk_1_35_00_33/kernel/tirtos/packages/iar/tools/configuro/Main.xs ###
 +
 ```C ```C
 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.  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**](http://shang.qq.com/wpa/qunwpa?idkey=d94f12d37c3b37892af4b757c6dc34bea140f3f3128a8d68e556a3d728148e85)获取更多支持,共同研究CC2640R2F&BLE5.0。 文章所有代码、工具、文档开源。加入我们[**QQ群 591679055**](http://shang.qq.com/wpa/qunwpa?idkey=d94f12d37c3b37892af4b757c6dc34bea140f3f3128a8d68e556a3d728148e85)获取更多支持,共同研究CC2640R2F&BLE5.0。
 <div> <div>
行 77: 行 95:
 </div> </div>
 </markdown> </markdown>
- 
cc2640r2f/first_project_buid.1504257404.txt.gz · 最后更改: 2021/06/22 23:14 (外部编辑)