在CCS下面写C代码的时候,一般不会考虑定点DSP是怎么实现浮点运算的。但实际上这是一个比较严重的问题。在DSP芯片上进行浮点运算有两种实现方法:硬浮点和软浮点。顾名思义,硬浮点是通过协处理器来实现浮点运算;软浮点就是通过代码或编译器来模拟浮点运算。当然前者的速度会快些,后者则更经济。在CCS上做开发的时候,编译器自动包含了fastRTS库,其中就提供了基本的浮点运算支持,如浮点加减乘除、求倒数等。另外,DSP Lib提供另外一些DSP函数,如FFT、CORR、FIR/IIR/ADAPTIVE、CONV等,但都没有比较完整的数学函数。当然,这对于算法的开发是非常不利的,所以TI还提供了另外一个专门的数学函数库IQmath。目前只有win版本,其中包括了IQmath_xxx.lib/IQmath_xxxe.lib/IQmath_pc.lib三种,pc是针对x86主机的版本,另外两个需要在TI的工具链下才能正常编译。那么在xDM框架下可不可以调用IQmath中的函数呢?
问题:
在我的代码中按下面的方式调用了sin/cos函数: