本帖最后由 cxz_00 于 2018-3-6 22:05 编辑
上篇利用TI提供的免安装编译环境CCS Cloud进行了项目的验证,在使用CCS Cloud编译项目时受到网络环境的影响,有时候无法打开界面编译项目,而且CCS Cloud在默认环境下会被防火墙屏蔽,尤其是360经常性的阻止环境中的插件运行,导致项目常常出现编译链接失败的状况。
鉴于上述情况,本贴开始Developing with IAR桌面程序项目开发之旅。
一、工欲善其事,必先利其器。
我之前使用的是IAR for ARM 7.1版本的编译环境无法进行cc2640r2项目的开发,欲进行cc2640r2的项目开发必须将IAR for ARM版本升级到7.6+。本人使用的IAR版本:EWARM-8.11.1,SDK版本:simplelink_cc2640r2_sdk_1_50_00_58。
注意:SDK的安装路径最好采用默认的安装路径,下文介绍原因。
二、导入项目工程
打开IAR for ARM软件,通过 File->Open Workspace打开C:\ti\simplelink_cc2640r2_sdk_1_50_00_58\examples\rtos\CC2640R2_LAUNCHXL\blestack\simple_peripheral\tirtos\iar目录下的simple_peripheral.eww文件(如下图所示)。
在打开项目工程之后还需要导入描述项目的参数变量配置集合,通过IAR菜单栏的Tools->Configure Custom Argument Variables打开simple_peripheral.custom_argvars文件(该文件路径:C:\ti\simplelink_cc2640r2_sdk_1_50_00_58\examples\rtos\CC2640R2_LAUNCHXL\blestack\simple_peripheral\tirtos\iar),如下图所示的界面。
看上图中关于变量的设置,在TI给出的设置文件中使用的是绝对路径,所以在初次使用TI的SDK是最后将其安装在默认路径下,否则编译时会出现错误。
在设置完成之后,先选中工作空间的cc2640r2lp_stack工程将其编译成stack库,在编译该项目时会报出很多的错误。如下图所示
查看这些错误发现都是找不到变量导致的,打开报错文件并找到该变量时发现变量的定义是有条件的,如下图所示。
而变量的使用却是没有条件的,如下图
打开工程的选项卡看到在编译环境中定义了STACK_LIBRARY宏,但是变量的定义是在未定义宏时才是有效,这才导致了变量定义找不到。如下图所示
|