Other Parts Discussed in Thread: AM6442
器件型号: AM6442
您好:
我正在尝试使用 JTAG‑ICE (DTS Insight SupervisXross) 调试针对 AM6442 构建的 U‑Boot。 我正在使用 TI Processor SDK 10.00.07.04、其中包含 U‑Boot。 我 Build U‑Boot 并将生成的二进制文件加载到调试器中。
在 JTAG‑ICE 连接到 U‑Boot 后、我可以设置断点并执行单个‑步执行。 ‑、生成的 ELF 二进制文件不包含调试段.debug_frame 或.eh_frame、因此 next/step 取代和变量观察功能不起作用。 JTAG‑ICE 供应商的支持团队认为、缺少.debug_frame/.eh_frame 确实是根本原因。
我已经尝试过:
- 将以下每个 Kconfig 选项设置为 Yes(是):
- CONFIG_CC_Optimize_FOR_SIZE
- CONFIG_CC_Optimize_FOR_debug
- 添加以下 GCC 编译选项:
- fno-exclude-frame-pointer
- fno-异步 — 展开表
所有这些更改都没有帮助。 我没有更改构建脚本中的任何其他内容。
当我在 KBUILD_CFGS 中设置以下内容时、包含.debug_frame 是否存在差异:
KBUILD_CFLAGS += -Os -g -fno-omit-frame-pointer -fno-asynchronous-unwind-tables
结果:
- R5 SPL (u-boot-spl):存在.debug_frame、不存在.eh_frame
- A53 SPL (u-boot-spl):.debug_frame 和.eh_frame 都不存在
- A53 U‑引导 (u-boot):.debug_frame 和.eh_frame 都不存在
是否有人知道如何配置 U‑Boot 的构建以使生成的 ELF 包含.debug_frame 和/或.eh_frame? 我们非常希望提供任何建议或举例。
注:在日本、4 月 29 日至 5 月 6 日有一个长假、因此我的回复可能会延迟到 5 月 7 日之后。 感谢您的理解。