您的位置:首页 > 教育 > 锐评 > 天元建设集团有限公司烟台招聘_中国建设银行是国企还是央企_seo研究_seo网络排名优化哪家好

天元建设集团有限公司烟台招聘_中国建设银行是国企还是央企_seo研究_seo网络排名优化哪家好

2025/11/9 5:40:37 来源:https://blog.csdn.net/sinat_32960911/article/details/143861645  浏览:    关键词:天元建设集团有限公司烟台招聘_中国建设银行是国企还是央企_seo研究_seo网络排名优化哪家好
天元建设集团有限公司烟台招聘_中国建设银行是国企还是央企_seo研究_seo网络排名优化哪家好


请阅读【嵌入式开发学习必备专栏】


文章目录

    • OpenOCD 无法识别CPUID 问题
      • ARM CPUID
      • CPUID 特性
      • CPUID 寄存器字段

OpenOCD 无法识别CPUID 问题

在使用OpenOCD 进行CPU debug的过程中有时会报出 无法识别CPUID的问题,本文将会介绍如何解决这个问题。首先我们来学习下什么是CPUID,以ARM Cortex-M 系列的Core为例进行介绍。

ARM CPUID

ARM 处理器的 CPUID 和 CPUID 基本寄存器是用于提供处理引擎(PE)识别信息的重要寄存器。这些寄存器帮助软件识别处理器的实现者、设备 ID 及其架构和版本等细节。以下是对 ARM CPUID 寄存器的详细说明。

CPUID 特性

  • 功能: 提供处理引擎(PE)的识别信息,包括设备的实现者代码和设备 ID 号。
  • 访问权限:
    • 该寄存器只能通过特权访问。非特权访问将产生一个错误。
    • 从 ARMv8.1-M 开始,当 DAUTHCTRL.UIDAPEN(任意银行)设置时,该寄存器可通过非特权 DAP 请求访问。

在这里插入图片描述

  • 实现与位置:
    • 32 位只读寄存器,位于地址 0xE000ED00
    • 安全软件可以通过 CPUID_NS(位于 0xE002ED00)访问该寄存器的非安全版本。对于在非安全状态和调试器中执行的软件,地址 0xE002ED00RES0(读取为零)。
    • 该寄存器在安全状态之间不进行切换。

CPUID 寄存器字段

  • Implementer, bits [31:24]:
    • 说明: 实现者代码。
    • 值及含义:
      • 0x41: ‘A’ - ARM Limited。
      • 0x41: 表示非 ARM Limited 的实现者。
    • 注意: ARM 可以分配未在手册中公布的代码。未被 ARM 分配的所有值均为保留值,不得使用。
  • Variant, bits [23:20]:
    • 说明: 变体编号。实现定义的变体编号。通常用于区分不同产品变体或产品的主要修订。
    • 值及含义: 作为实现定义值读取。
  • Architecture, bits [19:16]:
    • 说明: 定义处理引擎实现的架构。
    • 值及含义:
      • 0b1100: ARMv8-M 架构,无主扩展。
      • 0b1111: ARMv8-M 架构,带主扩展。
      • 其他所有值均为保留值。
  • PartNo, bits [15:4]:
    • 说明: 部件编号。实现定义的设备主要部件编号。
    • 值及含义: 作为实现定义值读取。
  • Revision, bits [3:0]:
    • 说明: 修订号。实现定义的设备修订号。
    • 值及含义: 作为实现定义值读取。

openocd/src/target/cortex_m.h 中对ARM Cortex-M 系列core 实现了CPUID的宏,如下:

#define CPUID		0xE000ED00#define ARM_CPUID_IMPLEMENTOR_POS	24
#define ARM_CPUID_IMPLEMENTOR_MASK	

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com