嵌入式系統(tǒng)快速重啟的研究
本文論述了嵌入式系統(tǒng)的啟動(dòng)過程,由于嵌入式系統(tǒng)在每次重啟的時(shí)候都要執(zhí)行一次代碼的拷貝過程,這樣會(huì)浪費(fèi)很多時(shí)間。對(duì)于我們來說,只要內(nèi)存沒有斷電,里面就有我們的代碼,而沒有必要重新拷貝一次。本文就這一點(diǎn),對(duì)于嵌入式系統(tǒng)的快速重啟做了充分研究,在文章的最后給出了具體實(shí)現(xiàn)過程,其應(yīng)用甚是廣泛,有一定的應(yīng)用價(jià)值。
前言
隨著計(jì)算機(jī)技術(shù)的發(fā)展,工業(yè)技術(shù)也跟著迅猛發(fā)展起來了,而伴隨著嵌入式的應(yīng)用也很變得非常廣泛。
ARM芯片為了保證指令運(yùn)行的實(shí)時(shí)性,指令沒有直接在FLASH里面運(yùn)行,而是先把flash里面的數(shù)據(jù)拷貝到讀取速度比較快的SDRAM里面,然后運(yùn)行,這樣就提高了運(yùn)行速度。但是由于程序的固定性,在我們重新啟動(dòng)的時(shí)候,會(huì)再次拷貝代碼。我們知道SDRAM是掉電不保存數(shù)據(jù)的,但是,如果 SDRAM沒有掉電,里面的數(shù)據(jù)是不會(huì)丟失的。而我們重啟的時(shí)候并沒有給芯片斷電,而這個(gè)時(shí)候系統(tǒng)又要重新拷貝一次代碼,造成了時(shí)間的浪費(fèi)。
當(dāng)然在工業(yè)上,我們的系統(tǒng)啟動(dòng)起來之后,往往重新啟動(dòng)的可能性較少,這樣每次啟動(dòng)浪費(fèi)的時(shí)間也就可以忽略不計(jì)了。不過,在我們使用數(shù)碼相機(jī)的時(shí)候,要搶拍一個(gè)鏡頭,這個(gè)時(shí)間可能就是毫秒級(jí)的,在每次開機(jī)的時(shí)候都需要幾秒的啟動(dòng)時(shí)間,是無法忍耐的。而也不能一直開機(jī),便攜式的相機(jī)電池的電量太有限了。我們經(jīng)常的一種解決辦法是將系統(tǒng)切換到低功耗模式,而僅僅是低功耗模式還是要浪費(fèi)電量。而我們想,如果只給SDRAM供電,作為待機(jī)模式,每次按下復(fù)位鍵的時(shí)候就直接跳到SDRAM中運(yùn)行,而不必再次復(fù)制代碼。這就實(shí)現(xiàn)了快速啟動(dòng),電池的供電時(shí)間也相應(yīng)的延長了。
Samsung ARM系列S3C2440處理器簡介
在這里所使用的S3C2440處理器是Samsung公司推出的基于ARM920T核的32位RISC微處理器。S3C2440具有低功耗、低成本和高性能的特點(diǎn),已成為PDA、智能手機(jī)、網(wǎng)絡(luò)計(jì)算機(jī)終端以及智能設(shè)備的終端產(chǎn)品等的熱門解決方案之一。
S3C2440內(nèi)部資源豐富、結(jié)構(gòu)復(fù)雜、接口眾多,具有相互獨(dú)立的16kB指令緩存和16kB數(shù)據(jù)緩存,帶有MMU虛擬存儲(chǔ)單元和AMBA總線接口。
S3C2440支持的內(nèi)外圍設(shè)備包括外部存儲(chǔ)控制器、中斷控制器、LCD控制器、8通道10bit精度的ADC和觸摸屏控制器、SD/MMC卡控制器、4通道DMA、4通道具有PWM功能的定時(shí)器、具有日歷功能的實(shí)時(shí)時(shí)鐘、看門狗定時(shí)器、3通道UART(包含IRDA紅外線數(shù)據(jù)通訊口)、USB主機(jī)/設(shè)備接口、I2C總線接口、I2S數(shù)字音頻總線接口、2通道SPI總線接口、通用I/O端口以及具有鎖相環(huán)功能片上時(shí)鐘發(fā)生器等、同時(shí)也可以柑橘需要進(jìn)行功能擴(kuò)展從而支持以太網(wǎng)接口、PCMCIA接口及IDE接口等。
S3C2440外部存儲(chǔ)器電路圖
在這里我們使用FLASH作為程序和數(shù)據(jù)固化的存儲(chǔ)器,使用SDRAM作為系統(tǒng)啟動(dòng)之后, 程序運(yùn)行的區(qū)域。而S3C2440核內(nèi)部4k的SRAM固定作為最初的啟動(dòng)代碼使用,地址是從0x0000_0000開始的。
這里使用nGCS6將SDRAM的地址編址到0x3000_0000位置處,使用ADDR尋址,使用DAT讀取和寫入需要的數(shù)據(jù),使用FCON控制信號(hào)控制SDRAM的狀態(tài)。
使用FCON控制FLASH的狀態(tài),根據(jù)DATA按照時(shí)序送入數(shù)據(jù)和命令,做相應(yīng)的處理。
這三部分就構(gòu)成了ARM運(yùn)行的最小系統(tǒng)。
評(píng)論