MIPS4k處理器boot學習

來源:互聯網
上載者:User
MIPS4k處理器boot學習
hdguy 發表於 2006-5-11 16:09:00

MIPS寄存器約定:

寄存器編號/助記符/用法
0 zero 永遠傳回值為0
1 at 用做彙編器的暫時變數
2-3 v0, v1 子函數調用返回結果
4-7 a0-a3 子函數調用的參數
8-15 t0-t7 暫時變數,子函數使用時不需要儲存與恢複
24-25 t8-t9
16-25 s0-s7 子函數寄存器變數。子函數必須儲存和恢複使用過的變數在函數返
回之前,從而調用函數知道這些寄存器的值沒有變化。
26,27 k0,k1 通常被中斷或例外處理常式使用作為儲存一些系統參數
28 gp    全域指標。一些運行系統維護這個指標來更方便的存取“static“和”extern"
變數。
29 sp     堆棧指標
30 s8/fp 第9個寄存器變數。子函數可以用來做楨指標
31  ra    子函數的返回地

===============================================

在bootloader下,MIPS核的初始化用組合語言寫成,基本過程是

1〉清除CP0的WATCH寄存器    

mtc0    zero, C0_WATCHLO  /* First thing: clear watch regs */
    mtc0    zero, C0_WATCHHI

2〉初始化CP0狀態寄存器,禁止軟硬體中斷以及選擇boot異常向量地址

3〉根據需要建立MIPS的狀態和控制寄存器,通常會清除(ERL、EXL位)

4〉初始化cache,先初始化ICACHE,在初始化DCACHE(具體過程)

5〉開始初始化外圍介面(init_platform),主要是初始化時鐘系統、EMIF介面等。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.