linker.cmd里有
.text >> DSP_PROG
.cinit > DSP_PROG
>> 跟 >都是什么意思,请教各位大神
Shine:
只见过">"这种。
SECTION里有定义。8.5.5.1 SECTIONS Directive Syntaxhttp://www.ti.com/lit/ug/sprui03a/sprui03a.pdf
Weiqing KE:
回复 Shine:
谢谢。
还有一个问题
我把SECTIONS写成以下形式:
{
.text: {Main.obj(.text)} > IRAM
.text: {*(.text)} > DSP_PROG
}
这样可以把main.c对应的TEXT放到IRAM地址,有个问题是,我们有个库,我也想把库里的.text放到IRAM,
但是我写成以下形式
{
.text: { abc.lib : proto.obj(.text)} > IRAM /* 从.map文件里找到了proto.obj的全称是 abc.lib : proto.obj */
.text: {*(.text)} > DSP_PROG
}
链接报错,说找不到abc.lib : proto.obj。
请教有什么办法可以把库的 .text段 放到IRAM,
我们的代码很大,IRAM只有128K,片外内存倒是有32M可以用
如果 .text 全放到IRAM,又不够大。
Weiqing KE:
回复 Weiqing KE:
我看了您给的文档
改成了以下形式
{
.text: { -l abc.lib<proto.obj> (.text)} > IRAM
.text: {*(.text)} > DSP_PROG
}
但是还是报错:cannot find file,不知道哪里加路径,以帮助linker.cmd来识别出路径。
Weiqing KE:
回复 Weiqing KE:
求版主回答一下
Shine:
回复 Weiqing KE:
按文档里这种格式改
boot > BOOT1{–library=rtsXX.lib<boot.obj> (.text)–library=rtsXX.lib<exit.obj strcpy.obj> (.text)}