在进行算法的数据处理时,充分利用F2812的内部资源和开发工具的优势,不仅可以提高代码的运行速率,而且还减少了代码的容量。TI公司提供的经过优化,具有高精度的TMS320C28X Iqmath库可以用来在TMS320C2812上实现精确的浮点运算,对于要求高实时和高精度的系统,这些函数尤其有用。使用这些库函数完成运算同直接采用ANSI C编写程序相比速度上有明显的提高,而且获得更高的精度。
Iqmath函数库中包括格式变换函数,算术运算函数,三角运算函数,数学计算函数等,特别是除法运算时,IQ格式具有明显的优势。试验证明,采用该格式进行数据运算可以将运算速度提高2~3倍。
C 程序中调用Iqmath函数步骤:
如果在C程序中调用Iqmath函数,除了安装Iqmath软件外,还必须对程序作如下调整:
(1)包含头文件IQmathLib.h
(2)代码链接时需将Iqmath的目标代码库IQmath.lib同时链接
(3)链接命令文件,cmd文件中分配IQmath程序段.
(4)IqmathTable包含Iqmath函数中所使用到的所有查表函数,在F2812出厂时已经被固化在BOOTROM中,因此在链接文件.CMD文件中,该段必须定义为NOLOAD类型。这样在程序运行过程中就会自动定位查表符号。
其CMD文件如下:
MEMORY
{
PAGE 0:
BOOTROM(RW): origin=0x3ff000,length=0x000fc0;
RAMH0(RW) : origin=0x3f8000,length=0x002000;
}
SECTIONS
{
IQmathTables :load=BOOTROM, type=NOLOAD,PAGE=0;
IQmath: load=RAMH0, PAGE=0;
}