TI中文支持网
TI专业的中文技术问题搜集分享网站

f28335.cmd修改问题

程序中有四个1024长度的浮点数组,因为tmsf28335内部ram不够,修改官方28335_RAM_lnk.cmd文件,将

   RAML0      : origin = 0x008000, length = 0x001000      

 RAML1      : origin = 0x009000, length = 0x001000      

RAML2      : origin = 0x00A000, length = 0x001000      

RAML3      : origin = 0x00B000, length = 0x001000

合并为一个大的连续的地址空间,即:

/*   

 RAML0      : origin = 0x008000, length = 0x001000      

 RAML1      : origin = 0x009000, length = 0x001000      

 RAML2      : origin = 0x00A000, length = 0x001000      

RAML3      : origin = 0x00B000, length = 0x001000

*/   

RAML       : origin = 0x008000, length = 0x004000

但是在类似修改f28335.cmd文件时,编译无法通过,请问改修改哪些程序段才能达到与修改后的28335_RAM_lnk.cmd一样的效果。

附件为修改后的28335_RAM_lnk.cmd

Mecca J:

附件为修改后的官方28335_RAM_lnk.cmd文件

程序中有四个1024长度的浮点数组,因为tmsf28335内部ram不够,修改官方28335_RAM_lnk.cmd文件,将

   RAML0      : origin = 0x008000, length = 0x001000      

 RAML1      : origin = 0x009000, length = 0x001000      

RAML2      : origin = 0x00A000, length = 0x001000      

RAML3      : origin = 0x00B000, length = 0x001000

合并为一个大的连续的地址空间,即:

/*   

 RAML0      : origin = 0x008000, length = 0x001000      

 RAML1      : origin = 0x009000, length = 0x001000      

 RAML2      : origin = 0x00A000, length = 0x001000      

RAML3      : origin = 0x00B000, length = 0x001000

*/   

RAML       : origin = 0x008000, length = 0x004000

但是在类似修改f28335.cmd文件时,编译无法通过,请问改修改哪些程序段才能达到与修改后的28335_RAM_lnk.cmd一样的效果。

附件为修改后的28335_RAM_lnk.cmd

Hardy Hu:

你好!

编译时CCS报的什么错误?

估计是下面的SECTIONS部分没有对应的进行修改,

建议直接在SECTIONS里面进行修改,空间不够时,可使用RAML1 | RAML2这样将两片空间分配给一个段

程序中有四个1024长度的浮点数组,因为tmsf28335内部ram不够,修改官方28335_RAM_lnk.cmd文件,将

   RAML0      : origin = 0x008000, length = 0x001000      

 RAML1      : origin = 0x009000, length = 0x001000      

RAML2      : origin = 0x00A000, length = 0x001000      

RAML3      : origin = 0x00B000, length = 0x001000

合并为一个大的连续的地址空间,即:

/*   

 RAML0      : origin = 0x008000, length = 0x001000      

 RAML1      : origin = 0x009000, length = 0x001000      

 RAML2      : origin = 0x00A000, length = 0x001000      

RAML3      : origin = 0x00B000, length = 0x001000

*/   

RAML       : origin = 0x008000, length = 0x004000

但是在类似修改f28335.cmd文件时,编译无法通过,请问改修改哪些程序段才能达到与修改后的28335_RAM_lnk.cmd一样的效果。

附件为修改后的28335_RAM_lnk.cmd

Ming Jiang1:

回复 Hardy Hu:

你好,报错如下:

warning: can't find a memory area named 'RAML0' on page 0 for allocation of 'ramfuncs'>> error: can't find any memory areas for allocation of 'ramfuncs'>> error: can't allocate 'ramfuncs' into 'RAML0' (page 0)>> warning: entry point other than _c_int00 specified>> error: errors in input – ./Debug/Example_2833xAdcSeq_ovdTest.out not built

>> Compilation failure

Build Complete, 4 Errors, 5 Warnings, 0 Remarks.

程序中有四个1024长度的浮点数组,因为tmsf28335内部ram不够,修改官方28335_RAM_lnk.cmd文件,将

   RAML0      : origin = 0x008000, length = 0x001000      

 RAML1      : origin = 0x009000, length = 0x001000      

RAML2      : origin = 0x00A000, length = 0x001000      

RAML3      : origin = 0x00B000, length = 0x001000

合并为一个大的连续的地址空间,即:

/*   

 RAML0      : origin = 0x008000, length = 0x001000      

 RAML1      : origin = 0x009000, length = 0x001000      

 RAML2      : origin = 0x00A000, length = 0x001000      

RAML3      : origin = 0x00B000, length = 0x001000

*/   

RAML       : origin = 0x008000, length = 0x004000

但是在类似修改f28335.cmd文件时,编译无法通过,请问改修改哪些程序段才能达到与修改后的28335_RAM_lnk.cmd一样的效果。

附件为修改后的28335_RAM_lnk.cmd

Eric Ma:

回复 Ming Jiang1:

Ming Jiang,

从出错的信息来看,由于你将所有的RAM都合并为RAML,所以就没有了RAML0,但是应该下面的section段定义中有用到RAML0,所以报错。把它改成RAML即可。

Eric

赞(0)
未经允许不得转载:TI中文支持网 » f28335.cmd修改问题
分享到: 更多 (0)