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.

TMS320F28379D: .out文件提取变量(包含结构体成员)信息

Part Number: TMS320F28379D

假如我有代码如下:

Fullscreen
1
2
3
4
5
6
7
8
typedef struct
{
uint32_t p32;
uint16_t p16[2];
}TEST_STRUCT;
TEST_STRUCT testStruct;
uint16_t testP[2];
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

我希望能生成各个变量的地址和字节数信息:

Fullscreen
1
2
3
4
5
00009000 02 testP[0]
00009001 02 testP[1]
00009002 04 testStruct.p32
00009004 02 testStruct.p16[0]
00009005 02 testStruct.p16[1]
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

之前使用CCS 8.3.0.00009 时可以通过如下设置,再通过脚本从.out文件里获取变量地址信息:

但目前我使用的CCS12.8.0.00012 ,设置里没有上述选项了,通过脚本也无法获取需要的变量信息了

请问:有什么办法能够实现我需要的功能,或者修改设置,或者通过其它工具获取?实在没有办法的话,可否告知现在的.out文件解析协议,我重新制作工具从现有的.out文件里读取出来?

希望能多帮我查一查,希望能解决这个问题,万分感谢

  • 感谢您对TI产品的关注!
    关于你的咨询,我们正在确认你的问题,稍后回复您。

  • 还没有回复吗?

  • C2000 CGT包括一个名为"object file display utility"的工具ofd2000。 有关使用说明,请参阅TMS320C28x Assembly Language Tools v22.6.0.LTS User's Guide中的""Invoking the Object File Display Utility"一节。 此工具对您的用例是否有帮助? 

  • ofd2000我试过的,不行的,无法获取结构体成员信息,并不满足我的要求

  • 请问我该怎么操作?

  • 编译器应用程序人员George正在休假,直到下周中旬。 他可能对这里要做什么有一些建议。 感谢您的耐心等待。 

  • 很遗憾,我们没有解决您的问题的方法。

    脚本处理较旧的COFF/stabs调试格式。 不再支持该调试格式。 理论上,可以编写一个新的脚本,该脚本使用Dwarf调试信息执行与输入相同的任务。 但是,这个新脚本的实现细节会有很大的不同,因为Dwarf以一种非常不同的方式表示结构信息。 TI不提供执行该任务的脚本。 我们也没有任何关于如何实施的文件。

    我相信你觉得这个答复令人失望。 不幸的是,这是问题的现状。

    感谢并致以问候,

  • 我可以新写脚本读取.out文件,但是我不知道Dwarf格式的.out文件该怎么读取我需要的结构体成员信息,你们能提供Dwarf格式的.out文件解析说明书吗?

  • 你们能提供Dwarf格式的.out文件解析说明书吗?

    不幸的是,没有

    以下是一些可能有用的附加信息。

    请参阅文章A Brief History of TI Object File Formats.。 它主要涵盖对象文件格式。 但最后一部分涵盖了调试信息。

    使用对象文件显示实用程序ofd2000可以避免直接解析.out文件。 它记录在C28x assembly tools manual中。 考虑使用选项--xml将输出格式化为XML。 有许多开源XML解析器可以将其更改为脚本可以处理的格式。