CPUID該如何讀出?

發布於 2022-04-06 19:56:09

玄鐵804寄存器一個產品序號寄存器(CPUIDR,CR<13,0>)此寄存器的內容如何讀出?謝謝

查看更多

關注者
0
被浏覽
1.3k
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> 堆棧指針寄存器。

撰寫答案

請登錄後再發布答案,點擊登錄

發布
問題

分享
好友

手機
浏覽

掃碼手機浏覽