工具/软件:Code Composer Studio
在“项目属性”->“常规”下,“链接器命令文件”字段将不可解释地变为空白。
我们正在将CCSv7版本TM4C 7.1 .0.0.0016万 与TI和GNU编译器配合使用,以便为TM4C系列MCU编写代码。 该项目最初是为TI编译器创建的。 随后,我们按照以下说明操作: processors.wiki.ti.com/.../Using_GCC_with_Tiva_in_CCSv6 为GNU GCC (Linaro)添加构建配置。 编译器版本为:TI-CGT-ARM_ARM.3.LTS 16.9 和gcc-ARP-NONE-eabi-4_9-2015q3。
我们的项目将按照以下建议签入版本控制系统: processors.wiki.ti.com/.../Source_control_with_CCS ,即我们签入了.ccsproject,.cproject,.project和.settings文件夹,但我们没有签入以下文件夹:\Debug或\Release或其他生成工件文件夹,.config或.eass。 我们没有检入targetConfigs文件夹,因为我们使用的是"自动管理项目的目标配置",并且在检查其中的文件时,它们似乎与构建过程无关。 我们还遵循了此处的建议: processors.wiki.ti.com/.../Portable_Projects 以使项目可移植,因为多台计算机上的多个用户可能会将项目从版本控制中签出并处理该项目。 我们做的另一件事是将tm4c129encpdt.lds文件(这是GNU链接器命令文件)复制到项目目录中,以保持一致性,因为tm4c129encpdt.cmd (TI链接器命令文件)位于项目目录中。 我们将tm4c129encpdt.lds重命名为tm4c129encpdt_gcc.lds,以便与添加GNU构建配置时创建的tm4c129encpdt_startup_css_gcc.c文件保持一致。 我们在“项目属性”->“常规”的“链接器命令文件”字段中设置此名称。 测试该构建成功后,我们将项目状态承诺为版本控制。
为了测试该项目实际上是否可移植,我们将其签出到一个新目录中,然后将其导入到新的CCS工作区中。 当我们检查设置以确保没有丢失任何内容时,我们注意到上述链接程序命令文件字段(在“项目属性”->“常规”下)现在为空。 奇怪的是,构建似乎仍然成功,并且链接程序命令引用此文件:
'调用:GNU Linker '
c:\ti/ccsv7/tools/compiler/gcc-arm-none-eabi-4_9-2015q3/bin/arm-none-eabi-gcc.exe"-dpart_TM4C129ENCPDT -DT-DTARGET_is_tumb 4C129_RA0 -ffunci-sections -Fdata-dwar-m-m/swlect-mc-mw-mc-mc3"mwlf-fmc-mc-mc-msp-mc" msp-mcwlip-dwar-dwar-dim_mwlip-dimmwlf-dimmc-mc-darm-dimmc-dimmc"-dav-dav-dimmwlip-dav-dimmwlip-dimmwlip-dim-dim-dim-dim-dim-dim-dimm/smwlip-dimm/smwlip-mwlf-mwlip-dwlip- 2.1 4.178
'完成构建目标:master.out '
我们担心这可能是一个错误。 另外,我们担心在“项目属性”中更改任何其他设置并应用更改会应用此字段中现在不正确的内容,并丢失链接程序命令文件设置。
在提交和签出版本控制时保留项目状态,并且不会丢失影响生成的项目设置,这一点至关重要。