This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

6474 -关于LIB库的代码段在内存中加载



你好:

我现在已经做了一个lib库,想把LIB中的核心算法的代码放在片上内存中。整个工程的其它代码段放在片外DDR上。请问我可以用什么方法实现此功能?

当前我用#pragma CODE_SECTION (symbol, "section name"),(symbol是我的函数名,sectionname是我定义的段名)方法可以吗?我用的是DSPBIOS,它会生成CMD文件,我也自己写一个CMD文件,内容如下

-levmboardcfg.cmd //BIOS生成的CMD文件
-lt264lib.lib //我的库
SECTIONS
{

   .section.name>L2RAM //我加入自己定义的代码段
  
}
但是编译不通过,编译提示 是什么问题呢?还有其它方法把库的代码加载在片上内存吗?谢谢大家了

  • 你好

    你可以用-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 //我加入自己定义的代码段

    }

  • 写一个自己的cmd文件,包含DSPBIOS生成的cmd文件。

    例子:

    DSP BIOS生成的是hellocfg.cmd。那么我们自己的my.cmd的第一行放“-l hellocfg.cmd”。

    同时将hellocfg.cmd从编译链接中去掉。从工程中删除或者点右键,然后选择“file Spacific Options..” 在弹出的对话框中勾中“Exclude File From Built”。目的就是避免重复引用hellocfg.cmd。

    dsk6416.zip