ARM嵌入式最小系統(tǒng)的軟硬件架構(gòu)的改進(jìn)研究
1. 引言
本文引用地址:http://butianyuan.cn/article/170478.htm隨著嵌入式相關(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ā)之中,而忽視了對嵌入式系統(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ì)原則及方法基本相同,這使得對嵌入式最小系統(tǒng)的研究在整個(gè)系統(tǒng)的開發(fā)中具有著至關(guān)重要的意義。本文以基于ARM的嵌入式最小系統(tǒng)為平臺(tái),從硬件和軟件兩方面對嵌入式最小系統(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)行的最小化模塊配置。對于一個(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)對程序代碼的下載和調(diào)試
UART模塊——實(shí)現(xiàn)對調(diào)試信息的終端顯示
復(fù)位模塊——實(shí)現(xiàn)對系統(tǒng)的復(fù)位
3. 外存儲(chǔ)器接口技術(shù)
ARM處理器與外部存儲(chǔ)器(Flash和SDRAM)的接口技術(shù)是嵌入式最小系統(tǒng)硬件設(shè)計(jì)的關(guān)鍵。根據(jù)需要選擇合理的接口方式,可以有效的提升嵌入式系統(tǒng)的整體性能。
3.1常用外存儲(chǔ)器簡介
(1)Nor Flash與Nand Flash
Nor Flash也稱為線性Flash,可靠性高、隨機(jī)讀取速度快,具有芯片內(nèi)執(zhí)行(XIP, eXecute In Place)的特點(diǎn),這樣應(yīng)用程序可以直接在Flash閃存內(nèi)運(yùn)行,不必再把代碼讀到系統(tǒng)RAM中。常用在擦除和編程操作較少而直接執(zhí)行代碼的場合。
Nand Flash則是高數(shù)據(jù)存儲(chǔ)密度的理想解決方案,一般用于數(shù)據(jù)存儲(chǔ)和文件存儲(chǔ),以塊為單位進(jìn)行擦除,具有擦除速度快的優(yōu)點(diǎn)。
(2)同步動(dòng)態(tài)存儲(chǔ)器SDRAM
SDRAM(Synchronous Dynamic Random Access Memory)是在早期DRAM的基礎(chǔ)上改進(jìn)而來的,它是同步內(nèi)存,并在接口信號(hào)中引入了CLK信號(hào),所有數(shù)據(jù)、地址和控制信號(hào)都是和CLK上升沿對齊的。此外SDRAM還在內(nèi)部引入了一個(gè)命令控制器,處理器訪問SDRAM都是通過向命令控制器發(fā)送命令來實(shí)現(xiàn)的。
3.2 ARM處理器與Flash接口技術(shù)
3.2.1ARM處理器與Nor Flash接口技術(shù)
Nor Flash 帶有SRAM接口,有足夠的地址引腳,可以很容易的對存儲(chǔ)器內(nèi)部的存儲(chǔ)單元進(jìn)行直接尋址。在實(shí)際的系統(tǒng)中,可以根據(jù)需要選擇ARM處理器與Nor Flash的連接方式。圖2給出了嵌入式最小系統(tǒng)在包含兩塊Nor Flash的情況下,ARM處理器與Nor Flash兩種不同的連接方式。
1)雙Flash獨(dú)立片選
該方式是把兩個(gè)Nor Flash芯片各自作為一個(gè)獨(dú)立的單元進(jìn)行處理。根據(jù)不同的應(yīng)用需要,可以在一塊Flash中存放啟動(dòng)代碼,而在另一塊Flash中建立文件系統(tǒng),存放應(yīng)用代碼。該方式操作方便,易于管理。
(2)雙Flash統(tǒng)一片選
該方式是把兩個(gè)Nor Flash芯片合為一個(gè)單元進(jìn)行處理,ARM處理器將它們作為一個(gè)并行的處理單元來訪問,本例是將兩個(gè)8bit的Nor Flash芯片SST39VF1601用作一個(gè)16bit單元來進(jìn)行處理。對于N(N>2)塊Flash的連接方式可以此作為參考。
3.2.2ARM處理器與Nand Flash接口技術(shù)
Nand Flash接口信號(hào)比較少,地址,數(shù)據(jù)和命令總線復(fù)用。Nand Flash的接口本質(zhì)上是一個(gè)I/O接口,系統(tǒng)對Nand Flash進(jìn)行數(shù)據(jù)訪問的時(shí)候,需要先向Nand Flash發(fā)出相關(guān)命令和參數(shù),然后再進(jìn)行相應(yīng)的數(shù)據(jù)操作。ARM處理器與Nand Flash的連接主要有三種方式,如圖3所示:
運(yùn)用GPIO管腳方式去控制Nand Flash的各個(gè)信號(hào),在速度要求相對較低的時(shí)候,能夠較充分的發(fā)揮NAND設(shè)備的性能。它在滿足NAND設(shè)備時(shí)域需求方面將會(huì)有很大的便利,使得ARM處理器可以很容易的去控制NAND設(shè)備。該方式需要處理器提供充足的GPIO。
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
評論