由于工程文件写得太大,导至编译时报错以下内容
Severity and Descrip
tion Path Resource Location Creation Time Id placement fails for object ".text", size 0xdeb (page 0). Available ranges: RAML0L1 size: 0xc00 unused: 0xc00 max hole: 0xc00 Example_2803xSci_FFDLB_int line 0 1373964999687 599
现在将28035_RAM_LNK.CMD文件修改如下,红色部份是修改的内容
MEMORY [ PAGE 0 : /* BEGIN is used for the "boot to SARAM" bootloader mode */
BEGIN : origin = 0x000000, length = 0x000002
RAMM0 : origin = 0x000050, length = 0x0003B0
RAML0L1 : origin = 0x008000, length = 0x000C00
//我把这句改成RAML0L1 : origin = 0x008000, length = 0x001000
RESET : origin = 0x3FFFC0, length = 0x000002
IQTABLES : origin = 0x3FE000, length = 0x000B50
/* IQ Math Tables in Boot ROM */ IQTABLES2 : origin = 0x3FEB50, length = 0x00008C /* IQ Math Tables in Boot ROM */ IQTABLES3 : origin = 0x3FEBDC, length = 0x0000AA /* IQ Math Tables in Boot ROM */
BOOTROM : origin = 0x3FF27C, length = 0x000D44
PAGE 1 :
BOOT_RSVD : origin = 0x000002, length = 0x00004E
/* Part of M0, BOOT rom will use this for stack */
RAMM1 : origin = 0x000480, length = 0x000380 /* on-chip RAM block M1 */
RAML2 : origin = 0x008C00, length = 0x000400 //
这句改成 origin = 0x009000, length = 0x000400
RAML3 : origin = 0x009000, length = 0x001000 ]//
这句改成 origin = 0x009400, length = 0x000C00
SECTIONS [ /* Setup for "boot to SARAM" mode: The codestart section (found in DSP28_CodeStartBranch.asm) re-directs execution to the start of user code. */ codestart : > BEGIN, PAGE = 0 ramfuncs : > RAMM0 PAGE = 0 .text : > RAML0L1, PAGE = 0 .cinit : > RAMM0, PAGE = 0 .pinit : > RAMM0, PAGE = 0 .switch : > RAMM0, PAGE = 0 .reset : > RESET, PAGE = 0, TYPE = DSECT /* not used, */
.stack : > RAMM1, PAGE = 1 .ebss : > RAML2, PAGE = 1 .econst : > RAML2, PAGE = 1 .esysmem : > RAML2, PAGE = 1
IQmath : > RAML0L1, PAGE = 0 IQmathTables : > IQTABLES, PAGE = 0, TYPE = NOLOAD
/* Uncomment the section below if calling the IQNexp() or IQexp() functions from the IQMath.lib library in order to utilize the relevant IQ Math table in Boot ROM (This saves space and Boot ROM is 1 wait-state). If this section is not uncommented, IQmathTables2 will be loaded into other memory (SARAM, Flash, etc.) and will take up space, but 0 wait-state is possible. */ /* IQmathTables2 : > IQTABLES2, PAGE = 0, TYPE = NOLOAD [
IQmath.lib
(IQmathTablesRam)
] */ /* Uncomment the section below if calling the IQNasin() or IQasin() functions from the IQMath.lib library in order to utilize the relevant IQ Math table in Boot ROM (This saves space and Boot ROM is 1 wait-state). If this section is not uncommented, IQmathTables2 will be loaded into other memory (SARAM, Flash, etc.) and will take up space, but 0 wait-state is possible. */ /* IQmathTables3 : > IQTABLES3, PAGE = 0, TYPE = NOLOAD [
IQmath.lib
(IQmathTablesRam)
] */
]
按上述方法改过CMD文件后编译和下载程序到RAM时都正常了,但不知道有没有什么地方错没有,所以请教TI工程师们?
当烧写程序到FLASH时同样的方法改了F28035.CMD文件 ,程序没办法下载到FLASH,报一些像是CPU没上电之类的错误,就算有时候下进去了,但调试程序一点运行按键会报一些乱七八遭的错误,之前也是这样报错,然后多写FLASH几次,MCU就挂掉了。
找不到原因,不敢试了,手头MCU不够了,请TI大大们指条明路。
我用的MCU是TMS320F28035
仿真器是Texas Instrumets XDS100V2 USB Emulator
0