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.

[参考译文] 编译器/TMS570LC4357:TMS570LC4357

Guru**** 2457760 points


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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/938859/compiler-tms570lc4357-tms570lc4357

器件型号:TMS570LC4357

工具/软件:TI C/C++编译器

您好!

我使用的是 CCS 版本8.2.0。 对于其中一个函数、我尝试在 CCS GUI 工具/编辑器中使用以下符号映射

--symbol_map='function_5=function_1'

此符号映射在 CCS 编辑器/GUI 工作区中工作(即 在源代码中调用函数'function_1'的位置调用 Function5)。

我在 Makefile 规则中转换了此选项、并使用'omake' 命令来构建源代码。 创建编译、但在编译中不会执行符号映射。

我通过 CCS GUI 工具/编辑器交叉验证了构建映射文件、使用"omake"命令 创建了一个映射文件。 符号映射未在由 omake 命令创建的编译上完成。

但是、符号映射在编译上完成、该编译是通过 CCS GUI 工具(工作区)/编辑器创建的。

请帮助我解决从命令行使用'omake'命令创建编译时的符号映射问题、该命令使用 make 规则作为输入文件并编译和创建可执行文件

TI ARM 编译器套件。

请提供您的快速回答。 我们从 TI 购买了许可的工具和调试器。

谢谢、此致、

N. Patchaiaappan

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

    您好!

    -symbol_map=refname=defname 仅在与-opt_level=4搭配使用时受支持。

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

    您好!

    根据 TI MSP430汇编语言工具 v20.8.0.STS 用户指南,以下是相关信息

    它应该能够达到优化级别4。

    我尝试了优化级别0 (无优化) CCS 工具、它工作正常。

    但是、当使用 IBM ClearCase 工具的'omake'命令从命令行窗口编译和链接它时、它不起作用、该工具将使规则文件作为输入。

    即使是这样、我也尝试了由 CCS 工具生成的编译和链接命令1。 从 CCS 工具控制台输出窗口中获取了相同的编译和链接命令 、并在 Windows 命令提示符中尝试了该命令、但它不适用于符号映射。

    您能否分析并确认正确的问题以解决此问题?

    谢谢、此致、

    N. Patchaiaappan

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

    上述答复中缺少指南附件,我在此再次附上。

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

    [引用 user="Patchaiaappan Nallasingam">我通过 CCS GUI 工具/编辑 器创建了经过交叉验证的编译映射文件、其中创建了一个包含"omake"命令的编译映射文件。 符号映射未在由 omake 命令创建的编译上完成。是否可以获得"omake"以列出编译期间正在运行的命令?

    与如何将选项传递给 TI ARM 编译器而不是 TI ARM 编译器有关的问题可能是"omake"问题。

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

    请参阅以下 TI ARM 编译器用户指南:

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

    在此、我将附上示例工作区和比较报告供您参考(在 CCS_SYMBOL_MAP_SAMPLE.zip 文件中)。

    当从 CCS GUI 工具/编辑器编译和链接软件时、会完成符号映射

    而当从命令提示符编译和链接软件时、不会执行符号映射。

    在 C 驱动器中提取 CCS_SYMBOL_MAP_SAMPLE.zip 后、 将提供用于 CCS 的完整工程。

    在提取的文件夹中、您可以在以下路径中找到 LinkInfo.xml 比较报告:

    "C:\ccs_symbol_map_samples\Samples\Debug\LinkInfoCompareReport.html"

    和符号地图比较报告位于以下路径中:

    "C:\ccs_symbol_map_samples\Samples\Debug\SymbolMapCompareReport.html"

    以下路径中存在示例源文件路径:

    "C:\ccs_symbol_map_samples\Samples\samples\source\codes\file1.c"

    "C:\ccs_symbol_map_samples\Samples\Samples\sources\codes\file2.c"

    "C:\ccs_symbol_map_samples\Samples\samples\sources\codes\sys_linker.cmd"

    若要从命令编译和链接文件、将创建以下批处理文件并将其显示在以下路径中:

    "C:\ccs_symbol_map_samples\Samples\Debug\BatchCmd.bat"

    e2e.ti.com/.../3582.CCS_5F00_SYMBOL_5F00_MAP_5F00_SAMPLE.zipPlease快速分析并提供您的解决方案。

    谢谢、此致、

    N.Patchaiaappan

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

    您好!

    我注意到、在由 CCS 编译/链接生成的映射文件中、FUNF1被替换为 FUNT2。

    当您在 CMD 窗口中调用 armcl 时、请在  编译选项中使用--symbol_map=Fun1=Fun2而不是--symbol_map='Fun1=Fun2'。

    我选中了它、它会生成与 CCS 相同的映射文件

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

    很好。 问题现已解决。

    感谢您的快速支持。

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

    如果问题已解决、请单击已解决。 谢谢

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

    问题现已解决。