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.

[参考译文] OMAP-L138:使用 SYS/BIOS 对 ARM 提供浮点支持

Guru**** 2974170 points

Other Parts Discussed in Thread: OMAP-L138, SYSBIOS

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/676355/omap-l138-floating-point-support-for-arm-using-sys-bios

器件型号:OMAP-L138
Thread 中讨论的其他器件: SYSBIOS、 OMAPL138

我正在使用 OMAP-L138的 ARM

Code Composer Studio 5.5

我正在使用 SYS/BIOS

目标处理器版本设置为5e

指定代码状态设置为32

浮点支持设置为 VFPv2

 

当我将浮点支持从 vfplib 更改为 VFPv2时、我得到错误:

Tag_ABI_VFP_args 属性值"0"、不同于先前看到的值("1");合并不兼容的文件

 

如果我删除一些使用浮点数的函数、则不会出现此错误。 我阅读了前面有关此错误的一些文章。  其中大多数讨论的是使用未使用正确标志编译的库。  我没有使用任何类似的库。  

如果我尝试使用--diag_suppress=16004,则我的代码会崩溃并显示“ti.sysbios.family.arm.exc.exc异常:第180行:e_undefineedInstruction:”

使用此 ARM 9E 的浮点协处理器是否还需要执行其他操作?  谢谢。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    团队将收到通知。 他们将直接在此处发布反馈。

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

    如果您使用的是 BIOS、而不是使用构建方式不同的库。 可能还有其他库、例如 RTS 和 XDC 运行时。
    我确信 BIOS 不是使用 VFPv2选项构建的。 您可以尝试确定以下内容:

    在.cfg 文件中、您可以执行以下操作:
    打印(BIOS.customCCOpts)

    这将打印出用于构建 BIOS 库的编译器选项。
    然后,您可以替换显式行或添加以下内容:

    bios.customCCOpts = bios.customCCopts.replace(“blah”、“blah”);

    或

    BIOS.customCCOpts +=“blah”;

    现在、我不确定这是否足够了、因为 BIOS 中可能有其他库不是 BIOS 的一部分、这些库需要使用相同的编译选项重建、但它是一个起点。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您的电路板上是否有外部浮点协处理器?  从我对文档的阅读中可以看到、OMAPL13x 上的 ARM9器件在片上不具有硬件浮点支持。 编译器正在生成器件无法处理的运算代码、因此出现了非法指令异常。

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

    谢谢、我会尝试一下。  使用 vdplib 或 VFPv2之间是否存在差异?   ARM 优化 C/C++编译器 v18.1.0.LTS 用户指南建议将 VFPv2用于 ARM9E。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    是的、存在差异。 在第一种情况下、它使用软件库来执行浮点数学运算。 在第二种情况(VFPv2)中、它使用硬件来执行浮点数学运算、但您的器件必须为此提供硬件支持。 我认为某些 ARM9器件没有浮点硬件。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我认为这个线程可以闭合。 OMAPL138上的 ARM9上没有硬件浮点支持。 必须使用软件浮点库。 不支持硬件库。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    这里是对旧帖子的引用、该帖子确认 OMAPL1x 系列上的 ARM9不支持硬件浮点

    e2e.ti.com/.../491409