新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 嵌入式系統(tǒng)基礎(chǔ)之:ARM處理器硬件開發(fā)平臺(tái)

嵌入式系統(tǒng)基礎(chǔ)之:ARM處理器硬件開發(fā)平臺(tái)

作者: 時(shí)間:2013-09-13 來源:網(wǎng)絡(luò) 收藏

本文引用地址:http://butianyuan.cn/article/257145.htm

X系統(tǒng)結(jié)構(gòu)圖如圖4.11所示。

下面依次對(duì)X的系統(tǒng)管理器、NandFlash引導(dǎo)裝載器、緩沖存儲(chǔ)器、時(shí)鐘和電源管理及中斷控制進(jìn)行簡要講解,要注意,其中所有模式的選擇都是通過對(duì)相關(guān)寄存器特定值的設(shè)定來實(shí)現(xiàn)的,因此,當(dāng)讀者需要對(duì)此進(jìn)行修改時(shí),請(qǐng)參閱三星公司提供X用戶手冊(cè)。

1.系統(tǒng)管理器

S3C2410X支持小/大端模式,它將系統(tǒng)的存儲(chǔ)空間分為8個(gè)組(bank),其中每個(gè)bank有128MB,總共為1GB。每個(gè)組可編程的數(shù)據(jù)總線寬度為8/16/32位,其中bank0~bank5具有固定的bank起始地址和結(jié)束地址,用于ROM和SRAM。而bank6和bank7是大小可變的,用于ROM、SRAM或SDRAM。這里,所有的存儲(chǔ)器bank都具有可編程的操作周期,并且支持掉電時(shí)的SDRAM自刷新模式和多種類型的引導(dǎo)ROM。

2.nandflash引導(dǎo)裝載器

S3C2410X支持從nandflash存儲(chǔ)器啟動(dòng),其中,開始的4KB為內(nèi)置緩沖存儲(chǔ)器,它在啟動(dòng)時(shí)將被轉(zhuǎn)載(裝載or轉(zhuǎn)載)到SDRAM中并執(zhí)行引導(dǎo),之后該4KB可以用作其他用途。

圖4.11S3C2410X系統(tǒng)結(jié)構(gòu)圖

小知識(shí)

Flash是一種非易失閃存技術(shù)。Intel于1988年首先開發(fā)出NorFlash技術(shù)之后,徹底改變了原先由EPROM和EEPROM一統(tǒng)天下的局面。緊接著,1989年東芝公司發(fā)布了NandFlash結(jié)構(gòu),強(qiáng)調(diào)降低每比特的成本、更高的性能,并且像磁盤一樣可以通過接口輕松升級(jí)。

NorFlash的特點(diǎn)是芯片內(nèi)執(zhí)行(ExecuteInPlace),這樣應(yīng)用程序可以直接在Flash閃存內(nèi)運(yùn)行,而不必再把代碼讀到系統(tǒng)RAM中。NorFlash的傳輸效率很高,在1~4MB的小容量時(shí)具有很高的成本效益,但是很低的寫入和擦除速度大大影響了它的性能。

Nandflash結(jié)構(gòu)能提供極高的單元密度,可以達(dá)到高存儲(chǔ)密度,NAND讀和寫操作采用512字節(jié)的塊,單元尺寸幾乎是nor器件的一半,同時(shí)由于生產(chǎn)過程更為簡單,大大降低了生產(chǎn)的成本。NAND閃存中每個(gè)塊的最大擦寫次數(shù)是100萬次,是NorFlash的10倍,這些都使得NandFlash越來越受到人們的歡迎。

同時(shí),S3C2410X也支持從外部nGCS0片選的Norflash啟動(dòng),如在優(yōu)龍的開發(fā)板上將JP1跳線去掉就可從NorFlash啟動(dòng)(默認(rèn)從NandFlash啟動(dòng))。在這兩種啟動(dòng)模式下,各片選的存儲(chǔ)空間分配是不同的,如圖4.12所示。

圖4.12S3C2410兩種啟動(dòng)模式地址映射

3.緩沖存儲(chǔ)器

S3C2410X是帶有指令緩存(16KB)和數(shù)據(jù)緩存(16KB)的聯(lián)合緩存裝置,一個(gè)緩沖區(qū)能夠保持16字的數(shù)據(jù)和4個(gè)地址。

4.時(shí)鐘和電源管理

S3C2410X采用獨(dú)特的時(shí)鐘管理模式,它具有PLL(相位鎖定環(huán)路,用于穩(wěn)定頻率)的芯片時(shí)鐘發(fā)生器,而在此,PLL又分為UPLL和MPLL。其中UPLL時(shí)鐘發(fā)生器用于主/從USB操作,MPLL時(shí)鐘發(fā)生器用于產(chǎn)生主時(shí)鐘,使其能以極限頻率203MHz(1.8V)運(yùn)行。

S3C2410X的電源管理模式又分為正常、慢速、空閑和掉電4種模式。其中慢速模式為不帶PLL的低頻時(shí)鐘模式,空閑模式始終為CPU停止模式,掉電模式為所有外圍設(shè)備全部掉電僅內(nèi)核電源供電的模式。

另外,S3C2410X對(duì)片內(nèi)的各個(gè)部件采用獨(dú)立的供電方式。

n 1.8V的內(nèi)核供電。

n 3.3V的存儲(chǔ)器獨(dú)立供電(通常對(duì)SDRAM采用3.3V,對(duì)移動(dòng)SDRAM采用1.8/2.5V)。

n 3.3V的VDDQ。

n 3.3V的I/O獨(dú)立供電。

由于在中電源管理非常關(guān)鍵,它直接涉及功耗等各方面的系統(tǒng)性能,而S3C2410X的電源管理中獨(dú)立的供電方式和多種模式可以有效地處理系統(tǒng)的不同狀態(tài),從而達(dá)到最優(yōu)的配置。

5.中斷控制

中斷處理在開發(fā)中非常重要,尤其對(duì)于從單片機(jī)轉(zhuǎn)入到嵌入式的讀者來說,與單片機(jī)中簡單的中斷模式相比,ARM中的中斷處理要復(fù)雜得多。如果讀者無相關(guān)基礎(chǔ),建議先熟悉相關(guān)的基礎(chǔ)概念再進(jìn)行下一步學(xué)習(xí)。

首先給出了一般的中斷處理流程,如圖4.13所示。

圖4.13一般中斷處理流程

S3C2410X包括55個(gè)中斷源,其中有1個(gè)看門狗定時(shí)器中斷、5個(gè)定時(shí)器中斷、9個(gè)通用異步串行口中斷、24個(gè)外部中斷、4個(gè)DMA中斷、2個(gè)RTC(實(shí)時(shí)時(shí)鐘控制器)中斷、2個(gè)USB中斷、1個(gè)LCD中斷和1個(gè)電池故障。其中,對(duì)外部中斷源具有電平/邊沿兩種觸發(fā)模式。另外,對(duì)于非常緊急的中斷可以支持使用快速中斷請(qǐng)求(FIQ)。

S3C2410X的中斷處理流程(該圖摘自S3C2410X用戶手冊(cè))如圖4.14所示。

圖4.14S3C2410X中斷處理流程

圖中的SUBSRCPND、SRCPND、SUBMASK、MASK和MODE都是與中斷相關(guān)的寄存器,其中SUBSRCPND和SRCPND寄存器用來表示有哪些中斷被觸發(fā)了和是否正在等待處理(pending);SUBMASK(INTSUBMSK寄存器)和MASK(INTMSK寄存器)用于屏蔽某些中斷。

圖中的“Requestsources(withsub–register)”表示的是INT_RXD0、INT_TXD0等11個(gè)中斷源,它們不同于“Requestsources(withoutsub–register)”的操作如下:

(1)“Requestsources(withoutsub–register)”中的中斷源被觸發(fā)之后,SRCPND寄存器中相應(yīng)位被置1,如果此中斷沒有被INTMSK寄存器屏蔽、或者是快中斷(FIQ)的話,它將被進(jìn)一步處理。

(2)對(duì)于“Requestsources(withsub–register)”中的中斷源被觸發(fā)之后,SUBSRCPND寄存器中的相應(yīng)位被置1,如果此中斷沒有被SUBMSK寄存器屏蔽的話,它在SRCPND寄存器中的相應(yīng)位也被置1。在此之后的兩者的處理過程是一樣的。

接下來,在SRCPND寄存器中,被觸發(fā)的中斷的相應(yīng)位被置1,等待處理。

(1)如果被觸發(fā)的中斷中有快中斷(FIQ)——MODE(INTMOD寄存器)中為1的位對(duì)應(yīng)的中斷,則CPU的FIQ中斷函數(shù)被調(diào)用。注意:FIQ只能分配一個(gè),即INTMOD中只能有一位被設(shè)為1。

(2)對(duì)于一般中斷IRQ,可能同時(shí)有幾個(gè)中斷被觸發(fā),未被INTMSK寄存器屏蔽的中斷經(jīng)過比較后,選出優(yōu)先級(jí)最高的中斷,然后CPU調(diào)用IRQ中斷處理函數(shù)。中斷處理函數(shù)可以通過讀取INTPND(標(biāo)識(shí)最高優(yōu)先級(jí)的寄存器)寄存器來確定中斷源是哪個(gè),也可以讀INTOFFSET寄存器來確定中斷源。


上一頁 1 2 3 下一頁

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉