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

OMAP138 关于内存配置的问题

各位大牛,你们好,

请教个问题,怎么把第三方提供的lib库,编译的时候,全部分配到IRAM地址段

现在的工程属性是

IRAM                  11800000   00020000

DSP_PROG     c2000000   02000000 

目前看起来,Lib库里面的全局变量,包括.far变量,都在DSP_PROG内存空间里,

注: 第三方LIB库的使用说明写着,.stack, .systask, .const_in, .bss, .far等最好放到IARM片内,.text可以放到片外的DSP_PROG空间。

Tony Tang:

在cmd的section里把这上面所说的段放到IRAM就好了。

比如:

SECTION{

.stack  -> IRAM

.systask ->IRAM

….

}

Weiqing KE:

回复 Tony Tang:

tony哥,谢谢回复,

但是这个工程还有一个config.bld配置,我按你的说法试了,.stack还是在片外的0xc2打头的地址空间,而不是片内地址空间。

我把我们的配置发你看看,求指点,我还是一个小白。 然后,我们希望是把第三方lib库的这些都放到片内(片内总共才128K),而把自己的

东西放到片外(自己的东西比较庞大,片内也放不下),这样的需求怎么实现配置。 

还有一个问题,TI task_create的堆栈是系统自动分配的,他是在从哪个地址段分配的,我们总共

用了大概有2M大小的堆栈空间,TI会不会有限制,因为我看有一个设置是__TI_STACK_SIZE 才0x80000,也就是512K大小。

Tony Tang:

回复 Weiqing KE:

Weiqing KE但是这个工程还有一个config.bld配置,我按你的说法试了,.stack还是在片外的0xc2打头的地址空间,而不是片内地址空间。

好就在这个bld文件里修改。

Weiqing KE还有一个问题,TI task_create的堆栈是系统自动分配的,他是在从哪个地址段分配的,

是从.sysmem段分配的。不够的话,在工程配置里把heap设大就行。heap对应.sysmem段。

Weiqing KE:

回复 Tony Tang:

tony哥,在config.bld文件中写入

sector

{

*****

.stack   > IRAM

};

编译报错

看来只做应用协议层的,对CCS硬件配置真的一头雾水。求tony哥看一下我发的4张图片,帮我理一下头绪。谢谢

Tony Tang:

回复 Weiqing KE:

不是在bld里加section{}, bld是一个脚本,不识别你上面加的这种格式的语句的。

是改bld里的地址长度,分配的memory空间。

你说的bld难道不是一个内存分配的文件吗?

赞(0)
未经允许不得转载:TI中文支持网 » OMAP138 关于内存配置的问题
分享到: 更多 (0)