大家好:
我想请问下link.cmd什么怎么自动生成的啊?在link.cmd中,有:
MEMORY
{
L2SRAM (RWX) : org = 0x800000, len = 0x80000
MSMCSRAM (RWX) : org = 0xc000000, len = 0x400000
DDR3 : org = 0x80000000, len = 0x20000000
}
如果我想要新加段就可以直接在MEMORY里面加吗?还是需要在其他什么地方配置,然后自动生成?
另外,从Debug窗口里RTSC TOOLS->platform->Edit里面的custom memory和以上的memory有什么关系?
谢谢!
qiang yu1:
我的了解:
1.linker.cmd(link.cmd?)是根据custom memory和cfg文件共同的配置决定,是自动生成的。如果cfg文件不使用Program.sectMap,那么code/data/stack会默认按照RTSC TOOLS->platform->Edit中的配置
2.如果自己想添加有几种方法:一是自己新建cmd文件来增加段,但是不能增加已存在段的定义。而是直接在平台中增加。【在平台中增加需要clean project才能生效】。还有一种就是使用Program.sectionExclude 或 Program.sectionTemplate 或Program.linkTemplate,这种我没试过
studying:
回复 qiang yu1:
qiang yu1,
您好,是linker.cmd,刚打错了,不好意思哈。
在RTSC TOOLS->platform->Edit中,有如下窗口:
这个窗口里的vlfft是什么意思呢?一定是使用的vlfft?
谢谢您!
qiang yu1:
回复 studying:
您好
如果选择的是RTSC TOOLS->platform->Edit那就是编辑已有的Platform Package。
RTSC TOOLS->platform->New那就是新建自己需要的Platform Package。
Platform Package Repository表示存放的目录。
看您的需求是什么,您是在用vlfft这个例子吧
studying:
回复 qiang yu1:
您好
是表示工程存放的目录吗?我在使用一个demo,但这个demo不是vlfft。打开RTSC TOOLS->platform->Edit的界面就会有这样的,如下图:
可能是他们原来用过VLFFT吧
qiang yu1:
回复 studying:
那您直接可以新建一个,根据自己的需求。最后在工程的Properties里面的RTSC选项卡中选择你的platform。
目录是值Platform Package存放目录,与工程目录无关
studying:
回复 qiang yu1:
qiang yu
您好,就像您最开始说的,custom memory和cfg文件共同配置决定linker.cmd,我将原来的RTSC TOOLS->platform->Edit改过来了,如下图:
其中的DDR_PRIVATE是新增加的段,.cfg中没有使用Program.sectMap(),但最后在生成的linker.cmd中并没有我想增加的段,如下图:
请问为什么会这样呢?
studying:
回复 qiang yu1:
qiang yu
您好,问题得到了解决,果然还是RTSC选型卡中的platform没有及时更改造成的错误。
谢谢您