1. 安装IQmath库相关的文件,TI官网上有,链接如下:https://www.ti.com.cn/tool/cn/SPRC087?keyMatch=IQMATH
安装路径默认即可
2. 选中一个工程alt+enter键打开该工程的properties->build->C2000 Compiler->include options
添加含有文件IQmathLib.lib文件的路径,结果如下
3. 添加头文件的引用语句以及必要的头文件
#include "F28x_Project.h"
#incldue "IQmathLib.h"
4. 测试IQmath库的函数以及变量定义
#include "F28x_Project.h"
#include "IQmathLib.h"
int main()
{
InitSysCtrl(); //初始化系统时钟
InitPieCtrl(); //初始化PIE
InitGpio(); //初始化GPIO
IER = 0x0000; //CPU级中断失能
IFR = 0x0000; //清除CPU级中断标志
InitPieVectTable(); //初始化向量表
while (1)
{
_iq i=1;
_iq y=_IQsin(2);
DELAY_US(1000000);
i++;
}
}
编译后报错
问题出在_iq y=_IQsin(2)这条语句,CCS认为_IQ24sin()这个函数是未定义的。而ctrl+左键_IQsin()这个函数进入IQmathLib.h库函数可以看到_IQsin()在IQmath库中是有定义的。
5. 解决办法:alt+enter打开项目properties界面,点击build->C2000 linker->File search path
点击include library file or command file as input左边的绿色加号添加文件路径,包含IQmath_fpu32.lib文件
这个文件可以在TI官网上搜索C2000 ware下载到的,链接如下
C2000WARE 软件开发套件 (SDK) | TI.com.cn
添加完路径之后再次编译,编译通过,但有warning信息
6. 打开C:\ti\c2000\C2000Ware_4_01_00_00\device_support\f28004x\common\cmd,找到cmd文件28004x_iqmath_ram_lnk.cmd,将其复制到工程中的cmd文件夹下
然后右键28004x_generic_ram_Ink.cmd文件
点击exclude from build之后再点击编译,最后编译通过,0error 0warning