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.

TMS320C6654: 如何让MAP文件显示静态变量和静态函数的首地址

Part Number: TMS320C6654

TI专家:

       您好,我目前基于CCS10.4开发的C6654 DSP工程需要在MAP文件中显示静态变量和静态函数的首地址,请问如何能实现?

  • 可以在代码中用#pragma DATA_SECTION ( symbol , " section name ")和#pragma CODE_SECTION (symbol , "section name ")伪指令来定义要显示的变量和函数,然后在cmd文件里把section name指定到具体的地址段。具体请参考下面的编译手册。
    7.9.4 The CODE_SECTION Pragma
    7.9.7 The DATA_SECTION Pragma
    https://www.ti.com/lit/ug/sprui04b/sprui04b.pdf


  • 你好,我试过了,这个方法不行,用了伪指令,符号表里也不会增加静态变量和函数。

  • 能否发一下您的代码?

  • Fullscreen
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    /**
    * main.c
    */
    #pragma DATA_SECTION ( s_Data , ".myData")
    #pragma CODE_SECTION ( s_func , ".text")
    int g_Data = 9;
    static int s_Data = 8;
    static int s_func()
    {
    return -1;
    }
    int g_func(int a)
    {
    return (a*5);
    }
    int main(void)
    {
    g_Data = s_func() + g_func(s_Data);
    return 0;
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    Fullscreen
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    GLOBAL SYMBOLS: SORTED ALPHABETICALLY BY Name
    address name
    ------- ----
    008005c0 C$$EXIT
    00830440 __TI_CINIT_Base
    00830458 __TI_CINIT_Limit
    00830434 __TI_Handler_Table_Base
    0083043c __TI_Handler_Table_Limit
    00830400 __TI_STACK_END
    00000400 __TI_STACK_SIZE
    0083040c __TI_STATIC_BASE
    UNDEFED __TI_TLS_INIT_Base
    UNDEFED __TI_TLS_INIT_Limit
    008002c0 __TI_auto_init_nobinit_nopinit
    00830400 __TI_cleanup_ptr
    008005e0 __TI_decompress_none
    00800600 __TI_decompress_rle24
    00830404 __TI_dtors_ptr
    00830408 __TI_enable_exit_profile_output
    ffffffff __TI_pprof_out_hndl
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    第一个是源代码,第二个是符号表,表中没有源代码中定义的静态变量s_Data和静态函数s_func的首地址。

  • 静态变量和静态函数包含在cinit段的,显示不出来。不是静态的,可以在map文件中显示出来。

x 出现错误。请重试或与管理员联系。