你好:
我现在已经做了一个lib库,想把LIB中的核心算法的代码放在片上内存中。整个工程的其它代码段放在片外DDR上。请问我可以用什么方法实现此功能?
当前我用#pragma CODE_SECTION (symbol, "section name"),(symbol是我的函数名,sectionname是我定义的段名)方法可以吗?我用的是DSPBIOS,它会生成CMD文件,我也自己写一个CMD文件,内容如下
-levmboardcfg.cmd //BIOS生成的CMD文件
-lt264lib.lib //我的库
SECTIONS{
.section.name>L2RAM //我加入自己定义的代码段
}
但是编译不通过,编译提示 是什么问题呢?还有其它方法把库的代码加载在片上内存吗?谢谢大家了
Thomas Yang1:
你好
你可以用-l bios.cmd;-l app.cmd
将这2个cmd 统一订制在一个新的cmd中
在app.cmd中可以根据你的需求关联section和相应的memory
-l bioscfg.cmd
-l app.cmd
app.cmd:
SECTIONS
{
.section.name>L2RAM //我加入自己定义的代码段
}
Yu Liu:
写一个自己的cmd文件,包含DSPBIOS生成的cmd文件。
例子:
DSP BIOS生成的是hellocfg.cmd。那么我们自己的my.cmd的第一行放“-l hellocfg.cmd”。
同时将hellocfg.cmd从编译链接中去掉。从工程中删除或者点右键,然后选择“file Spacific Options..” 在弹出的对话框中勾中“Exclude File From Built”。目的就是避免重复引用hellocfg.cmd。