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.

[参考译文] TMS320F280039C:我想请求更正 cmd 文件。

Guru**** 2522770 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1399011/tms320f280039c-i-would-like-to-request-a-correction-to-the-cmd-file

器件型号:TMS320F280039C

工具与软件:

我将上传到闪存并使用 CLA、一些程序将从闪存移动到 RAM 存储器、我将使用 FPU_FastRTS、IQmath、FASTINTDIV、CLAmath 的库。 在这种情况下、我应该如何修改 cmd 文件?

这是我的 cmd 文件  

小程序

begin:origin = 0x00080000、length = 0x00000002
BOOT_RSVD:origin = 0x00000002、length = 0x00000126

RAMM0:origin = 0x00000128、length = 0x000002D8
RAMM1:origin = 0x00000400、length = 0x000003F8
// RAMM1_RSVD:origin = 0x000007F8、length = 0x00000008 /*根据 errata 公告"存储器:预取超出有效存储器"*、保留代码空间并勿用于此代码

RAMLS0:origin = 0x00008000、length = 0x00000800
RAMLS1:origin = 0x00008800、length = 0x00000800
RAMLS2:origin = 0x00009000、length = 0x00000800
RAMLS3 : origin = 0x00009800、length = 0x00000800
RAMLS4:origin = 0x0000A000、length = 0x00000800
RAMLS5:origin = 0x0000A800、length = 0x00000800
RAMLS6:origin = 0x0000B000、length = 0x00000800
RAMLS7:origin = 0x0000B800、length = 0x00000800

RAMGS0:origin = 0x0000C000、length = 0x00001000
RAMGS1 : origin = 0x0000D000 , length = 0x00001000
RAMGS2 : origin = 0x0000E000 , length = 0x00001000
RAMGS3 : origin = 0x0000F000, length = 0x00000FF8
// RAMGS3_RSVD:origin = 0x0000FFF8、length = 0x00000008 /*根据 errata 公告"内存:预取超出有效内存"*、保留代码且不用于此代码

BootROM:origin = 0x003F8000、length = 0x00007FC0
secure_rom:origin = 0x003F2000、length = 0x00006000

复位:origin = 0x003FFFC0、length = 0x00000002

/*闪存扇区*/
/*组0 */
FLASH_BANK0_SEC0:origin = 0x080002、length = 0x000FFE
FLASH_BANK0_SEC1:origin = 0x081000、length = 0x001000
FLASH_BANK0_sec2:origin = 0x082000、length = 0x001000
FLASH_BANK0_SEC3:origin = 0x083000、length = 0x001000
FLASH_BANK0_SEC4:origin = 0x084000、length = 0x001000
FLASH_BANK0_SEC5:origin = 0x085000、length = 0x001000
FLASH_BANK0_SEC6:origin = 0x086000、length = 0x001000
FLASH_BANK0_sec7:origin = 0x087000、length = 0x001000
FLASH_BANK0_SEC8:origin = 0x088000、length = 0x001000
FLASH_BANK0_SEC9:origin = 0x089000、length = 0x001000
FLASH_BANK0_SEC10:origin = 0x08A000、length = 0x001000
FLASH_BANK0_SEC11:origin = 0x08B000、length = 0x001000
FLASH_BANK0_SEC12:origin = 0x08C000、length = 0x001000
FLASH_BANK0_SEC13:origin = 0x08D000、length = 0x001000
FLASH_BANK0_SEC14:origin = 0x08E000、length = 0x001000
FLASH_BANK0_SEC15:origin = 0x08F000、length = 0x001000

/*组1 */
Flash_BANK1_SEC0:origin = 0x090000、length = 0x001000
Flash_BANK1_SEC1:origin = 0x091000、length = 0x001000
Flash_Bank1_sec2:origin = 0x092000、length = 0x001000
Flash_BANK1_SEC3:origin = 0x093000、length = 0x001000
Flash_BANK1_SEC4:origin = 0x094000、length = 0x001000
Flash_BANK1_SEC5:origin = 0x095000、length = 0x001000
FLASH_Bank1_SEC6:origin = 0x096000、length = 0x001000
FLASH_Bank1_sec7:origin = 0x097000、length = 0x001000
FLASH_Bank1_SEC8:origin = 0x098000、length = 0x001000
FLASH_Bank1_SEC9:origin = 0x099000、length = 0x001000
Flash_BANK1_SEC10:origin = 0x09A000、length = 0x001000
Flash_BANK1_SEC11:origin = 0x09B000、length = 0x001000
Flash_BANK1_SEC12:origin = 0x09C000、length = 0x001000
Flash_BANK1_SEC13:origin = 0x09D000、length = 0x001000
FLASH_Bank1_SEC14:origin = 0x09E000、length = 0x001000
FLASH_Bank1_SEC15:origin = 0x09F000、length = 0x001000

/*组2 */
FLASH_Bank2_SEC0:origin = 0x0A0000、length = 0x001000
FLASH_Bank2_SEC1:origin = 0x0A1000、length = 0x001000
Flash_Bank2_sec2:origin = 0x0A2000、length = 0x001000
FLASH_Bank2_SEC3:origin = 0x0A3000、length = 0x001000
FLASH_Bank2_SEC4:origin = 0x0A4000、length = 0x001000
Flash_BANK2_SEC5:origin = 0x0A5000、length = 0x001000
FLASH_Bank2_SEC6:origin = 0x0A6000、length = 0x001000
Flash_Bank2_sec7:origin = 0x0A7000、length = 0x001000
FLASH_Bank2_SEC8:origin = 0x0A8000、length = 0x001000
FLASH_Bank2_SEC9:origin = 0x0A9000、length = 0x001000
FLASH_Bank2_SEC10:origin = 0x0AA000、length = 0x001000
FLASH_Bank2_SEC11:origin = 0x0AB000、length = 0x001000
FLASH_Bank2_SEC12:origin = 0x0AC000、length = 0x001000
FLASH_Bank2_SEC13:origin = 0x0AD000、length = 0x001000
FLASH_Bank2_SEC14:origin = 0x0AE000、length = 0x001000
FLASH_Bank2_SEC15:origin = 0x0AF000、length = 0x000FF0

// FLASH_BANK0_SEC15_RSVD:origin = 0x0AFFF0、length = 0x000010 /*根据 errata 通报"Memory:prefeting Beyond VALID Memory"保留代码、且不用于此代码*/


CLA1_MSGRAMLOW:origin = 0x001480、length = 0x000080
CLA1_MSGRAMHIGH:origin = 0x001500、length = 0x000080
}


部分中)

.cinit:> FLASH_BANK0_SEC1、ALIGN (4)
.text :>> FLASH_BANK0_SEC2 | FLASH_BANK0_SEC3, ALIGN (4)
codestart :> beging, align(4)

.stack :> RAMM1.
.switch:> FLASH_BANK0_SEC1、ALIGN (4)

#if defined (_TI_EABI__)
.init_array :> FLASH_BANK0_SEC1, ALIGN (4)
.bss :> RAMLS5.
.bss:output :> RAMLS5.
. bss:cio :> RAMLS5.
.data :> RAMLS6.
.sysmem :> RAMLS6.
.const:> FLASH_BANK0_SEC4 ALIGN (4)
#else
请输入:> FLASH_BANK0_SEC1 ALIGN(4)
.ebss :>> RAMLS5 | RAMLS6.
.esysmem :> RAMLS6.
.cio :> RAMLS5.
econst :> FLASH_BANK0_SEC4.
#endif

ramgs0 :> ramgs0
ramgs1 :> RAMGS1.

.reset :> RESET , TYPE = DSECT /* NOT USED ,*/

dclfuncs :> FLASH_BANK0_SEC1, ALIGN (4)


#if defined (_TI_EABI__)
/* CLA 特定部分*/
Cla1Prog:load = flash_BANK0_SEC4、
RUN = RAMLS0、
Load_start (Cla1ProgLoadStart)、
RUN_START (Cla1ProgRunStart)、
Load_Size (Cla1ProgLoadSize)、
对齐(4)
#else
/* CLA 特定部分*/
Cla1Prog:load = flash_BANK0_SEC4、
RUN = RAMLS0、
Load_start (_Cla1ProgLoadStart)、
RUN_START (_Cla1ProgRunStart)、
Load_Size (_Cla1ProgLoadSize)、
对齐(4)
#endif


Cla1ToCpuMsgRAM:> CLA1_MSGRAMLOW
CpuToCla1MsgRAM:> CLA1_MSGRAMHH

#if defined (_TI_EABI__)
.TI.ramfunc:load = FLASH_BANK0_SEC1、
运行= RAMLS4
Load_start (RamfuncsLoadStart)、
Load_Size (RamfuncsLoadSize)、
Load_End (RamfuncsLoadEnd)、
RUN_START (RamfuncsRunStart)、
RUN_SIZE (RamfuncsRunSize)、
RUN_END (RamfuncsRunEnd)、
对齐(4)
#else
.TI.ramfunc:load = FLASH_BANK0_SEC1、
运行= RAMLS4
Load_start (_RamfuncsLoadStart)、
Load_Size (_RamfuncsLoadSize)、
Load_End (_RamfuncsLoadEnd)、
RUN_START (_RamfuncsRunStart)、
RUN_SIZE (_RamfuncsRunSize)、
RUN_END (_RamfuncsRunEnd)、
对齐(4)
#endif

.scratchpad :> RAMLS1
bss_cla :> RAMLS1.

Cla1DataRam :> RAMLS2
cla_shared :> RAMLS1.
CLADATALS1 :> RAMLS1

#if defined (_TI_EABI__)
const_cla:load = flash_BANK0_sec2、
RUN = RAMLS1、
RUN_START (Cla1ConstRunStart)、
Load_start (Cla1ConstLoadStart)、
Load_Size (Cla1ConstLoadSize)、
对齐(4)
#else
const_cla:load = flash_BANK0_sec2、
RUN = RAMLS1、
RUN_START (_Cla1ConstRunStart)、
Load_start (_Cla1ConstLoadStart)、
Load_Size (_Cla1ConstLoadSize)、
对齐(4)
#endif

}

/*
//________________________________________________====
//文件结尾。
//________________________________________________====
*/