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.

lib内函数拷贝到RAM运行

尊敬的老师好

我的问题还是如何将lib内的函数拷贝到RAM运行。我们项目分割为几个模块,分别由不同的小组完成,各小组之间交替测试不能以源代码的形式,需要封装为lib交给另外小组测试,但是编译器模式是将lib内的函数都放在FLASH内运行,这样效率就降低很多,不能满足我们项目的需要。所以想请教老师,如何实现这个功能。(注:工程C文件中的函数拷贝到RAM运行没有问题)。附件是我做的压缩版工程,麻烦老师帮我看下。

mylib.rar
  • QianJun

    下面是IQMATH 库中的函数拷贝到RAM运行的例子:

    首先编译一下工程或是库,找到函数对应的obj文件,比如<IQ24cosPU.obj>(IQmath) 这个是IQ24cosPU函数

    然后在CMD中定义一个段,按照下面的语法把库中某些obj load在flash,运行在RAM,

    最后在main中调用memcpy函数。

     

    IQmath        : 

        LOAD = FLASH_AB,  PAGE = 0                

                        RUN = H0SARAM,    PAGE = 0 

                        LOAD_START(_IQfuncs_loadstart),

                        LOAD_END(_IQfuncs_loadend),

                        RUN_START(_IQfuncs_runstart),

                        {

    -l  IQmath.lib<IQ24sinPU.obj>(IQmath)

    -l  IQmath.lib<IQ24cosPU.obj>(IQmath)

    -l  IQmath.lib<IQ24div.obj>(IQmath)

                        }