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.

[参考译文] 编译器/TMS320F28377D:程序中 IQmath_FPU32.lib 出现问题

Guru**** 2350610 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/709994/compiler-tms320f28377d-problem-with-iqmath_fpu32-lib-in-the-program

器件型号:TMS320F28377D

工具/软件:TI C/C++编译器

1、我的 CMD 文件设置与此:类似

PAGE0:

 IQTABLES   :origin = 0x3FE000,length = 0x000B50    //引导 ROM 中的 IQMath 表*/
  IQTABLES2  :origin = 0x3FEB50,length = 0x00008C    //引导 ROM 中的 IQMath 表*
  IQTABLES3  :origin = 0x3FEBDC,length = 0x0000AA  /*引导 ROM 中的 IQMath 表*/

第1页:

  IQMath          :>RAMD0,    PAGE = 0
  IQmathTables    :>IQTABLES,  PAGE = 0,TYPE = NOLOAD

2、项目设置如下:  --float_support=fpu32,--fp_mode=relaxed

3、编译程序后会出现以下警告:

  警告#16002-D:"../06_Lib/IQmath_fpu32.lib 中缺少 TI 的构建属性供应商部分 ":无法确定兼容性
  警告#16002-D:"../06_Lib/IQmath_fpu32.lib 中缺少 TI 的构建属性供应商部分 ":无法确定兼容性

  此外,程序中计算不正确,请使用 _IQdiv()。

谢谢!

   

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Jian、

    对于警告、您可以安全地忽略这些警告。 请参阅此主题:
    e2e.ti.com/.../1997837

    您能告诉我这些链接器行的位置吗? 在 F28379D 上、我认为从存储器中的 IQmath 表不在 ROM 中。 如果要使用 IQmath、需要在.cmd 文件中显式分配它们。 在我的项目中、我有:

    IQMath :>RAMGS1415,PAGE = 0
    IQmathTables:>RAMGS1415,page = 0

    我使用_IQdiv 运行了一个简短测试、它在 F28379D 上运行正常。

    此致、

    Richard
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Jian、

    1.警告不是问题,因为用于生成 IQmath 库的编译器较旧,并且缺少这些属性,所以生成警告。

    2.您的 MATH_TYPE 设置为什么? 由于这是 FPU 器件且具有 TMU、因此应将其设置为1、

    您还可以启用 TMU ? 然后将不使用 IQdiv(),但将使用器件内的 HW 指令。

    另请注意,您不需要将 IQmath lib 用于仅浮点代码。 除非您的代码与某些定点器件兼容。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    谢谢,
    1、我的代码与某些定点程序兼容,