TMS320F280049C使用IQmath库遇见的bug及解决办法

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        

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

今天美美吃饭啦

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值