微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI蓝牙设计交流 > CC26xx和CC13xx系列smartlink MCU使用IAR开发时XDCTOOLS组件编译错误问题的解决

CC26xx和CC13xx系列smartlink MCU使用IAR开发时XDCTOOLS组件编译错误问题的解决

时间:10-02 整理:3721RD 点击:

由于我司新产品选用ARM3和MSP320双内核的CC26XX以及CC13XX系列MCU,在FAE推荐使用IAR而不建议使用CCS进行开发后,更换了开发环境为IAR 8.3版本。

然后就发生了MARK不抱错,但调用XDCTOOLS运行时组件生成HEX文件时报错的问题。在各个论坛包括本坛查看,很多朋友都遇到这个问题而且没有解决。

经过大约一个多礼拜的摸索(其中有其他工作耽搁),发现问题所在:Windows 的权限问题。

经尝试,如下操作后可以保证不再发生XDCTOOLS组件报错:

1、安装在默认目录下(一般是C);

2、只装需要的版本的运行时和协议栈组件;

3、最好都是以同一个用户的权限进行安装,并且将默认安装目录的权限修改为everyone拥有所有权限;

4、如果用ccs,最好也装在同一个目录下,否则也有可能因为不同权限问题导致的编译、链接失败;

5、很关键的,Vista以后的系统都是基于NT内核的,如果用了NTFS格式,C盘根目录和各级目录为了安全往往只有系统进程和Admin有读写和运行权限,请注意这个问题,这就是导致大部分编译失败的情况。

6、Ti官方很多例程都是链接的库文件而非拷贝的,如果某个工程需要修改了包含文件的内容, 其他例程调用的也是修改过的链接后的库文件,容易导致一些错误,因此要单独修改的包含文件,最好是COPY到工程目录下。这是初接触者容易犯的错误。

---------------------------------------

2016-02-28更新:

这一段时间cc26xx和cc13xx开发很顺畅了,无论是CSS还是IAR都没有再发生协议栈编译方面的奇葩问题。再此再补充一下:

1、权限问题什么时候需要注意:分区是NTFS的时候会有权限问题,为了避免这个问题可以用FAT32分区;

2、Ti BLE 2.1协议栈相比2.0,多了一些bug,如果2.1编译不通过,建议换2.0;

3、IAR License memager,在windows vista以后的操作系统中,请确保安装和验证license的时候,都在管理员模式下进行。非管理员模式获取到的注册码是有问题的(似乎是如此)。

4、路径不能有中文。

终极解决方案:换CSS!不会出编译错误问题!绝对!

欢迎大家继续补充。

暂时就这些,希望能帮助到|Ti的FAE和各位开发者,互补有无。

如有疏漏,欢迎大家指点提出,共同进步。

感谢分享经验:)

我想请问一下,“Windows 的权限问题”这个是安装IAR for ARM的时候需要注意呢?还是安装Z-Stack_Home_1.2.2a.exe需要注意呢?还是都需要注意?

谢谢分享!

关键是问题还是解决不了啊。

Error while running "C:\ti\xdctools_3_30_06_67_core/xs" --xdcpath="C:\ti\tirtos_simplelink_2_11_01_09\products\bios_6_41_02_41\packages" iar.tools.configuro -c "C:\Program Files  (x86)\IAR Systems\Embedded Workbench 7.2\arm" --cc "C:\Program Files (x86)\IAR Systems\Embedded Workbench 7.2\arm\bin\iccarm.exe" --device "CC2640F128" --compileOptions  "-D USE_ICALL -D POWER_SAVING -D HEAPMGR_SIZE=2672 -D TI_DRIVERS_SPI_DMA_INCLUDED -D TI_DRIVERS_LCD_INCLUDED -D ICALL_MAX_NUM_TASKS=3 -D  ICALL_MAX_NUM_ENTITIES=6 -D xdc_runtime_Assert_DISABLE_ALL -D xdc_runtime_Log_DISABLE_ALL -D MAX_NUM_BLE_CONNS=1 -D CC26XXWARE -D CC26XX  --diag_suppress Pa050 -o C:\ti\simplelink\ble_cc26xx_2_00_00_42893\Projects\ble\KeyFob\CC26xx\IAR\Application\CC2640\FlashROM\Obj\ --debug --endian=little --cpu=Cortex-M3 -f  C:\ti\simplelink\ble_cc26xx_2_00_00_42893\Projects\ble\KeyFob\CC26xx\IAR\Application\CC2640\..\..\..\..\..\..\..\Projects\ble\config\buildComponents.opt -f C:\ti\simplelink\  ble_cc26xx_2_00_00_42893\Projects\ble\KeyFob\CC26xx\IAR\Application\CC2640\configPkg\compiler.opt.defs -f C:\ti\simplelink\ble_cc26xx_2_00_00_42893\Projects\ble\KeyFob\  CC26xx\IAR\Application\CC2640\..\..\Config\IAR-Boundary.bdef -e --fpu=None --dlib_config \"C:\Program Files (x86)\IAR Systems\Embedded Workbench 7.2\arm\INC\c\  DLib_Config_Normal.h\" -I C:\ti\simplelink\ble_cc26xx_2_00_00_42893\Projects\ble\KeyFob\CC26xx\IAR\Application\CC2640\ -I C:\ti\simplelink\ble_cc26xx_2_00_00_42893\Projects\ble\  KeyFob\CC26xx\IAR\Application\CC2640/../../../Source/Application\ -I C:\ti\simplelink\ble_cc26xx_2_00_00_42893\Projects\ble\KeyFob\CC26xx\IAR\Application\  CC2640/../../../../../../../Projects/ble/include\ -I C:\ti\simplelink\ble_cc26xx_2_00_00_42893\Projects\ble\KeyFob\CC26xx\IAR\Application\CC2640/../../../../../../../Projects/ble/ICall/Include\ -I  C:\ti\simplelink\ble_cc26xx_2_00_00_42893\Projects\ble\KeyFob\CC26xx\IAR\Application\CC2640/../../../../../../../Projects/ble/Profiles/Roles/CC26xx\ -I C:\ti\simplelink\  ble_cc26xx_2_00_00_42893\Projects\ble\KeyFob\CC26xx\IAR\Application\CC2640/../../../../../../../Projects/ble/Profiles/Roles\ -I C:\ti\simplelink\ble_cc26xx_2_00_00_42893\Projects\ble\  KeyFob\CC26xx\IAR\Application\CC2640/../../../../../../../Projects/ble/Profiles/DevInfo\ -I C:\ti\simplelink\ble_cc26xx_2_00_00_42893\Projects\ble\KeyFob\CC26xx\IAR\Application\  CC2640/../../../../../../../Projects/ble/Profiles/Proximity/CC26xx\ -I C:\ti\simplelink\ble_cc26xx_2_00_00_42893\Projects\ble\KeyFob\CC26xx\IAR\Application\  CC2640/../../../../../../../Projects/ble/Profiles/Proximity\ -I C:\ti\simplelink\ble_cc26xx_2_00_00_42893\Projects\ble\KeyFob\CC26xx\IAR\Application\  CC2640/../../../../../../../Projects/ble/Profiles/Batt/CC26xx\ -I C:\ti\simplelink\ble_cc26xx_2_00_00_42893\Projects\ble\KeyFob\CC26xx\IAR\Application\  CC2640/../../../../../../../Projects/ble/Profiles/Accelerometer/CC26xx\ -I C:\ti\simplelink\ble_cc26xx_2_00_00_42893\Projects\ble\KeyFob\CC26xx\IAR\Application\  CC2640/../../../../../../../Projects/ble/Profiles/Accelerometer\ -I C:\ti\simplelink\ble_cc26xx_2_00_00_42893\Projects\ble\KeyFob\CC26xx\IAR\Application\  CC2640/../../../../../../../Projects/ble/Profiles/Keys/CC26xx\ -I C:\ti\simplelink\ble_cc26xx_2_00_00_42893\Projects\ble\KeyFob\CC26xx\IAR\Application\  CC2640/../../../../../../../Projects/ble/Profiles/Keys\ -I C:\ti\simplelink\ble_cc26xx_2_00_00_42893\Projects\ble\KeyFob\CC26xx\IAR\Application\  CC2640/../../../../../../../Projects/ble/Profiles/HidDev/CC26xx\ -I C:\ti\simplelink\ble_cc26xx_2_00_00_42893\Projects\ble\KeyFob\CC26xx\IAR\Application\  CC2640/../../../../../../../Projects/ble/common/cc26xx\ -I C:\ti\simplelink\ble_cc26xx_2_00_00_42893\Projects\ble\KeyFob\CC26xx\IAR\Application\  CC2640/../../../../../../../Components/applib/heap\ -I C:\ti\simplelink\ble_cc26xx_2_00_00_42893\Projects\ble\KeyFob\CC26xx\IAR\Application\CC2640/../../../../../../../Components/ble/hci\ -I  C:\ti\simplelink\ble_cc26xx_2_00_00_42893\Projects\ble\KeyFob\CC26xx\IAR\Application\CC2640/../../../../../../../Components/ble/controller/CC26xx/include\ -I C:\ti\simplelink\  ble_cc26xx_2_00_00_42893\Projects\ble\KeyFob\CC26xx\IAR\Application\CC2640/../../../../../../../Components/ble/host\ -I C:\ti\simplelink\ble_cc26xx_2_00_00_42893\Projects\ble\  KeyFob\CC26xx\IAR\Application\CC2640/../../../../../../../Components/hal/target/CC2650TIRTOS\ -I C:\ti\simplelink\ble_cc26xx_2_00_00_42893\Projects\ble\KeyFob\CC26xx\IAR\  Application\CC2640/../../../../../../../Components/hal/target/_common/cc26xx\ -I C:\ti\simplelink\ble_cc26xx_2_00_00_42893\Projects\ble\KeyFob\CC26xx\IAR\Application\  CC2640/../../../../../../../Components/hal/include\ -I C:\ti\simplelink\ble_cc26xx_2_00_00_42893\Projects\ble\KeyFob\CC26xx\IAR\Application\  CC2640/../../../../../../../Components/osal/include\ -I C:\ti\simplelink\ble_cc26xx_2_00_00_42893\Projects\ble\KeyFob\CC26xx\IAR\Application\  CC2640/../../../../../../../Components/services/sdata\ -I C:\ti\simplelink\ble_cc26xx_2_00_00_42893\Projects\ble\KeyFob\CC26xx\IAR\Application\  CC2640/../../../../../../../Components/services/saddr\ -I C:\ti\simplelink\ble_cc26xx_2_00_00_42893\Projects\ble\KeyFob\CC26xx\IAR\Application\  CC2640/../../../../../../../Components/icall/include\ -I C:\ti\simplelink\ble_cc26xx_2_00_00_42893\Projects\ble\KeyFob\CC26xx\IAR\Application\  CC2640/../../../../../../../Components/ble/include\ -I C:\ti\tirtos_simplelink_2_11_01_09\products\cc26xxware_2_20_06_14829\ -I C:\ti\tirtos_simplelink_2_11_01_09\packages\ -I C:\ti\  tirtos_simplelink_2_11_01_09\packages\ti\boards\SRF06EB\CC2650EM_7ID\ -Ohz" --linkOptions "-o C:\ti\simplelink\ble_cc26xx_2_00_00_42893\Projects\ble\KeyFob\CC26xx\IAR\  Application\CC2640\FlashROM\Exe\KeyFobDemoAppFlashROM.out --config_def RTOS_ROM=1 --map C:\ti\simplelink\ble_cc26xx_2_00_00_42893\Projects\ble\KeyFob\CC26xx\IAR\  Application\CC2640\FlashROM\List\KeyFobDemoAppFlashROM.map --config C:\ti\simplelink\ble_cc26xx_2_00_00_42893\Projects\ble\KeyFob\CC26xx\IAR\Application\CC2640\..\..\..\..\  ..\common\cc26xx\IAR\cc26xx_ble_app.icf --keep __vector_table -f C:\ti\simplelink\ble_cc26xx_2_00_00_42893\Projects\ble\KeyFob\CC26xx\IAR\Application\CC2640\configPkg\  linker.cmd -f C:\ti\simplelink\ble_cc26xx_2_00_00_42893\Projects\ble\KeyFob\CC26xx\IAR\Application\CC2640\..\..\Config\IAR-Boundary.xcl C:\ti\tirtos_simplelink_2_11_01_09\products\  cc26xxware_2_20_06_14829\driverlib\bin\iar\driverlib.lib C:\ti\tirtos_simplelink_2_11_01_09\packages\ti\drivers\lib\drivers_cc26xxware.arm3 --entry __iar_program_start --vfe" --profile  release --projFile "C:\ti\simplelink\ble_cc26xx_2_00_00_42893\Projects\ble\KeyFob\CC26xx\IAR\Application\CC2640\CC2640App.ewp"

自己的问题,自己回复一下,希望可以避免更多的人走弯路。我分别在Win7 32/64 上安装了IAR7.40。之前都是一路默认设置安装。Win7 32是没有问题的。但是Win7 64上编译始终出现这种问题。也和TI的FAE交流过,他们也说是IAR和Zstack协议栈安装的问题。我就在Win7 64上卸了装,装了卸,且按照TI的FAE的说法一切按照默认路径。但是Win7 64始终出现。最后,发现IAR 7.40安装在C盘就是有可能出现这个问题。安装在D盘就不会。

如果,还有编译出现类似问题的。请将IAR安装在D盘,Zstack协议栈安装在C盘试一下。我是这样弄好的。

谢谢分享。

感觉2640搭个编译环境太难了,什么奇葩问题都有,让你防不胜防。

再次更新,请大家查阅。

NTFS分区下都需要注意,FAT32下就没有权限管理问题了,因为FAT32格式分区不支持权限管理。

你的D盘是FAT32格式吧?C盘是NTFS? 可以看一下。

只是好奇,是ccs还是css

CCS

楼主,我在3台WIN7-64位机器上试过各种搭配,无论是将IAR7.4安在C盘或D盘(包括安装目录中不加空格),协议栈安在C盘或D盘,始终报这个错。

整崩溃了。

现在有哪些DX有成熟的解决方案吗?拜谢了先。

PS:使用管理员身份安装的,C盘和D盘都为NTFS。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top