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.

[参考译文] TMS320F2812:链接器输出中的新章节

Guru**** 2538955 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1242434/tms320f2812-new-sections-in-linker-output

器件型号:TMS320F2812

您好!

               我要将旧代码移植到较新的工具、生成的 ABS 文件包含在使用较旧工具时不存在的部分。  具体而言、新的部分如下:

.debug_aranges

.debug_pubnames

.debug_pubtypes

$build.attributes

               我一直在努力寻找对这些问题的解释,但在我目前知道的任何文件中都未能找到这些问题的解释。  我应该在哪里查看?

谢谢!

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

    您好  

    请告知我们您之前使用的工具的版本以及您想要迁移到哪个版本。

    此致

    西达尔特  

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

    尊敬的 Siddarth:

    旧版本 v4.2.1

    新版本  v20.2.5 LTS

    谢谢!

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

    您好!  

    我会将此问题转发给编译器团队进行澄清。

    此致

    西达尔特

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

    所有这些节都与目标系统上的存储器没有直接关系。  它们包含有关可执行文件的信息。  以段名开头的部分 .debug 包含 Code Composer Studio 等调试器的信息。  添加了部分 $build.attributes 包含有关文件构建方式的信息、例如所选的 CPU、编译器选项、内存模型等。  链接器使用构建属性来检查文件和库是否兼容。  

    目标文件显示实用程序 ofd2000 可帮助您了解这些部分的内容。   C28x 汇编工具手册中介绍了相关内容。  下面是一个例子...

    % ofd2000 --obj_display=none,sections file.out
    
    OBJECT FILE:  file.out
    
     Section Information
    
        id name                      page load addr  run addr     size align alloc
        -- ----                      ---- ---------  --------     ---- ----- -----
         1 $build.attributes            0 0x00000000 0x00000000   0x2a     1   N
         2 .text                        0 0x00000040 0x00000040  0xab9     1   Y
         3 .data                        0 0x00000040 0x00000040      0     1   Y
         4 .bss                         1 0x00000000 0x00000000      0     1   Y
         5 .cinit                       0 0x00000af9 0x00000af9   0x79     1   Y
         6 .pinit                       0 0x00000000 0x00000000      0     2   N
         7 .stack                       1 0x00000400 0x00000400  0x400     2   Y
         8 .esysmem                     1 0x00000000 0x00000000  0x400     2   Y
         9 .ppdata                      0 0x00000000 0x00000000      0     1   N
        10 .debug_info                  0 0x00000000 0x00000000 0x9ddf     1   N
        11 .econst                      0 0x00000b72 0x00000b72   0x10     2   Y
        12 .debug_frame                 0 0x00000000 0x00000000  0x8e0     4   N
        13 .debug_line                  0 0x00000000 0x00000000 0x1619     1   N
        14 .reset                       0 0x00000b82 0x00000b82    0x2     2   Y
        15 .ebss                        1 0x00000800 0x00000800  0x1b0     2   Y
        16 .cio                         1 0x000009c0 0x000009c0  0x120     1   Y
        17 .debug_abbrev                0 0x00000000 0x00000000  0x33e     1   N
        18 .debug_aranges               0 0x00000000 0x00000000  0x5e0     1   N
        19 .debug_pubnames              0 0x00000000 0x00000000  0x749     1   N
        20 .debug_pubtypes              0 0x00000000 0x00000000  0x506     1   N

    输出仅限于有关段的信息。  请注意标题为 分配 。  对于此条目所在的段 n ,它是一个空的段,或者它不会直接影响执行。   

    要更好地了解这些段所包含的内容,请运行类似于...的命令。

    % ofd2000 -g -o=file_info.txt file.out

    ... 然后检查文本文件 file_info.txt

    谢谢。此致、

    -乔治

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

    我有一种感觉,这是情况,但需要从当局听到。

    我在输出文件上运行了 ofd2000、可以看到它提供了大量信息、我将使用这些信息来处理我遇到的另一个问题。

    谢谢你,George