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