gpt4 book ai didi

arm - 如何检测Cortex M中的FPU?

转载 作者:行者123 更新时间:2023-12-02 12:17:07 27 4
gpt4 key购买 nike

Cortex-M 处理器实现了 CPUID 寄存器,通过它可以检测有关内核的信息:部件号(例如 Cortex M7 或 M4)、版本和补丁级别(例如 r1p2)等。

是否有寄存器或方法来检测FPU是否已被实现者实现?如何检测FPU的类型(VFPv4、VFPv5-SP或VFPv5-DP)?

最佳答案

在 cortex-m 架构引用手册中,

B3.2.20 协处理器访问控制寄存器,CPACR

CPACR 的特点是:

  • 用途:指定协处理器的访问权限
  • 使用限制:如果未实现协处理器,则向相应的 CPACR 字段写入 0b01 或 0b11 将读回 0b00。
  • 配置:始终实现

VFP 将实现 CP10 和 CP11(十进制)。如果没有 VFP,那么它们应该读回为 0b00。这适用于大多数 Cortex-M CPU。由于供应商可以实现自己的 IP,因此某些 CPU/SOC 可能无法按照文档说明的方式工作。谨慎的做法是捕获/处理未定义的指令,如果协处理器不存在,则将执行该指令。

关于arm - 如何检测Cortex M中的FPU?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57929824/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com