CPUID该如何读出?

发布于 2022-04-06 19:56:09

玄铁804寄存器一个产品序号寄存器(CPUIDR,CR<13,0>)此寄存器的内容如何读出?谢谢

查看更多

关注者
0
被浏览
1.9k
ZYQ
ZYQ 2022-04-07
我已不再支持W80X任何相关问题的回复,请大家不要私信,有问题找 isme 谢谢

可以进行读出,我现在手上暂时没有对应的开发板,临时写了个用qemu 测试可以通过的,你参考写下就行了

unsigned int GetCpuIdr(void)
{
    unsigned int id = 0;

    asm volatile(
        "mfcr    %[id],    cr<13, 0>\n\t"
        :[id]"+&r"(id)
        :
        :
        );
    return id;
}
3 个回答
Mrzhao
Mrzhao 认证专家 2022-04-06
一个嵌入式爱好者。CSDN主页:https://blog.csdn.net/qq_37280428?spm=1011.2415.3001.5343

没有CPUid

worldy
worldy 2022-04-06
This guy hasn't written anything yet

难道此芯片内核不是玄铁804吗?

名称 类型 控制寄存器编号/地址 描述
PSR 读/写 CR<0,0> 处理器状态寄存器。
VBR 读/写 CR<1,0> 向量基址寄存器。
EPSR 读/写 CR<2,0> 异常保留处理器状态寄存器。
EPC 读/写 CR<4,0> 异常保留程序计数器。
CPUID 读 CR<13,0> 产品序号寄存器。
CCR 读/写 CR<18,0> 高速缓存配置寄存器。
CAPR 读/写 CR<19,0> 可高缓和访问权限配置寄存器。
PACR 读/写 CR<20,0> 保护区控制寄存器。
PRSR 读/写 CR<21,0> 保护区选择寄存器。
CHR 读/写 CR<31,0> 隐式操作寄存器。
R14(UserSP) 读/写 CR<14,1> 堆栈指针寄存器。

撰写答案

请登录后再发布答案,点击登录

发布
问题

分享
好友

手机
浏览

扫码手机浏览