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.

[参考译文] TMS570LC4357:如何启用 FPU

Guru**** 2468610 points
Other Parts Discussed in Thread: TMS570LC4357, HALCOGEN

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1018695/tms570lc4357-how-to-enable-the-fpu

器件型号:TMS570LC4357
主题中讨论的其他器件: HALCOGEN

我正在尝试执行可能的最快数学运算(当然)。 数据表指出提供了 FPU、但 arm_math.h (来自示例代码)依赖于定义的"FPU_Pres存在"。 它是否像定义 FPU_Present 一样简单,或者我是否必须在“属性”->“处理器”选项中更改浮点支持? 注意我尝试从 VFPv3D16更改为 FPv4SPD16、但它指出我的目标处理器(7R4)不正确。

谢谢、

Jim

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

    我了解 了使用 HALCoGen 04.07.01和 TI ARM 编译器 v20.2.5并使用硬件浮点指令创建的 TMS570LC4357项目。

    在 HALCoGen 中、选择了"启用矢量浮点单元":

    在上述情况下、HALCoGen 在 HL_SYS_CORE.asm 中创建的启动函数_coreInitRegisters_通过在协处理器访问控制寄存器(CPACR)中授予特权和用户模式访问权限并设置浮点异常寄存器(FPEXC)中的 EN 位来启用 FPU:

            mrc   p15,     #0x00,      r2,       c1, c0, #0x02
            orr   r2,      r2,         #0xF00000
            mcr   p15,     #0x00,      r2,       c1, c0, #0x02
            mov   r2,      #0x40000000
            fmxr  fpexc,   r2

    CCS 项目中的处理器选项为:

    编辑:将处理器选项的屏幕截图更正为适用于 TI ARM、而不是 TI Clang 编译器

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

    切斯特、  

    很抱歉、我花了一段时间才回到这个问题。  我还在使用 HalCoGen 4.07.01、ARM 编译器20.2.5LTS 和 CCS 10.2.0、但"处理器选项"对话框看起来与您的对话框不同。 我无法完全读取您的选项、因为屏幕截图的分辨率太低而无法放大、但我可以看到您的对话框中有6个选项–我的对话框中只有3个。

    您的第一个选择似乎是“选择 ARM 架构变体”–我没有该选择。 以下是我的3个处理器选项和设置:

    目标处理器版本:7R4

    指定代码状态:32

    指定浮点值:VFPvD16

    我注意到您的编译器版本中没有包含“LTS”。 是否有 LTS 和非 LTS 版本? 除此之外、您知道我为什么会有不同的选择吗?

    谢谢、

    Jim

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

    没关系、我收到的电子邮件中有您之前的处理器选项屏幕截图、我看到了您的更正版本。 我根据您的设置将我的处理器版本更新为7R5。