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.

[参考译文] CCS/TMS320F28069M:IQMath 错误?

Guru**** 2540720 points
Other Parts Discussed in Thread: C2000WARE, TMS320F28069M, TMS320F28069, CONTROLSUITE, MOTORWARE

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/614168/ccs-tms320f28069m-iqmath-bug

器件型号:TMS320F28069M
主题中讨论的其他器件:C2000WARETMS320F28069controlSUITEMOTORWARE

工具/软件:Code Composer Studio

你(们)好

我在 F28069M 上使用 IQmath v1.6、我的程序中包含以下代码:

  _iq30 nVal;

  fVal 浮点;

(笑声)

  nVal =_IQ30 (1.7);

  fVal =_IQ30toF (nVal);

当我使用 IQmath.lib 时、fVal 中的结果是正确的、它是1.7、但当我使用 IQmath_fpu32.lib 时、

fVal 中的结果变为4.35、我不知道这是否是 IQmath 错误。 尽管该误差

如果我将代码从 IQ30更改为 IQ29、则无需修改。

谢谢、

Jiakai

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!
    我写信告诉您、C2000团队成员已被分配到此帖子、应该很快回答。

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

    我在我的 F28069设置中没有看到这种行为。 我将获得:
    nVal长整型1.700000048 (Q-Value (30))
    fValfloat1.70000005

    请检查以下项目吗?

    a.下载 C2000Ware 中库的最新版本(v1.60.01.00)(自 v1.6 w.r.t 浮点以来没有更新过、但有一些历史变化、因此我们应该检查您是否是最新版本)。

    b.使用--float_support=fpu32编译器开关检查您正在构建项目。

    c.检查您正在链接"IQmath_fpu32.lib"、而不是"IQmath.lib"。

    谢谢。

    此致、

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

    您好 Richard、

    很抱歉您回复太晚了、我是在度假。

    我将 IQmath_fpu32.lib 替换为最新版本(来自 C2000ware_1_00_01_00)

    结果仍然不正确。  也会设置--float_support=fpu32。

    可以通过以下 URL 访问我的项目、您可以查看一下吗?

    这是一 个 CCS v3.3工程、我在 main 函数的开头添加了_IQ30toF 函数。

     谢谢、

    Jiakai

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

    我尝试的一切都是给我正确的答案:1.6对于 nVal 和 fVal。 我无法构建您的项目,但我可以将 main()开头的五行插入一个正在运行的用于 F28069的 CCSv7项目中。

    BTW、我注意到您的引导 ROM 地址在链接器命令文件中错误。 对于 F28069、您应该具有:

    FPUTABLES:origin = 0x3FD860,length = 0x0006A0
    IQTABLES:origin = 0x3FDF00,length = 0x000B50

    我认为这不是问题、但您需要对其进行更改。

    您能给我发送这个项目的映射文件吗?请:"CanTestF2806x.map"?

    谢谢、

    此致、

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

    尊敬的 Richard:

    这是我的错误、我忘记告诉您我的项目是为 TMS320F28069M 而不是正常的 TMS320F28069生成的。

    我尝试生成一个正常的 F28069项目并在 F28069 MPU 上运行它、一切正常、这个错误只在 F28069M MPU 上发生。

    生成的工程用于 CCS v3.3、CCS v7无法导入(尽管 CCS4至 CCS6可以顺利导入该工程)。

    您可以检查以下项目(它可以在 F28069M LaunchPad 上运行)。 它已传输到 CCS6项目。

    谢谢、

    Jiakai

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

    我还在使用 F28069M。 感谢您附加最后一个文件、但我下载该文件时遇到了困难。 您能否对之前的.zip 附件执行任何操作? 我可以得到这个。

    此致、

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

    我将其放入以前的网站、请通过以下 URL 下载。
    powersimtech.com/.../CanTestF2806xM.zip

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

    Jiakai、

    很抱歉、我的回复延迟了-我遇到了一些 IT 问题、使我无法查看。  感谢您发送项目。

    我可以在 main()中看到 IQ30toF 调用,但是从.map 文件中我只看到以下内容:

    IQMath    0   000096a8   00000035     
                     000096a8   00000016    IQmath_fpu32.lib:IQ28toF.obj (IQmath)
                     000096be   00000016                     :IQ29toF.obj (IQmath)
                     000096d4   00000009                     :IQ15int.obj (IQmath)

    即、对于某些 reaons、IQ30toF.obj 未链接。  

    正如我说过的、我要将这些行插入一个正在运行的 F28069M 项目中、它的工作方式符合预期。  以下是.map 文件为该项目报告的内容:

    IQMath    0   00008851   00000016     
                     00008851   00000016    IQmath_fpu32.lib:IQ30toF.obj (IQmath)


    您的项目不包含 IQmathLib.h 文件、因此我想知道它是否已损坏。  您能否检查该文件是否正常?  如果您需要新副本、请下载最新的 controlSUITE 或 C2000Ware。


    此致、

    Richard

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

    尊敬的 Richard:

    非常感谢!

    在项目中有一个名为2806xRevB_IQmath_BootROMMARS_FPU.lib 的文件

    它从 motorware 1_01_00_17复制。

    如果从工程中删除此文件、我知道一切都正常、但我仍想这么做  

    如果可能、请使用 ROM 函数。

    您是否有最新 的2806xRevB_IQmath_BootROMsymbols_FPU.lib?

    谢谢、

    Jiakai

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

    您好 Richard、

    我终于在  motorware 1-01-00-18中找到了一个新的2806xRevB_IQmath_BootROMsymbols_FPU.lib。

    如果使用此新库,问题将消失。

    非常感谢。

    Jiakai