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" 堆栈指针寄存器.

撰写答案

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

发布
问题

分享
好友

手机
浏览

扫码手机浏览