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.

[参考译文] TMS570LS3137-EP:将多个 elf 文件组合成一个调试符号文件

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1137644/tms570ls3137-ep-combining-multiple-elf-files-for-a-single-debug-symbol-file

器件型号:TMS570LS3137-EP

我们在 使用 CCS 上的 ARM 编译器20.2.4 LTS 生成的项目中有多个.out (elf)和.out (十六进制 Tek 格式)。

最终项目交付要求是具有单个 elf 和单个 Tek 文件。

我可以  通过连接多 个 Tek 文件来创建单个 Tek。 现在、我需要组合所有 elf 文件以获得一个 elf 文件、这是在 CCS 中加载符号所必需的。

那么、我如何才能获得一个合并多个 elf 文件的 elf 文件。

或者、我是否可以从 多 个 elf 文件中提取所有调试符号信息并放入单个文件、然后将其 用于调试、

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

    您好 Sagar、

    我们已开始处理您的问题、我们将很快为您提供更新。

    --

    谢谢、此致。

    Jagadish。

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

    您好 Jagadish、

    您对输出文件有任何更新。

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

    您好 Sagar、

    很抱歉耽误你的时间、现在我没有任何更新可以与你分享。 我会浏览与此相关的所有旧线程和计量、我看不到任何清晰的信息来解决它。 我现在正在与我的内部团队讨论、我将在几天内向您提供最新信息。

    感谢您的耐心等待。

    --

    谢谢、此致、

    Jagadish。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引用 userid="506163" URL"~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1137644/tms570ls3137-ep-combining-multiple-elf-files-for-a-single-debug-symbol-file "]因此,如何获取包含多个 elf 文件的单个 elf 文件。

    找到 的 ARM-CGT:组合两个二进制文件 、这说明您应该能够使用 armhex 实用程序来组合多个 elf 文件。

    如果出现"error:memory ranges "image_6" and "image_7" out of order"形式的错误、则另请参阅 ARM-CGT:error:memory ranges "image_1" and "image_2" out of order"

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

    谢谢。

    armhex 正在合并 elf 文件。 但我认为合并的 elf 文件不完整。 它没有调试符号信息。

    当我加载合并的文件时、我无法进行调试(显示无可用的调试信息)。

    我还看到合并的 elf 文件的大小小于单个 elf 文件的组合大小。

    我已使用以下选项进行合并。 请告知我是否可以合并各个 elf 文件的调试信息内容。

    armhex --load_image --load_image:format=elf --load_image:endian=big --load_image:combine_sections =true --load_image:output_symbols=true 1.out 2.out 3.out 4.out 5.out 6.out -o merged.out

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引用 userid="506163" URL"~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1137644/tms570ls3137-ep-combining-multiple-elf-files-for-a-single-debug-symbol-file/4361641 #4361641"]请告知我是否可以合并各个 elf 文件的调试信息内容。

    目前、我不确定如何合并各个 elf 文件的调试信息。

    CCS 调试器可在启动调试会话后选择添加符号-请参见 启动后。 作为允许调试的变通方法、可以多次使用"添加符号"、依次选择每个 elf .out 文件。

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

    您好 Sagar、

    我知道用于删除 elf 文件中的调试信息的命令、但不知道如何合并调试信息、

    armobjcopy -O ELF32-littleum --strip-all --strip-debug --strip-unneed.out application_new.out

    上述命令将从应用程序 elf 文件中删除调试信息并创建新的应用程序 elf 文件。

    --

    谢谢、此致、

    Jagadish。

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

    据我了解、目前没有工具或方法可以合并 elf 文件中的调试信息。 关闭螺纹。 谢谢。