隨著嵌入式相關(guān)技術(shù)的迅速發(fā)展,嵌入式系統(tǒng)的功能越來越強(qiáng)大,應(yīng)用接口更加豐富,根據(jù)實(shí)際應(yīng)用的需要設(shè)計(jì)出特定的嵌入式最小系統(tǒng)和應(yīng)用系統(tǒng),是嵌入式系統(tǒng)設(shè)計(jì)的關(guān)鍵。目前在嵌入式系統(tǒng)開發(fā)的過程中,開發(fā)者往往把大量精力投入到嵌入式微處理器MPU(Micro Processing Unit)與眾多外設(shè)的連接方式以及應(yīng)用代碼的開發(fā)之中,而忽視了對(duì)嵌入式系統(tǒng)最基本、最核心部分的研究。
當(dāng)前在嵌入式領(lǐng)域中,ARM(Advanced RISC Machines)處理器被廣泛應(yīng)用于各種嵌入式設(shè)備中。由于ARM嵌入式體系結(jié)構(gòu)類似并且具有通用的外圍電路,同時(shí)ARM內(nèi)核的嵌入式最小系統(tǒng)的設(shè)計(jì)原則及方法基本相同,這使得對(duì)嵌入式最小系統(tǒng)的研究在整個(gè)系統(tǒng)的開發(fā)中具有著至關(guān)重要的意義。本文以基于ARM的嵌入式最小系統(tǒng)為平臺(tái),從硬件和軟件兩方面對(duì)嵌入式最小系統(tǒng)的架構(gòu)進(jìn)行了研究,硬件方面主要介紹了ARM處理器與典型外部存儲(chǔ)器的接口技術(shù),軟件方面重點(diǎn)就嵌入式最小系統(tǒng)的啟動(dòng)架構(gòu)做了詳細(xì)分析。
2. 嵌入式最小系統(tǒng)
嵌入式最小系統(tǒng)即是在盡可能減少上層應(yīng)用的情況下,能夠使系統(tǒng)運(yùn)行的最小化模塊配置。對(duì)于一個(gè)典型的嵌入式最小系統(tǒng),以ARM處理器為例,其構(gòu)成模塊及其各部分功能如圖1所示,其中ARM微處理器、FLASH和SDRAM模塊是嵌入式最小系統(tǒng)的核心部分。
時(shí)鐘模塊——通常經(jīng)ARM內(nèi)部鎖相環(huán)進(jìn)行相應(yīng)的倍頻,以提供系統(tǒng)各模塊運(yùn)行所需的時(shí)鐘頻率輸入
Flash存儲(chǔ)模塊——存放啟動(dòng)代碼、操作系統(tǒng)和用戶應(yīng)用程序代碼
SDRAM模塊——為系統(tǒng)運(yùn)行提供動(dòng)態(tài)存儲(chǔ)空間,是系統(tǒng)代碼運(yùn)行的主要區(qū)域
JTAG模塊——實(shí)現(xiàn)對(duì)程序代碼的下載和調(diào)試
UART模塊——實(shí)現(xiàn)對(duì)調(diào)試信息的終端顯示
復(fù)位模塊——實(shí)現(xiàn)對(duì)系統(tǒng)的復(fù)位