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.

[参考译文] MSP430FR5994:包含不需要的库的链接器(例如 libc.a)

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1120889/msp430fr5994-linker-including-unwanted-libraries-libc-a-for-example

器件型号:MSP430FR5994

问题

在哪里可以找到工程的属性(alt-Enter)中允许我添加或删除将涉及在链接器命令行上使用-l (dash-L)的库文件(例如扩展名*。a)的页面?

目前、我在构建中获得了以下链接器行:

"C:/Users/Jon/Documents/ti/ccs1120/ccs/tools/compiler/ti-cgt-msp430_21.6.0.LTS/bin/cl430" -vmspx --code_model=small --data_model=small --use_hw_mpy=F5 --advice:power=all --advice:hw_config=all --define=__MSP430FR5994__ --define=_MPU_ENABLE -g --printf_support=minimal --diag_warning=225 --diag_wrap=off --display_error_number --silicon_errata=CPU21 --silicon_errata=CPU22 --silicon_errata=CPU40 -z -m"FPTEST.map" --heap_size=0 --stack_size=0 --cinit_hold_wdt=on -i"C:/Users/Jon/Documents/ti/ccs1120/ccs/ccs_base/msp430/include" -i"C:/Users/Jon/Documents/ti/ccs1120/ccs/ccs_base/msp430/lib/5xx_6xx_FRxx" -i"C:/Users/Jon/Documents/ti/ccs1120/ccs/ccs_base/msp430/lib/FR59xx" -i"C:/Users/Jon/Documents/ti/ccs1120/ccs/tools/compiler/ti-cgt-msp430_21.6.0.LTS/lib" -i"C:/Users/Jon/Documents/ti/ccs1120/ccs/tools/compiler/ti-cgt-msp430_21.6.0.LTS/include" --priority --reread_libs --define=_MPU_ENABLE --diag_wrap=off --display_error_number --warn_sections --xml_link_info="FPTEST_linkInfo.xml" --entry_point=RESET --use_hw_mpy=F5 -o "FPTEST.out" "./main.obj" "../lnk_msp430fr5994.cmd"  -llibmpu_init.a -llibmath.a -llibc.a 

请注意、最后是:-llibmath.a -llibc.a  

不过、我不需要它们。 我还无法找到可以删除它们的属性页。

同时、我已将违规行定位在名为".cproject"的文件中。 它们是:

<listOptionValue builtIn="false" value="libmpu_init.a"/>
<listOptionValue builtIn="false" value="libmath.a"/>
<listOptionValue builtIn="false" value="libc.a"/>

XML 中列出的所有内容。

但我似乎无法在 alt-Enter Properties 中找到它们、因此我可以在那里删除它们。

只需编辑.cproject 文件并删除这些选项即可。 这样就完成了工作。

但我想知道是否有一种"标准方法"来实现它、我只是在这种情况下无法自行找到它。

注意:我知道链接器不一定会将库内容传输到我的项目中、这只是因为库列在链接器命令行上。 我想将它们删除的原因纯粹是一种疯狂的欲望、而不是出于虚假的信仰。

谢谢!

背景

我使用的是 CCS 的版本11、并且正在处理一个仅汇编语言的项目。 我也完全不熟悉 CCS (到目前为止、仅工作一周。) 我是汇编编码的新手(在我的生命周期中到目前为止可能已经有数千个汇编项目)我也不是对 MSP430进行编程的新手(我上一个此类项目在十年前使用了 IAR Kickstart 工具、IAR 似乎已经改变了它们的关系以达到业余目的- 装配体过去大小不受限制、但现在似乎是有限的、除非使用了全额付费许可证。)

我使用标准工程向导创建了我认为仅汇编工程的工程。 首先、我使用内置调试器工具开始编写和测试代码(这对于计算周期数是无用的、但这是另一个问题。) 但是、随着我逐步解决了更重要的问题、我已经深入了解了链接器命令行以及工程的属性页。 我看到的大部分对我来说都是有意义的、我可以看到影响。 但我在理解需要帮助的地方时遇到了一个特殊的问题。

那么、这就是这个问题的背景。 我不需要关于汇编编码的一般性教育。 这个问题对于 CCS IDE 非常具体、尤其是其中的属性页、并控制在构建过程中添加到链接器命令中的选项。

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

    您好、Jonathan、

    查看 CCS 中的 Project Explorer (这是项目和所有文件的显示位置)、如果您单击项目名称、右键单击将出现一个下拉菜单。  选择"Show Build Settings"。 此时将显示一个对话框。 展开 MSP430链接器选项、然后选择文件搜索路径。  您可以在此屏幕截图中看到要包含在我们的编译中的库的名称(.lib 或.a)。 请告诉我、这是否回答了您的问题。

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

    完美! 我的问题是我没有看到"Project Explorer"。 阅读完您的写作后、我立即知道要查看"视图"以添加它。 然后、我按照您的指示对信函进行了操作。 非常有帮助。

    非常感谢您抽出时间参加我们的节目!