IAR编译CC2640蓝牙项目问题
IAR 7.40.3 ble协议栈2.01,编译stack没问题,编译app出现如下错误,是预编译出错。系统是win7旗舰版
这个问题已经困扰很久了,看起来像是拼人品,很多人也遇到过,有些人重装软件和协议栈可以解决,有些重装系统及软件、协议栈可以解决,而有些怎么弄都好不了,我的电脑只有重装xp系统才行,而再多装几个其他软件就又不行了,貌似是跟其他软件冲突,但也没找到规律,不止ti官方有没有解决方法
Building configuration: CC2640App - FlashROM
Updating build tree...
Performing Pre-Build Action
Error while running "C:\ti\xdctools_3_31_01_33_core/xs" --xdcpath="C:\ti\tirtos_simplelink_2_13_00_06\products\bios_6_42_00_08\packages" iar.tools.configuro -c "C:\Program Files\IAR
Systems\Embedded Workbench 7.2\arm" --cc "C:\Program Files\IAR Systems\Embedded Workbench 7.2\arm\bin\iccarm.exe" --device "CC2640F128" --compileOptions "-D USE_ICALL -D
xPOWER_SAVING -D HEAPMGR_SIZE=2672 -D TI_DRIVERS_SPI_DMA_INCLUDED -D TI_DRIVERS_LCD_INCLUDED -D ICALL_MAX_NUM_TASKS=4 -D ICALL_MAX_NUM_ENTITIES=6
-D xdc_runtime_Assert_DISABLE_ALL -D xdc_runtime_Log_DISABLE_ALL -D CC26XXWARE -D CC26XX -D NPI_USE_UART -D LCD_TO_UART -D HW_VER10 --diag_suppress Pa050 -o C:\
ti\simplelink\ble_cc26xx_2_01_00_44423\Projects\ble\SimpleBLEPeripheral-factory\CC26xx\IAR\Application\CC2640\FlashROM\Obj\ --debug --endian=little --cpu=Cortex-M3 -f C:\ti\simplelink\
ble_cc26xx_2_01_00_44423\Projects\ble\SimpleBLEPeripheral-factory\CC26xx\IAR\Application\CC2640\..\..\..\..\..\..\..\Projects\ble\config\buildComponents.opt -f C:\ti\simplelink\
ble_cc26xx_2_01_00_44423\Projects\ble\SimpleBLEPeripheral-factory\CC26xx\IAR\Application\CC2640\configPkg\compiler.opt.defs -f C:\ti\simplelink\ble_cc26xx_2_01_00_44423\Projects\ble\
SimpleBLEPeripheral-factory\CC26xx\IAR\Application\CC2640\..\..\Config\IAR-Boundary.bdef -e --fpu=None --dlib_config \"C:\Program Files\IAR Systems\Embedded Workbench 7.2\arm\INC\c\
DLib_Config_Normal.h\" -I C:\ti\simplelink\ble_cc26xx_2_01_00_44423\Projects\ble\SimpleBLEPeripheral-factory\CC26xx\IAR\Application\CC2640\ -I C:\ti\simplelink\ble_cc26xx_2_01_00_44423\
Projects\ble\SimpleBLEPeripheral-factory\CC26xx\IAR\Application\CC2640/../../../Source/Application\ -I C:\ti\simplelink\ble_cc26xx_2_01_00_44423\Projects\ble\SimpleBLEPeripheral-factory\
CC26xx\IAR\Application\CC2640/../../../../../../../Projects/ble/Include\ -I C:\ti\simplelink\ble_cc26xx_2_01_00_44423\Projects\ble\SimpleBLEPeripheral-factory\CC26xx\IAR\Application\
CC2640/../../../../../../../Projects/ble/ICall/Include\ -I C:\ti\simplelink\ble_cc26xx_2_01_00_44423\Projects\ble\SimpleBLEPeripheral-factory\CC26xx\IAR\Application\
CC2640/../../../../../../../Projects/ble/Profiles/Roles/CC26xx\ -I C:\ti\simplelink\ble_cc26xx_2_01_00_44423\Projects\ble\SimpleBLEPeripheral-factory\CC26xx\IAR\Application\
CC2640/../../../../../../../Projects/ble/Profiles/Roles\ -I C:\ti\simplelink\ble_cc26xx_2_01_00_44423\Projects\ble\SimpleBLEPeripheral-factory\CC26xx\IAR\Application\
CC2640/../../../../../../../Projects/ble/Profiles/DevInfo\ -I C:\ti\simplelink\ble_cc26xx_2_01_00_44423\Projects\ble\SimpleBLEPeripheral-factory\CC26xx\IAR\Application\
CC2640/../../../../../../../Projects/ble/Profiles/SimpleProfile/CC26xx\ -I C:\ti\simplelink\ble_cc26xx_2_01_00_44423\Projects\ble\SimpleBLEPeripheral-factory\CC26xx\IAR\Application\
CC2640/../../../../../../../Projects/ble/Profiles/SimpleProfile\ -I C:\ti\simplelink\ble_cc26xx_2_01_00_44423\Projects\ble\SimpleBLEPeripheral-factory\CC26xx\IAR\Application\
CC2640/../../../../../../../Projects/ble/common/cc26xx\ -I C:\ti\simplelink\ble_cc26xx_2_01_00_44423\Projects\ble\SimpleBLEPeripheral-factory\CC26xx\IAR\Application\
CC2640/../../../../../../../Components/applib/heap\ -I C:\ti\simplelink\ble_cc26xx_2_01_00_44423\Projects\ble\SimpleBLEPeripheral-factory\CC26xx\IAR\Application\
CC2640/../../../../../../../Components/ble/hci\ -I C:\ti\simplelink\ble_cc26xx_2_01_00_44423\Projects\ble\SimpleBLEPeripheral-factory\CC26xx\IAR\Application\
CC2640/../../../../../../../Components/ble/controller/CC26xx/include\ -I C:\ti\simplelink\ble_cc26xx_2_01_00_44423\Projects\ble\SimpleBLEPeripheral-factory\CC26xx\IAR\Application\
CC2640/../../../../../../../Components/ble/host\ -I C:\ti\simplelink\ble_cc26xx_2_01_00_44423\Projects\ble\SimpleBLEPeripheral-factory\CC26xx\IAR\Application\
CC2640/../../../../../../../Components/hal/target/CC2650/rom\ -I C:\ti\simplelink\ble_cc26xx_2_01_00_44423\Projects\ble\SimpleBLEPeripheral-factory\CC26xx\IAR\Application\
CC2640/../../../../../../../Components/hal/target/CC2650TIRTOS\ -I C:\ti\simplelink\ble_cc26xx_2_01_00_44423\Projects\ble\SimpleBLEPeripheral-factory\CC26xx\IAR\Application\
CC2640/../../../../../../../Components/hal/target/_common/cc26xx\ -I C:\ti\simplelink\ble_cc26xx_2_01_00_44423\Projects\ble\SimpleBLEPeripheral-factory\CC26xx\IAR\Application\
CC2640/../../../../../../../Components/hal/include\ -I C:\ti\simplelink\ble_cc26xx_2_01_00_44423\Projects\ble\SimpleBLEPeripheral-factory\CC26xx\IAR\Application\
CC2640/../../../../../../../Components/osal/include\ -I C:\ti\simplelink\ble_cc26xx_2_01_00_44423\Projects\ble\SimpleBLEPeripheral-factory\CC26xx\IAR\Application\
CC2640/../../../../../../../Components/services/sdata\ -I C:\ti\simplelink\ble_cc26xx_2_01_00_44423\Projects\ble\SimpleBLEPeripheral-factory\CC26xx\IAR\Application\
CC2640/../../../../../../../Components/services/saddr\ -I C:\ti\simplelink\ble_cc26xx_2_01_00_44423\Projects\ble\SimpleBLEPeripheral-factory\CC26xx\IAR\Application\
CC2640/../../../../../../../Components/icall/include\ -I C:\ti\simplelink\ble_cc26xx_2_01_00_44423\Projects\ble\SimpleBLEPeripheral-factory\CC26xx\IAR\Application\
CC2640/../../../../../../../Components/ble/include\ -I C:\ti\tirtos_simplelink_2_13_00_06\products\cc26xxware_2_21_01_15600\ -I C:\ti\tirtos_simplelink_2_13_00_06\packages\ -I C:\ti\
tirtos_simplelink_2_13_00_06\packages\ti\boards\SRF06EB\CC2650EM_7ID\ -I C:\ti\tirtos_simplelink_2_13_00_06\packages\ti\drivers\ -I C:\ti\tirtos_simplelink_2_13_00_06\packages\ti\drivers\
pin\ -Ohz" --linkOptions "-o C:\ti\simplelink\ble_cc26xx_2_01_00_44423\Projects\ble\SimpleBLEPeripheral-factory\CC26xx\IAR\Application\CC2640\FlashROM\Exe\
SimpleBLEPeripheralAppFlashROM.out --map C:\ti\simplelink\ble_cc26xx_2_01_00_44423\Projects\ble\SimpleBLEPeripheral-factory\CC26xx\IAR\Application\CC2640\FlashROM\List\
SimpleBLEPeripheralAppFlashROM.map --config C:\ti\simplelink\ble_cc26xx_2_01_00_44423\Projects\ble\SimpleBLEPeripheral-factory\CC26xx\IAR\Application\CC2640\..\..\..\..\..\common\
cc26xx\IAR\cc26xx_ble_app.icf --keep __vector_table -f C:\ti\simplelink\ble_cc26xx_2_01_00_44423\Projects\ble\SimpleBLEPeripheral-factory\CC26xx\IAR\Application\CC2640\configPkg\
linker.cmd -f C:\ti\simplelink\ble_cc26xx_2_01_00_44423\Projects\ble\SimpleBLEPeripheral-factory\CC26xx\IAR\Application\CC2640\..\..\Config\IAR-Boundary.xcl C:\ti\
tirtos_simplelink_2_13_00_06\products\cc26xxware_2_21_01_15600\driverlib\bin\iar\driverlib.lib C:\ti\tirtos_simplelink_2_13_00_06\packages\ti\drivers\lib\drivers_cc26xxware.arm3 --entry
__iar_program_start --vfe" --profile release --projFile "C:\ti\simplelink\ble_cc26xx_2_01_00_44423\Projects\ble\SimpleBLEPeripheral-factory\CC26xx\IAR\Application\CC2640\CC2640App.ewp"
Total number of errors: 1
Total number of warnings: 0
第一次使用时,也遇到了这个问题,后来重装系统后不出现了
至今没搞清楚哪里的问题,,,,
都没问题?
如果IAR环境下的Configure Custom Argument Variables里面的配置对的话,很有可能是工程文件路径的问题
终于搞定了,IAR不要安装在默认路径,装在C盘根目录就可以。我两台不行的电脑都ok了,曾经还为这个装了虚拟机,真是折腾啊。
这个问题是Windows 目录名/文件名 带空格惹的祸。
xdctool自动生成makefile时,如下则出错:
RTSLIB = -iC:/Program Files (x86)/IARSYS~1/EMBEDD~1.2/arm/lib/ -llibc.a
在某些新安装的系统上,xdctool自动生成makefile如下,则不出错:
RTSLIB = -iC:/PROGRA~2/IARSYS~1/EMBEDD~1.2/arm/lib/ -llibc.a
这个问题有点奇怪的是iar 和ti的协议栈及xdctool版本一样,但不同机器运行结果不同。
本人愚钝,哪位高人指点一下。最好有简单的解决办法。
期待。。。如果我找到办法,也会来告诉大家。。
检查一些所有的工程和stack 的文件名和安装路径呢?
不光空格,文件名或路径里包含 " / \ 这些字符也会让一些编译器报错。
哈哈!成功了!
我的iar装在D盘,用dir/x看不到8.3name。
用命令: fsutil file setshortname "Program Files (x86)" PROGRA~2
加上8.3name后就Rebuild all就好使啦!
不过fsutil命令需要在win8恢复模式命令行下执行,而且该模式下盘符变得乱七八糟,需要找到想改的盘符和系统盘\windows\system32\fsutil.exe
验证还是重启后用dir/x看一下有没有8.3name。
然后就是Rebuild all。。。没错啦!哈哈!