Part Number:TMS320F28035Other Parts Discussed in Thread:C2000WARE
我在CLA程序中使用了sqrt 或 _sqrt 都报警 且 DSP运行不正常,
信息如下
undefined first referenced
symbol in file ——— —————-
__sqrt ./CLA.obj?
请问, 怎么样才能CLA中正确使用库函数?
fw yang:
一、看相关手册不需要什么配置,如下
C28x Control Law Accelerator Math Library SPRC99.PDF
Description Returns the square root of a floating-point argument X using a Newton-Raphson algorithm.Header File NoneMacro Declaration CLAsqrt .macro y, xInput: x = 32-bit floating-point inputOutput: y = sqrt(x) in 32-bit floating-pointLookup Tables NoneSpecial Cases If X = FLT_MAX or FLT_MIN CLAsqrt will set the LUF flag.If X = -FLT_MIN CLAsqrt will set both the LUF and LVF flags.If X = 0.0, CLAsqrt sets the LVF flag.If X is negative, CLAsqrt will set LVF and return 0.0.
二、看了C200WARE中的sqrt例子,详细对比了CMD LIB等配置,也没找出原因
,
Green Deng:
你好,不知道你看的是哪个例程?这个路径下的例程sqrt的代码:C:\ti\c2000\C2000Ware_4_01_00_00\device_support\f2803x\examples\cla\asin
检查一下你的程序中是否include了必要的.h文件。
另外,也可以考虑使用 C28x 控制律加速器 (CLA) 数学宏程序库:https://www.ti2k.com/wp-content/uploads/ti2k/DeyiSupport_C2000_SPRC910
,
fw yang:
你好
我搜索了一下,不止我一个人出现这个问题
且网上没有具体解决办法
一般都说建议看例程, 或者数学宏函数库
但是我对比来对比去也没发现问题
能否详细联系一下, 彻底找出问题来, 公布在网上, 给后来者也可以有个帮助
另外, 我自己是可以通过把代码复制到例子上去这样是可以解决, 但是我还是不明白问题出在哪里
,
fw yang:
__sqrt
有两个下划线 我看成一个下划线 真是搞死人了 耗了我2天时间
,
Green Deng:
额,非常感谢你的反馈。。。这个问题确实很容易忽略