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.

[参考译文] TMS320F280039:TI280039一页占用的空间

Guru**** 2393265 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1441390/tms320f280039-ti280039-how-much-space-a-page-takes-up

器件型号:TMS320F280039

工具与软件:

您好!

  Link config:"HEADERINFO     :origin = 0x080010、length = 0x000100"

  使用此地址段、CCS  build error:"program will not fit into available memory、或者该段包含的调用站点需要无法为该段生成蹦床函数。 对齐/分块放置失败的段"CodeInfoFile"大小0xff 第0页。 "。然后链接修改配置为 "HEADERINFO     :origin = 0x080100、length = 0x000100"、build sun。

  那么 TI280039一页占用多少空间? 是否每页为256?

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

    您好!

    此器件将位于 FLASH_BANK0_SEC0器件中。 在加载.out 文件之前、您能否确认这些位置中是否没有其他数据。

    另外、请查看内存使用控制台并验证部分中的空间。

    您可以从生成的.map 文件(位于 CPU1_FLASH 文件夹内)中找到加载这些位置的数据。

    如果可以在此处共享链接器 cmd 文件、我可以进一步调试该问题。

    谢谢

    Aswin  

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

    尊敬的  Aswin:

       FLASH_BANK0_SEC0中还有其他数据、您可以查看下面的 cmd 内容。

    MEMORY
    {
       BEGIN            : origin = 0x00080000, length = 0x00000002
       BOOT_RSVD        : origin = 0x00000002, length = 0x00000126
    
       RAMM0            : origin = 0x00000128, length = 0x000002D8
       RAMM1            : origin = 0x00000400, length = 0x000003F8
      
       CLA_PROG_RAM     : origin = 0x008000, length = 0x001800
    
       RAMLS34           : origin = 0x00009800, length = 0x00001000
       RAMLS5           : origin = 0x0000A800, length = 0x00000800
       RAMLS6           : origin = 0x0000B000, length = 0x00000800
       RAMLS7           : origin = 0x0000B800, length = 0x00000800
     
       RAMGS0123           : origin = 0x0000C000, length = 0x00003FF0
      
       BOOTROM          : origin = 0x003F8000, length = 0x00007FC0
       SECURE_ROM       : origin = 0x003F2000, length = 0x00006000
    
       RESET            : origin = 0x003FFFC0, length = 0x00000002
    
       /* Flash sectors */
       /* BANK 0 */
       HEADERINFO        : origin = 0x080010, length = 0x000100, fill 0xFFFF /* on-chip Flash */
       CPU_PROG_FLASH    : origin = 0x080120, length = 0x004EE0		/* on-chip Flash */
    
       CLA1_MSGRAMLOW   : origin = 0x001480, length = 0x000080
       CLA1_MSGRAMHIGH  : origin = 0x001500, length = 0x000080
    }
    
    
    SECTIONS
    {
       codestart        : > BEGIN, ALIGN(8)
       .text            : > CPU_PROG_FLASH,   ALIGN(8)
       .cinit           : > CPU_PROG_FLASH,  ALIGN(8)
       .switch          : > CPU_PROG_FLASH,  ALIGN(8)
       .reset           : > RESET,                  TYPE = DSECT /* not used, */
    
       .stack           : > RAMM1
    
    #if defined(__TI_EABI__)
       .init_array      : > CPU_PROG_FLASH,  ALIGN(8)
       .bss             : > RAMGS0123
       .bss:output      : > RAMGS0123
       .bss:cio         : > RAMGS0123
       .data            : > RAMGS0123
       .sysmem          : > RAMGS0123
       .const           : > CPU_PROG_FLASH,  ALIGN(8)
    #else
       .pinit           : > CPU_PROG_FLASH,  ALIGN(8)
       .ebss            : > RAMGS0123
       .esysmem         : > RAMGS0123
       .cio             : > RAMGS0123
       .econst          : > CPU_PROG_FLASH,  ALIGN(8)
    #endif
    
        ramgs0 : > RAMGS0123
        ramgs1 : > RAMGS0123
    
        /*  Allocate IQ math areas: */
       IQmath           : > CPU_PROG_FLASH, ALIGN(8)
       IQmathTables     : > CPU_PROG_FLASH, ALIGN(8)
    
       /* CLA specific sections */
       Cla1Prog 	   : LOAD = CPU_PROG_FLASH,
    					 RUN = CLA_PROG_RAM,
    					 LOAD_START(Cla1ProgLoadStart),
    					 RUN_START(Cla1ProgRunStart),
    					 LOAD_SIZE(Cla1ProgLoadSize),
    					 ALIGN(8)
    
       Cla1ToCpuMsgRAM  : > CLA1_MSGRAMLOW
       CpuToCla1MsgRAM  : > CLA1_MSGRAMHIGH
    
      GROUP
       {
           .TI.ramfunc
           { -l FAPI_F28003x_EABI_v1.58.10.lib}
    
       }				  LOAD = CPU_PROG_FLASH,
                          RUN = RAMLS34,
                          LOAD_START(RamfuncsLoadStart),
                          LOAD_SIZE(RamfuncsLoadSize),
                          LOAD_END(RamfuncsLoadEnd),
                          RUN_START(RamfuncsRunStart),
                          RUN_SIZE(RamfuncsRunSize),
                          RUN_END(RamfuncsRunEnd),
                          ALIGN(8)
    
       .scratchpad      : > RAMLS7
       .bss_cla         : > RAMLS7
    
        Cla1DataRam     : > RAMLS7
    
        .const_cla      :  LOAD = CPU_PROG_FLASH,
                           RUN = CLA_PROG_RAM,
                           RUN_START(Cla1ConstRunStart),
                           LOAD_START(Cla1ConstLoadStart),
                           LOAD_SIZE(Cla1ConstLoadSize),
                           ALIGN(4)
    
        CodeInfoFile    : > HEADERINFO
    }
    

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

    您好!

    您是否可以增加 HEADERINFO 的长度并最终使 CPU_PROG_FLASH 来源移动?

    请查看"Memory Allocation"视图、查找各个部分的数据容量。

    请查找链接器 cmd 文件的该文档- TI 链接器命令文件入门

    您还可以在位置(c2000ware-release\device_support\f28003x\common\cmd)中找到示例链接器 cmd 文件。

    谢谢

    Aswin