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/DRA756:调试期间无法关联 ARM 汇编源

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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/610410/ccs-dra756-unable-to-associate-arm-assembly-source-during-debug

器件型号:DRA756

工具/软件:Code Composer Studio

您好!

我正在尝试单步执行一个在 DRA75x 器件的 Cortex A15_0内核上运行的汇编函数。  汇编函数直接从我的 CCS 工程中的源代码(而不是从库)编译、并且我在编译器标志中启用了调试信息。  当我进入汇编函数时、我会看到一个显示以下内容的窗口:

因此、我丢失了调用堆栈、调试器在单步执行代码时无法与源代码相关联。 我可以单步执行反汇编、但我更喜欢使用源代码本身(带有注释、声明别名等)。

我正在使用以下工具:BIOS_6_50_01_12、CCSv7.1.0、UIA_2_20_00_02、xdctools_3_50_02_20_core、gcc-arm-none-eabi-4_9-2015q3。

asm 文件的 GCC 编译器设置:"-mcpu=cortex-a15 -mtune =cortex-a15 -marm -mfloat-abi=hard -g -gdwarf-3 -gstrict-dwarf -Wall

我在这里还缺少其他东西吗?

谢谢、

斯蒂芬

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的 Stephen:
    您能否为我提供可执行文件? 如果您愿意、您可以通过私人邮件发送给我。

    谢谢
    Ki
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    谢谢、Ki。 我会稍微向您发送一封邮件。

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

    [引用 USER="Stephen Molfetta]我正在使用以下工具:BIOS_6_50_01_12、CCSv7.1.0、UIA_2_20_00_02、xdctools_3_50_02_20_CORE、g7.2-ARM-none-eabi-4_9-2015q3。您是否可以尝试升级到 CCS v7.2.0?

    我在 CCS 6.1.3中报告了类似的问题、但并不总是解决 GCC 汇编器文件的源代码位置问题

    刚刚检查、问题仍然出现在 CCS v7.1.0中、但在 CCS v7.2.0.00013中不再存在。

    在 CCS v7.2.0.00013中、我能够单步执行使用 gcc-arm-no-eabi-4_9-2015q3构建的 Cortex-A15的汇编器功能、而 CCS 显示了源指令的单步执行。

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

    切斯特、您好!

    感谢您的建议- CCSv7.2.0似乎可以将调试器与原始源代码正确关联(尽管仍然不保留调用堆栈)。  更新到 v7.2.0可能不是我们情况的理想选择、因此我仍想等待 Ki 是否能够在7.1.0基准上取得任何额外的进展。  否则、我们将不得不重新考虑版本更新。

    谢谢、

    斯蒂芬

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

    [引用 USER="Stephen Molfetta]CCSv7.2.0似乎将调试器与原始源代码正确关联 (尽管仍然不保留调用栈)。我刚刚记住、还报告了使用 GCC ARM 编译器编译的程序的 CCS 回退并非始终完整的问题-请参阅 CCS 6.2.0.00050在使用 GNU 编译器的 Cortex-A15 SYS/BIOS 程序终止时不显示完整的堆栈回退 出现错误或调用 BIOS_exit()

    缺陷 CCBT-2049是由于该参考线程引起的、计划在 CCS 7.3中修复。

    不确定您未保留调用栈的示例是否与 CCBT-2049相同、或存在其他问题。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    此问题在 CCS 7.3.0 (beta)中是可重现的、似乎是另一个问题。 源代码与相关汇编文件的相关性似乎会丢失。 我为此提交了一份新的 JIRA:CCBT-2132

    谢谢
    Ki
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    此问题将在即将推出的 CCSv7.3.0版本中得到解决

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