Other Parts Discussed in Thread:C2000WARE
最近用CCS10.1创建了一个28335的项目,并且copy了一个IQmath_fpu32.lib到我的工程文件夹下。编译时出现警告warning #10207-D: resolving index library "IQmath_fpu32.lib" to "IQmath_fpu32_coff.lib", but "IQmath_fpu32_coff.lib" was not found。想请教一下这是什么意思?IQmath_fpu32_coff.lib是哪儿来的?
Susan Yang:
IQMATH现在具有2种库, eabi vs coff,在您的工程中要映射的库是coff,但是没有找到IQmath_fpu32_coff.lib。
您是否在Build-> C2000 Liner-> File Search Path中检查。右侧将有一个列表。您可以使用侧面的向上或向下箭头更改顺序
,
Susan Yang:
您可以在C2000ware下找到对应的库
C2000Ware_3_03_00_00\libraries\math\IQmath\c28\lib
,
user1943061:
谢谢您的回答,还有两个疑问:(1)怎么才能知道我的工程映射的是IQmath_fpu32.lib还是IQmath_fpu32_coff.lib?能不能从工程中直接看出来?(2)您说的更改顺序有什么用?最终不是每个路径都要搜索吗?我用的是c2000ware下f28335_flash例程的.c文件,然后头文件、cmd文件、源文件、fpu32文件都是直接copy到工程文件夹下的。
,
Susan Yang:
user1943061 说:怎么才能知道我的工程映射的是IQmath_fpu32.lib还是IQmath_fpu32_coff.lib?能不能从工程中直接看出来?
请看一下您工程内的设置,取决于您自己添加了哪个lib
user1943061 说:您说的更改顺序有什么用?最终不是每个路径都要搜索吗?
是编译器在编译时链接库的顺序,有一些是会有顺序要求的
,
user1943061:
您好,我要映射的库是IQmath_fpu32.lib,在Flie Search Path中添加了IQmath_fpu32.lib,也把IQmath_fpu32.lib放在了工程文件夹下,结果编译还是有警告,不知为什么。
,
user1943061:
您好,我想要映射的库是IQmath_fpu32.lib,在File Search Path中已经添加了IQmath_fpu32.lib,也把IQmath_fpu32.lib放在了工程文件夹下,结果编译还是有警告,不知为什么。
,
Susan Yang:
若是可以的话,请您点击右下角“使用高级编辑器编辑文本”来以附件形式上传一下工程,谢谢
,
user1943061:
可以啊,工程刚刚创建完,主程序直接拿的例程中的flash例程,都是从c2000ware下拷过来的,都放在工程文件夹下。CtrlBoardTest.rar
,
Susan Yang:
我会在测试后给您回复
,
Susan Yang:
因为现在选择的是COFF,所以编译器会解析为IQmath_fpu32_coff.lib,但是您工程内的lib文件夹内没有该IQmath_fpu32_coff.lib,所以出现了警告。
在您的工程文件夹CtrlBoardTest\CtrlBoardTest\lib 内添加该lib文件,即可消除警告
IQmath_fpu32_coff.lib
,
user1943061:
谢谢您,那如果我想映射到IQmath_fpu32.lib,就像现在工程文件夹下已经有了IQmath_fpu32.lib文件的情况下,是不是把Output format选择为eabi就行了呢?如果不行,该怎么做呢?另,coff 和 eabi有什么区别呢?在什么情况下选择coff?在什么情况下选择eabi?
,
Susan Yang:
关于coff和eabi,我们有一个专门的页面,您可以看一下
software-dl.ti.com/…/C2000_c28x_migration_from_coff_to_eabi.html
项目中的所有目标文件和库必须使用相同的应用程序二进制接口(ABI)。COFF ABI是较旧的,而EABI是较新的。在使用EABI之前,必须确保您使用的所有库(例如C2000Ware中的库)都支持EABI。如果它们仅支持COFF ABI,则必须执行相同的操作。
更多信息可以参考 www.ti.com/…/spru514v.pdf 内的
About the Application Binary Interface
,
user1943061:
我看output format的选择项里只有两种,coff 和 eabi,那是不是意味着如果我要用IQmath库的话,那我工程文件夹里的库文件要不是IQmath_fpu32_coff.lib,要不就是IQmath_fpu32_eabi.lib,而且必须和output format所选的格式一致,对吗?
,
Susan Yang:
是的,您的理解是正确的。也就是说即使您选择的是IQmath_fpu32.lib,也会根据您的output format的选择项进行映射到IQmath_fpu32_coff.lib或IQmath_fpu32_eabi.lib。