This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] CCS/TMS320F2812:CCS未形成正确的cl2000链接器命令行

Guru**** 2477885 points
Other Parts Discussed in Thread: PROFIBUS

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/625418/ccs-tms320f2812-ccs-does-not-form-correct-cl2000-linker-command-line

部件号:TMS320F2812
主题中讨论的其他部件:Profibus

工具/软件:Code Composer Studio

是否有方法欺骗7.1 以形成正确的链接命令行?

CCS7将形成如下所示的链接命令,但链接失败-->

H:\projects\PW-87xxx\Software\Python\Release>"C:/ti/ccsv7/tools/compiler/ti-CGT-
c2000_asb.2/bin/cl2000"<xmt-block0>2000 5.0 --define=lag_model --keep_asm --symdebug:dwarf --diag_
warning=225 --isseme_remarks --verbose_diagnostics --large内存模型--silic
_version=28 --unified内存--gen_opt_info=2 --opt_level=3 --optimizer_interlis
t -z --rom_model --absolute_exe --heap_size=1 --map_file="Python.map"--no_symta
BLE --priority --reread_libs --search_path="C:/ti/ccsv7/tools/compiler/ti-CGT-c2.
000_CGT.2/lib" 5.0 --search_path="C:/ti/ccsv7/tools/compiler/ti-CGT-c2000_Cps.2/ 5.0 包含
ude"--search_path="H:/projects/PW-87xxx/Software/Python"--stack_size=1024 --wa.
rn_sections --xml_link_info="Python_linkInfo.xml"-o "Python.out "./src/ADC_Con
Fig.obj""./src/ADC_ISR.obj""./src/App_ISR.obj""./src/CanCtrl.obj""./src/Comm
TimerISR.obj"./src/Current_Fault_ISR.obj""./src/DSP28_CodeStartBranch.obj""。
/src/DSP28_DBGER.obj""./src/DSP28_GlobalVariableDefs.obj""./src/DSP28_PIECTRL
obj""./src/DSP28_SWalitizeDefaultIsr.obj""./src/DSP28_SWPrioritizeVec
T.OBJ""./src/dischared.obj""./src/EVA_Config.obj""./src/EVB_Config.obj""./sr
C/Hall_Capture_ISr.obj""./src/IO_Processing_ISr.obj""./src/InitGpio.obj""./sr
C/Precharge.obj "./src/Profibus_ISR.obj""./src/Python_Diagnostics.obj"./src/
Python_Init_c.obj""./src/Python_c.obj""./src/RamFunctions.obj""./src/Resolver
.ob""./src/SCIRXTX_ISR.obj""./src/SCIbRXTX_ISR.obj""./src/ScaleFacts.obj"
"./src/SpeedPos_ISr.obj""./src/Version.obj""./src/WAKEINT_ISR.obj""./src/XINT
f_Config.obj"./src/datalog.obj""./src/eepro.obj""./src/SPI.obj"--library=r
ts2800_ml.lib --library="H:/projects/PW-87xxx/Software/PythonLib/Release/PythonL
ib.out "./cmd/Flash.cmd"
链接>
>> C:\Users\moorep\AppData\Local\Temp\7.6003万,第52行:  错误:
              找不到输入文件
              'H:/Projects/PW-87xxx/Software/PythonLib/Release/PythonLib.Out
              ../Cmd/Flash.cmd '

>>编译失败

如果我从cmd shell键入链接程序命令行(如下所示),链接将成功。  库文件必须位于flash.cmd文件-->之前

H:\projects\PW-87xxx\Software\Python\Release>"C:/ti/ccsv7/tools/compiler/ti-CGT-
c2000_asb.2/bin/cl2000"<xmt-block0>2000 5.0 --define=lag_model --keep_asm --symdebug:dwarf --diag_
warning=225 --isseme_remarks --verbose_diagnostics --large内存模型--silic
_version=28 --unified内存--gen_opt_info=2 --opt_level=3 --optimizer_interlis
t -z --rom_model --absolute_exe --heap_size=1 --map_file="Python.map"--no_symta
BLE --priority --reread_libs --search_path="C:/ti/ccsv7/tools/compiler/ti-CGT-c2.
000_CGT.2/lib" 5.0 --search_path="C:/ti/ccsv7/tools/compiler/ti-CGT-c2000_Cps.2/ 5.0 包含
ude"--search_path="H:/projects/PW-87xxx/Software/Python"--stack_size=1024 --wa.
rn_sections --xml_link_info="Python_linkInfo.xml"-o "Python.out "./src/ADC_Con
Fig.obj""./src/ADC_ISR.obj""./src/App_ISR.obj""./src/CanCtrl.obj""./src/Comm
TimerISR.obj"./src/Current_Fault_ISR.obj""./src/DSP28_CodeStartBranch.obj""。
/src/DSP28_DBGER.obj""./src/DSP28_GlobalVariableDefs.obj""./src/DSP28_PIECTRL
obj""./src/DSP28_SWalitizeDefaultIsr.obj""./src/DSP28_SWPrioritizeVec
T.OBJ""./src/dischared.obj""./src/EVA_Config.obj""./src/EVB_Config.obj""./sr
C/Hall_Capture_ISr.obj""./src/IO_Processing_ISr.obj""./src/InitGpio.obj""./sr
C/Precharge.obj "./src/Profibus_ISR.obj""./src/Python_Diagnostics.obj"./src/
Python_Init_c.obj""./src/Python_c.obj""./src/RamFunctions.obj""./src/Resolver
.ob""./src/SCIRXTX_ISR.obj""./src/SCIbRXTX_ISR.obj""./src/ScaleFacts.obj"
"./src/SpeedPos_ISr.obj""./src/Version.obj""./src/WAKEINT_ISR.obj""./src/XINT
f_Config.obj"./src/datalog.obj""./src/eepro.obj""./src/SPI.obj"--library=r
ts2800_ml.lib --library="H:/projects/PW-87xxx/Software/PythonLib/Release/PythonL
ib.out "../Cmd/Flash.cmd"
链接>

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    [QUOTE USER="Paul Moore75">CCS7形成如下链接命令且链接失败-->[/QUOT]

    这是由于命令中出现了拼写错误:

    --library=rts2800_ml.lib --library="H:/projects/PW-87xxx/Software/PythonLib/Release/PythonLib.out "./cmd/Flash.cmd"

    第二个--library选项缺少结束引号。 请在“CCS项目属性”->“生成”->“链接器”->“文件搜索路径”选项下检查您的设置。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    缺少引号是因为我输入的错误。

    如果我在命令提示符处复制/粘贴CCS link命令行,链接将失败,因为它找不到pythonlib.out。

    如果我在命令提示符处复制/粘贴CCS link命令行,但将./cmd/flash.cmd部分移到该行的末尾,则所有这些都可以很好地编译。

    我有一个可以发送给您的示例项目,但我不知道如何完成。  您可以亲眼看到。

    正在构建目标:TI_Linker_Test.Out

    '调用:C2000连接器'

    “c:/ti/ccsv7/tools/compiler/ti-CGT-C2000_C2000_C2000_level=2/bin/cl2000"<xmt-block0>2000 5.02000 5.0</xmt-block>2000 --diag_warning=225 --display_error_number --lag_memory_model --silic_version=28 --silic_unic_memory --opt_level=2 -z --ro_rom_model=-rom_model=-obj_size=--robycm_size_map/stru_ram_lins/srbip_lins="-crm/t_lins="-clip_lins="-clip_link_lins/link/link/link="-clip_lins="-clip_lins="-clip_lins="-clip_link_lins="-clip_lins="-cl_lins="-cl_linkd_lins="-cl_lins="-smart_/srbon_/srbd_/srb_lins="-cl_lins="-cl_linkd_lin 5.0 5.0  

    链接>

    >> Flash.cmd: 错误:系统错误,无法打开文件'PythonLib.out for input:

               没有此类文件或目录

    >>编译失败

    ===================================================================================================

    ===================================================================================================

    “c:/ti/ccsv7/tools/compiler/ti-CGT-C2000 5.0 .2/bin/cl2000"--diag_warning=225 --display_error_number --lag_memory_model --silic_version=28 --unified _memory --opt_level=2 -z --rom_model --obj_size=1 --glag_membr_membr_ram_le_model=-stori_store="-smart_storag_s/srb_lins="-link_lins="-smart_/srb_lins="-link_/srb_lins="-link_links_links_links_/srbon_lins="-link_/srbon_linu_linu_lins="-common_links_links_links_lins="-common_link="-common_link="-commit_link="-common_links_links_links_/sur_link_link="-common_link="-commit_link 5.0 5.0  

    编译成功

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    好的,现在我明白了。

    基于此消息:

    >> Flash.cmd: 错误:系统错误,无法打开文件'PythonLib.out for input:

              没有此类文件或目录

    我的猜测是Flash.cmd对PythonLib.out有一些引用,但在链接程序正在读取.cmd文件时,它不知道PythonLib.out的路径。  

    您可以通过以下几种方式解决此问题:

    1)不要在--library选项中指定完整路径,而是将路径“C:\Users/moorep/Documents/Code Composer/TI_Linker_Test/lib”添加到--search_path链接器选项中,并将--library选项设置为只为PythonLib.out。 这样,它将知道.cmd文件中的文件引用之前的搜索路径。

    2)您可以更改这两个文件传递到链接器的顺序。 转到“项目属性”->“生成”->“链接顺序”选项卡。 您可以在其中将Flash.cmd和PythonLib.out添加到顺序列表并控制顺序,以便Flash.cmd最后出现。

    希望这有所帮助。 让我们知道问题是否仍未解决。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您引导我找到问题的根源。
    在C2000 Linker - General Options中,我有列在“包括库...”中的库,包括pythonlib.out以及工作空间相对路径。
    这些库需要在此处列出,以便可以与CCS Build - Link Order选项卡中的.obj一起进行订购。
    我将obj,库和cmd文件都按照我需要的方式在CCS Build - Link Order中排序。
    只有项目中包含的库才会显示在链接顺序的"添加..."菜单中。 我以这种方式成功地添加了pythonlib.out。
    遗憾的是,链接顺序使用'absolute'路径(而不是相对于workspace的路径)将库放在列表中。 现在,将项目安装在另一个目录或计算机中会导致问题。 无法找到Pythonlib.out,因为绝对路径已不存在。
    我无法看到纠正此操作的方法。 文件显示在'Add...(添加...)'列表中,单击它,链接顺序文件现在具有绝对路径。
    我可以通过删除文件并将其重新添加到链接顺序来解决问题。 但这并不好。 在某些地方,我必须解释如何检查项目并进行修复,以便能够重建。