
熟悉ARM嵌入式系統的朋友都知道,ARM由復雜的系統構成,與其對應的硬件模塊也不再少數。為了進行統一,在很多用戶使用之前,需要對系統進行完全的初始化。這就涉及到一些專業代碼的使用。能夠獨立的代碼一般都實用匯編語言編程,本文就將為大家帶來ARM嵌入式系統初始化的硬件平臺部分。
硬件平臺
--初始化異常向量表(中斷向量表)
--初始化存儲器系統
--初始化堆棧
--初始化有特殊要求的端口和設備
--初始化應用程序的運行環境
--調用主應用程序
1、初始化異常向量表(中斷向量表)
ARM微處理器結構要求中斷向量表必須放置在從0x00地址開始的連續8×4字節的空間內,每當一個中斷(異常)發生以后,ARM微處理器便強制把PC置為對應的中斷向量。由于每個中斷只占用向量表中一個字(4個字節)的存儲空間,只能放一條ARM指令,所以通常為跳轉指令,使程序從向量表跳轉到存儲器的其他位置,執行真正的中斷處理。
具體代碼實現如下:
AREA Init,CODE,READONLY
ENTRY
B Reset_Handler;異常復位
B Undef_Handler;未定義指令異常
B SWI_Handler;軟件中斷
B PreAbort_Handler;指令預取中止
B DataAbord_Handler;數據中止
B .;系統保留
B IRQ_Handler;普通外部中斷
B FIQ_Handler;快速外部中斷
本文介紹了ARM系統初始化的硬件部分,給出了硬件初始化部分的代碼。在之后的內容中,小編將為大家帶來有關ARM嵌入式存儲化系統初始化的部分內容,請大家持續關注電源網的文章。
聲明:本內容為作者獨立觀點,不代表電源網。本網站原創內容,如需轉載,請注明出處;本網站轉載的內容(文章、圖片、視頻)等資料版權歸原作者所有。如我們采用了您不宜公開的文章或圖片,未能及時和您確認,避免給雙方造成不必要的經濟損失,請電郵聯系我們,以便迅速采取適當處理措施;歡迎投稿,郵箱∶editor@netbroad.com。
微信關注 | ||
![]() |
技術專題 | 更多>> | |
![]() |
技術專題之EMC |
![]() |
技術專題之PCB |