核心初始化基本介紹

2022-03-24 12:23:06 字數 1740 閱讀 7996

arm處理器支援7種型別的異常,如下表:

異常向量:當一種異常發生的時候,arm處理器會跳轉到對應該異常的固定位址去執行異常處理程式,而這個固定的位址,就稱之為異常向量。

異常向量表:由七個異常向量及其處理函式跳轉關係組成的錶即為異常向量表。

通過設定程式狀態暫存器current program status register (cpsr) ,來設定模式。

步驟:先利用mrs將cpsr的值保持到通用暫存器中,清零相應5位(bic),置1(orr);再利用msr將通用暫存器的值存回cpsr暫存器中。

watchdog在硬體上實現了計時功能,啟動計時後,使用者(軟體)必須在計時結束前重新開始計時,俗稱「餵狗」,如果到超時的時候還沒有重新開始計時,那麼它就認為系統是宕機了,就自動重啟系統。

通過設定watchdog timer control (wtcon) register暫存器,來關閉看門狗。

步驟:

1.cpsr暫存器的i,f位均設定為1(在設定svc模式可以設定)

2.設定中斷遮蔽暫存器

cache是一種容量小但訪問速度非常快的儲存器,它儲存最近用到的儲存器中資料的拷貝。對於程式設計師來說,cache是透明的。它自動決定儲存哪些資料、覆蓋哪些資料。按照功能劃分:

i-cache: 指令cache,用於存放指令

d-cache: 資料cache,用於存放資料

可以讓程序使用更大的空間(若實體地址為64mb,只能為64mb,訪問較小,但當引入虛擬位址後,虛擬位址的空間一般為4g);

可以解決位址衝突(多個應用程式訪問同乙個實體地址)。

1. 設定cache operations讓cache無效 

2. 根據arm11核的手冊,設定control register關閉i/d cache,mmu

核心初始化

異常處理 總共有七中的異常情況 1 reset 2 undefined instruct 不支援命令異常 3 軟體中斷 4 指令預取失敗異常 5 資料讀取失敗異常 6 中斷 7 快速中斷 比一般的中斷處理速度快一些 中斷向量 當中斷發生時,處理器就會跳轉到乙個固定的位址去處理指令 globl sta...

linux核心初始化

1 系統的引導和初始化 linux 系統的引導有好幾種方式 常見的有 lilo,loadin引導和linux的自舉引導 bootsect loader 而後者所對應源程式為arch i386 boot bootsect.s,它為實模式的匯程式設計序,無論是哪種引導方式,最後都要跳轉到 arch i3...

核心初始化優化巨集 ,初始化順序, init,

來自 http www.17xie.com read 54054.html 核心使用了大量不同的巨集來標記具有不同作用的函式和資料結構。如巨集 init devinit 等。這些巨集在include linux init.h 標頭檔案中定義。編譯器通過這些巨集可以把 優化放到合適的記憶體位置,以減少...