This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TMS320F28335: 关于编译时“as no input files have been encountered”警告的疑问

Part Number: TMS320F28335
Other Parts Discussed in Thread: C2000WARE

TMS320F28335的工程,编译时设置了正确的link order,但是会有如下警告

Description Resource Path Location Type
#10211-D cannot resolve archive H:/CPCI-35MP-source/math/FPUfastRTS/c28/lib/rts2800_fpu32_fast_supplement.lib to a compatible library, as no input files have been encountered.

原因描述中的没有输入文件是什么意思呢? [as no input files have been encountered]

  • 可以直接参考一下这两个帖子中的解决方案:

    https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/897471/ccs-tms320f28335-warning-cannot-resolve-archive-c-ti-c2000ware_3_01_00_00_software-libraries-math-fpufastrts-c28-lib-rts280-0_fpu32_fast_supplement-lib-to-a-compatible-library-as-no-input-files-have-been-encountered-build-att

    https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/472734/warning-10211-d-cannot-resolve-archive-no-input-files-have-been-encountered

  • 您好 感谢帮助

    我使用fast库是C2000安装包下的,我看了文件的大小,为什么仅仅只有1KB的大小,如下图所示:

    我又看了下C2000下的IQMath_fpu32,同样也仅仅只有1KB的大小:

    这两个目录下,coff后缀的文件看起来是正常的文件大小,我将fast库替换为coff后缀的文件后,警告也确实没有了。

    请问是不是C2000下的IQmath_fpu32.lib及rts2800_fpu32_fast_supplement.lib有问题?

    对比controlsuit中的文件,如下图所示,是正常的大下,这两个文件是HVPM_Sensorless_2833x例程中使用的文件


    不过,我的问题依然没有解决,不管是我替换为C2000目录下的coff后缀文件还是使用HVPM_Sensorless_2833x例程中调用的两个库文件,当我在函数中调用三角函数或者开平方函数时,并没有调用fast库,link order的顺序已经调整过了。

    在HVPM_Sensorless_2833x例程中使用同样的代码就可调用fast库,并且调整link order的顺序确实也起作用了,能看到后link fast库不会调用该库函数的现象。

    我自己建立的工程同样设置就不可以,请问还有可能是哪里设置的不对呢?

  • 有么有在Build->C2000 linker->File Search Path下添加 rts2800_fpu32_fast_supplement.lib,并调整其顺序至优先?

  • 您好 感谢帮助

    这个我试过的,没有作用。因为这里仅仅添加的是检索路径,个人理解调整检索路径和指定链接顺序(link order)是两种不相关的操作。

    我的工程路劲下已经添加IQmath_fpu32.lib及rts2800_fpu32_fast_supplement.lib,如下图所示:

    并且在C2000 linker下添加了rts2800_fpu32.lib,如下图所示:

    因此,需要的3个库文件

    IQmath_fpu32.lib

    rts2800_fpu32_fast_supplement.lib

    rts2800_fpu32.lib

    均已在工程中,所需做的是指定它们的Link order。

    实在找不到原因,我新建了一个工程,添加了以上3个库到工程中,并指定了fast库在标准库之前,工程的main函数中仅调用sin函数,编译后发现功能是正常的,sin函数确实调用了fast,随后我将正常工程中的所有文件添加到新建工程中,编译也没有问题了。

    目前fast库调用正常,建议大家新建工程时在编译完整功能前,编写一些简单的测试代码先验证下关键库的调用有没有问题在进行编程。

    另,请TI工程师确认下C2000ware安装路径下的IQmath_fpu32.lib及rts2800_fpu32_fast_supplement.lib为什么仅有1KB大小,库文件有没有问题?

    C2000Ware_2_00_00_03;

    C2000Ware_2_01_00_00;

    C2000Ware_3_01_00_00;

    C2000Ware_3_04_00_00;

    我对比了以上版本库文件,均是如此,安装C200ware时并没有报错。

    说句题外话,新改版的论坛很不错!

  • 请TI工程师确认下C2000ware安装路径下的IQmath_fpu32.lib及rts2800_fpu32_fast_supplement.lib为什么仅有1KB大小,库文件有没有问题?

    好的,我会去找工程师确认一下。

    说句题外话,新改版的论坛很不错

    这次改版是与英文版E2E同步了,所以在功能上可能更全面了

  • 库文件是根据项目配置选择正确库文件的索引库。如果索引库无法解析,请参阅此线程了解正确用法:https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/943328/ccs-tms320f280041-tms320f280041-could-not-resolve-index-library-iqmath-lib-to-a-compatible-library