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.

[参考译文] AWR2944:TI Clang 2.1.2 LTS:在调试器中将函数地址逐个关闭 (Thumb 模式、Cortex-R5)

Guru**** 2540720 points


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

https://e2e.ti.com/support/sensors-group/sensors/f/sensors-forum/1554973/awr2944-ti-clang-2-1-2-lts-function-address-off-by-one-in-debugger-thumb-mode-cortex-r5

器件型号:AWR2944


工具/软件:

您好 TI 社区、

我将在 Windows 11 上使用 TI Clang 2.1.2 LTS 编译器、在 Thumb 模式下针对 Cortex-R5 CPU 进行编译。 我发现 ELF/MAP 文件中显示的函数地址与 TI 调试器中显示的地址之间存在差异。

相关函数是`ActivateTask`、它不通过链接器命令文件显式放置、而是由链接器自动分配。

地址差异:
- ELF/MAP 文件地址:0x102CCF61
-调试器显示:0x102CCF60

在调试器中、这似乎是低一个字节的一致偏移。 由于这是 Thumb 模式、我怀疑这可能与用于指示 Thumb 状态的 LSB 相关(对于 Thumb、位 0 = 1)、但我想确认:

-这种行为在调试器中是预期的吗?
-调试器是否有意在显示地址时清除 Thumb 位?
-这可能是一个错误或配置问题?

如有任何澄清、将不胜感激。

此致、
Thorsten Fuchs

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

    尊敬的 Thorsten:

    您能否提供测试用例? 它不必是您的实际项目、而是精简、甚至是一个基本的虚拟示例。

    谢谢

    Ki