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

時鐘模塊——通常經ARM內部鎖相環進行相應的倍頻,以提供系統各模塊運行所需的時鐘頻率輸入
Flash存儲模塊——存放啟動代碼、操作系統和用戶應用程序代碼
SDRAM模塊——為系統運行提供動態存儲空間,是系統代碼運行的主要區域
JTAG模塊——實現對程序代碼的下載和調試
UART模塊——實現對調試信息的終端顯示
復位模塊——實現對系統的復位
3. 外存儲器接口技術
ARM處理器與外部存儲器(Flash和SDRAM)的接口技術是嵌入式最小系統硬件設計的關鍵。根據需要選擇合理的接口方式,可以有效的提升嵌入式系統的整體性能。
3.1常用外存儲器簡介
(1)Nor Flash與Nand Flash
Nor Flash也稱為線性Flash,可靠性高、隨機讀取速度快,具有芯片內執行(XIP, eXecute In Place)的特點,這樣應用程序可以直接在Flash閃存內運行,不必再把代碼讀到系統RAM中。常用在擦除和編程操作較少而直接執行代碼的場合。
Nand Flash則是高數據存儲密度的理想解決方案,一般用于數據存儲和文件存儲,以塊為單位進行擦除,具有擦除速度快的優點。
(2)同步動態存儲器SDRAM
SDRAM(Synchronous Dynamic Random Access Memory)是在早期DRAM的基礎上改進而來的,它是同步內存,并在接口信號中引入了CLK信號,所有數據、地址和控制信號都是和CLK上升沿對齊的。此外SDRAM還在內部引入了一個命令控制器,處理器訪問SDRAM都是通過向命令控制器發送命令來實現的。
3.2 ARM處理器與Flash接口技術
3.2.1ARM處理器與Nor Flash接口技術
Nor Flash 帶有SRAM接口,有足夠的地址引腳,可以很容易的對存儲器內部的存儲單元進行直接尋址。在實際的系統中,可以根據需要選擇ARM處理器與Nor Flash的連接方式。圖2給出了嵌入式最小系統在包含兩塊Nor Flash的情況下,ARM處理器與Nor Flash兩種不同的連接方式。
1)雙Flash獨立片選
該方式是把兩個Nor Flash芯片各自作為一個獨立的單元進行處理。根據不同的應用需要,可以在一塊Flash中存放啟動代碼,而在另一塊Flash中建立文件系統,存放應用代碼。該方式操作方便,易于管理。
(2)雙Flash統一片選
該方式是把兩個Nor Flash芯片合為一個單元進行處理,ARM處理器將它們作為一個并行的處理單元來訪問,本例是將兩個8bit的Nor Flash芯片SST39VF1601用作一個16bit單元來進行處理。對于N(N>2)塊Flash的連接方式可以此作為參考。
3.2.2ARM處理器與Nand Flash接口技術
Nand Flash接口信號比較少,地址,數據和命令總線復用。Nand Flash的接口本質上是一個I/O接口,系統對Nand Flash進行數據訪問的時候,需要先向Nand Flash發出相關命令和參數,然后再進行相應的數據操作。ARM處理器與Nand Flash的連接主要有三種方式,如圖3所示:

運用GPIO管腳方式去控制Nand Flash的各個信號,在速度要求相對較低的時候,能夠較充分的發揮NAND設備的性能。它在滿足NAND設備時域需求方面將會有很大的便利,使得ARM處理器可以很容易的去控制NAND設備。該方式需要處理器提供充足的GPIO。
linux操作系統文章專題:linux操作系統詳解(linux不再難懂)
評論