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.

关于IQmath中IQtoF的使用问题

一个项目中使用到了IQtoF();的函数,整个项目用到非常多的IQmath函数,唯独使用IQtoF()时出现问题,特来请教!下面贴出关于此函数部分程序,程序主要用IQmath还有TI的数字信号处理库中的buutterworth IIR数字滤波器.

CMD文件如下:

PAGE 0:

   RAML0       : origin = 0x008000, length = 0x002000     /* on-chip RAM block L0 */

   ROM         : origin = 0x3FF000, length = 0x000FC0 

PAGE 1 :

   RAMH0       : origin = 0x3F8000, length = 0x002000 

段:

IQmath                       : > RAML0     PAGE = 0    /* Math Code */
IQmathTables           : > ROM         PAGE = 0, TYPE = NOLOAD /* Math Tables In ROM */
IQmathTablesRam : > RAMH0,     PAGE = 1

包含的头文件:

包含的库:

测试程序如下:

void main()

{

        float a; 

       a = _IQ19toF(_IQ19(1.3232));//可见程序中并没有警告提示中的所要用到RAM中的初始化数据,code部分烧写至FLASH,

}

原来的程序有很多,包括有很多IQmath函数,只要加进这一句就出问题,没有这一句一切正常.程序在RAM中运行没问题,烧写至FLASH不拔仿真器能运行,拔了仿真器断电后就不能运行.

下载至FLASH后提示如下:


警告文本信息:
"
Warning: This program contains initialized RAM data.
It may run successfully under Code Composer Studio
but not as a standalone system because of this. If
your Flash program requires initialized data in RAM,
you will need to write Flash code to initialize RAM memory.
Erase/Program/Verify Operation succeeded
**** End Erase/Program/Verify Operation. ***