CPUID 该如何读出?

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

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

查看更多

关注者
0
被浏览
2. 1k
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
这家伙很懒, 什么也没写!

难道此芯片内核不是玄铁 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 堆栈指针寄存器.

撰写答案

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

发布
问题

分享
好友

手机
浏览

扫码手机浏览