主题:C2000WARE 中讨论的其他器件
工具/软件:
您好专家、
我正在寻找有关使用 C29x Clang 编译器从输出文件中为变量生成 DWARF 格式的调试信息的指导。 是否有人可以就实现此目标的正确方法或流程提出建议?
任何帮助或建议都将非常感谢!
此致
Deep Ganatra
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.
工具/软件:
您好专家、
我正在寻找有关使用 C29x Clang 编译器从输出文件中为变量生成 DWARF 格式的调试信息的指导。 是否有人可以就实现此目标的正确方法或流程提出建议?
任何帮助或建议都将非常感谢!
此致
Deep Ganatra
TI C29x 编译器中可用的调试选项在此处列出: https://software-dl.ti.com/codegen/docs/c29clang/compiler_tools_user_guide/compiler_manual/using_compiler/compiler_options/debug_options.html。
Ajay
带有--dwarf_display 和--xml 选项的 c29ofd 实用程序可能是您要找的? https://software-dl.ti.com/codegen/docs/c29clang/compiler_tools_user_guide/compiler_manual/other_object_utilities/util_ofd.html
如果您想与 DWARF 配合使用、下面是几个基于开源 LLVM 的工具、这些工具是很好的起点:
* https://www.llvm.org/docs/CommandGuide/llvm-dwarfdump.html
* https://llvm.org/docs/CommandGuide/llvm-dwarfutil.html
我们目前没有计划支持 DWARF 版本4或5。 从这些较新的版本中是否有您感兴趣的任何特定功能?
谢谢 Anil 的答复,
我真的很感谢您的意见。
我只是假设 TI CLANG 编译器和 TI C28编译器中的 DWARF 版本4相同 、 如果我没记错、在 C28编译器上、我们会将调试信息作为默认的 DWARF 版本4获得。
因此,我只想知道,如果我必须更新我的脚本,以与两个 DWARF 版本, DWARF 版本3和版本4一起使用。 当时我正在处理 C28和 C29控制器工程、 并且 显然能够在解析器中处理这两者。
此致
Deep Ganatra
在 C28编译器上、我们将调试信息作为默认的 DWARF 版本4
正确、前提是您使用了该选项 -- abi=eabi 并使用较新的 EABI 进行构建。 在过去几年中、C2000Ware 仅支持 EABI。 因此、您很可能也使用 EABI。
我只是假设 TI CLANG 编译器和 TI C28编译器中的 DWARF 版本4相同
您似乎认为 Dwarf (任何版本)是一个非常严格的规范、对于相同的输入、不同的编译器必须发出几乎相同的输出。 这是一个错误的假设。 最好将 Dwarf 规范视为与编程语言类似。 在 C 语言中、您可以用多少种不同的方式来编写排序函数? 当然、有许多不同的方式。 同样、Dwarf 可以通过多种不同的方式表示相同的调试信息。 C29编译器的 Dwarf 生成部分和 C28编译器的实现方式有很大不同。 第一种是开源协议、第二种是 TI 专有协议。 虽然有些东西看起来是一样的,但很确定其他东西看起来是不同的。 没有人试图让他们都是一样的。
如果我必须更新我的脚本才能与 DWARF 版本、DWARF 版本3和版本4一起使用
可以开始了。
我正在开发使用 C28和 C29控制器的项目
很可能您可以编写单个脚本(或一组脚本)来处理两个编译器的 Dwarf 输出。 但请预计、此脚本需要处理比您当前预期更广泛的可能输入。
谢谢。此致、
-乔治