arm處理器系統初始化過程
每次系統上電/復位啟動時,處理器都處於一種最低效能即只有最基本功能的狀態,此時它只能從復位向量位址處去讀取指令,其他功能模組都處於禁止或者不可預知狀態,而一旦處理器從復位向量位址位置讀取到第一條指令開始執行,那麼從軟體的角度看,處理器和整個系統就開始進入了軟體可控狀態,系統下面的行為就由軟體流程決定,軟體要做的第一件事就是初始化整個系統。
系統初始化的一般順序為:
1)禁止mmu,關閉中斷,禁止cache;
2)根據硬體設計配製好處理器時鐘、dram時鐘、定時器時鐘;
3)根據系統中所用的flash和dram晶元容量和電氣引數設定它們的起始位址、容量、重新整理頻率等;
4)將固化在flash晶元中的程式搬移到dram記憶體中;
5)使能cache,使能mmu,跳轉到dram記憶體中執行繼續初始化,包括根據具體應用以及系統中的硬體配置初始化各個功能模組、安裝好異常中斷處理程式、使能中斷等;
6)進行作業系統相關初始化。
ARM處理器系統初始化程式設計注意事項
本文摘自王洪輝老師的 嵌入式系統linux核心開發實戰指南 arm平台 一書 在上述系統初始化過程中有以下兩點需要注意,如果處理不好就可能出現程式跑飛的情況。1 如果需要將程式從flash搬移到dram中執行 在現代嵌入式系統中,由於dram的速度比flash的速度快很多,所以除了極少數對效能要求不...
初始化協議處理器 CPU多核初始化
最近的幾個專案都不止一次的碰到了mp 初始化的問題,每次都花了不少的時間,於是打算總結一下多處理器初始化的流程,以備將來再次碰到的問題時方便查詢。mp初始化指的是在乙個有至少2個或者多個處理器的系統裡,怎麼去初始化所有的處理器,讓系統工作起來。ia 32 arch 定義了mp 初始化的協議,該協議使...
ARM處理器模式
cpsr暫存器 arm v4的cpsr暫存器 和儲存它的spsr暫存器 中的位分配如下圖所示。處理器模式決定了哪些暫存器是活動的以及對cpsr訪問權。處理器模式要麼是特權模式,要麼是非特權模式。特權模式允許對cpsr的完全讀 寫訪問 與些相反,非特權模式只允許對cpsr的控制域進行讀訪問,但允許對條...