www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁(yè) > 嵌入式 > 嵌入式硬件
[導(dǎo)讀]前言隨著計(jì)算機(jī)技術(shù)的發(fā)展,工業(yè)技術(shù)也跟著迅猛發(fā)展起來(lái)了,而伴隨著嵌入式的應(yīng)用也很變得非常廣泛。ARM芯片為了保證指令運(yùn)行的實(shí)時(shí)性,指令沒(méi)有直接在FLASH里面運(yùn)行,而是

前言

隨著計(jì)算機(jī)技術(shù)的發(fā)展,工業(yè)技術(shù)也跟著迅猛發(fā)展起來(lái)了,而伴隨著嵌入式的應(yīng)用也很變得非常廣泛。

ARM芯片為了保證指令運(yùn)行的實(shí)時(shí)性,指令沒(méi)有直接在FLASH里面運(yùn)行,而是先把flash里面的數(shù)據(jù)拷貝到讀取速度比較快的SDRAM里面,然后運(yùn)行,這樣就提高了運(yùn)行速度。但是由于程序的固定性,在我們重新啟動(dòng)的時(shí)候,會(huì)再次拷貝代碼。我們知道SDRAM是掉電不保存數(shù)據(jù)的,但是,如果SDRAM 沒(méi)有掉電,里面的數(shù)據(jù)是不會(huì)丟失的。而我們重啟的時(shí)候并沒(méi)有給芯片斷電,而這個(gè)時(shí)候系統(tǒng)又要重新拷貝一次代碼,造成了時(shí)間的浪費(fèi)。

當(dāng)然在工業(yè)上,我們的系統(tǒng)啟動(dòng)起來(lái)之后,往往重新啟動(dòng)的可能性較少,這樣每次啟動(dòng)浪費(fèi)的時(shí)間也就可以忽略不計(jì)了。不過(guò),在我們使用數(shù)碼相機(jī)的時(shí)候,要搶拍一個(gè)鏡頭,這個(gè)時(shí)間可能就是毫秒級(jí)的,在每次開(kāi)機(jī)的時(shí)候都需要幾秒的啟動(dòng)時(shí)間,是無(wú)法忍耐的。而也不能一直開(kāi)機(jī),便攜式的相機(jī)電池的電量太有限了。我們經(jīng)常的一種解決辦法是將系統(tǒng)切換到低功耗模式,而僅僅是低功耗模式還是要浪費(fèi)電量。而我們想,如果只給SDRAM供電,作為待機(jī)模式,每次按下復(fù)位鍵的時(shí)候就直接跳到SDRAM中運(yùn)行,而不必再次復(fù)制代碼。這就實(shí)現(xiàn)了快速啟動(dòng),電池的供電時(shí)間也相應(yīng)的延長(zhǎng)了。

Samsung ARM系列S3C2440處理器簡(jiǎn)介

在這里所使用的S3C2440處理器是Samsung公司推出的基于A(yíng)RM920T核的32位RISC微處理器。S3C2440具有低功耗、低成本和高性能的特點(diǎn),已成為PDA、智能手機(jī)、網(wǎng)絡(luò)計(jì)算機(jī)終端以及智能設(shè)備的終端產(chǎn)品等的熱門(mén)解決方案之一。

S3C2440內(nèi)部資源豐富、結(jié)構(gòu)復(fù)雜、接口眾多,具有相互獨(dú)立的16kB指令緩存和16kB數(shù)據(jù)緩存,帶有MMU虛擬存儲(chǔ)單元和AMBA總線(xiàn)接口。

S3C2440支持的內(nèi)外圍設(shè)備包括外部存儲(chǔ)控制器、中斷控制器、LCD控制器、8通道10bit精度的ADC和觸摸屏控制器、SD/MMC卡控制器、4 通道DMA、4通道具有PWM功能的定時(shí)器、具有日歷功能的實(shí)時(shí)時(shí)鐘、看門(mén)狗定時(shí)器、3通道UART(包含IRDA紅外線(xiàn)數(shù)據(jù)通訊口)、USB主機(jī)/設(shè)備接口、I2C總線(xiàn)接口、I2S數(shù)字音頻總線(xiàn)接口、2通道SPI總線(xiàn)接口、通用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開(kāi)始的。

這里使用nGCS6將SDRAM的地址編址到0x3000_0000位置處,使用ADDR尋址,使用DAT讀取和寫(xiě)入需要的數(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)。

嵌入式系統(tǒng)啟動(dòng)流程

① 上電,復(fù)位完成;② 嵌入式ARM核自動(dòng)把flash里面最低的4k啟動(dòng)代碼復(fù)制到SRAM里面,并從SRAM的0x0000_0000地址開(kāi)始執(zhí)行;③ 完成一些必要的初始化工作,將FLASH中的代碼拷貝到SDRAM中;④ 跳轉(zhuǎn)到SDRAM中運(yùn)行;通過(guò)以上步驟,就進(jìn)入了我們的應(yīng)用程序,或者是操作系統(tǒng)。

在我們需要復(fù)位的時(shí)候, 即nRESET管腳出現(xiàn)一個(gè)向下的脈沖,即出現(xiàn)復(fù)位。當(dāng)nRESET信號(hào)為低電平時(shí),ARM處理器放棄任何指令的執(zhí)行,并從增加的字地址處取指令;當(dāng) nRESET信號(hào)變?yōu)楦唠娖綍r(shí),ARM處理器進(jìn)行如下操作:1.將當(dāng)前的PC值和CPSR值寫(xiě)入R14_svc和SPSR_svc,已經(jīng)保存的PC和 SPSR的值是未知的;2.強(qiáng)制M[4:0]為10011(超級(jí)用戶(hù)模式),將CPSR中的“I”和“F”位設(shè)為1,并將T位清零;3.強(qiáng)制PC從 0x00地址取下一條指令。4.恢復(fù)為ARM狀態(tài)開(kāi)始執(zhí)行。即程序會(huì)跳到0x0000_0000這個(gè)地址位置,開(kāi)始執(zhí)行上面所述的第三步和第四步。

我們知道從flash里面讀取數(shù)據(jù)比起SDRAM是想當(dāng)慢的,而這里又要進(jìn)行一次代碼的拷貝工作,這也是一個(gè)相當(dāng)長(zhǎng)的時(shí)間。不過(guò)這個(gè)時(shí)候我們可以發(fā)現(xiàn),我們并沒(méi)有斷電,SDRAM里面放的數(shù)據(jù)還是我們代碼,我們沒(méi)有必要重新拷貝這些代碼了,在下次啟動(dòng)的時(shí)候,只需直接跳轉(zhuǎn)到SDRAM中運(yùn)行,做一些初始化工作就可以了。這樣重新啟動(dòng)速度就相當(dāng)迅速了。

快速重啟思想

核心思想:在Bootloader里面,程序執(zhí)行到復(fù)制程序的一塊,可以判斷PC當(dāng)前計(jì)數(shù)在哪個(gè)存儲(chǔ)器里面,如果在SRAM中,就把代碼復(fù)制到SDRAM里面,如果在SDRAM中,就直接跳過(guò)復(fù)制程序這一段,然后繼續(xù)執(zhí)行。

根據(jù)上面這個(gè)思想, 可以先將地址為0x0000_0000這里的跳轉(zhuǎn)指令直接改成跳轉(zhuǎn)到SDRAM存儲(chǔ)器,如LDR PC,=0x3000_0000。

這樣在Reset的時(shí)候,我們就可以直接從0x0000_0000地址跳到0x3000_0000開(kāi)始運(yùn)行。這樣我們就達(dá)到了快速啟動(dòng)的目的。

如圖2 所示, 在系統(tǒng)加電的時(shí)候,程序從地址為 0x0000_0000開(kāi)始的SRAM處運(yùn)行,如上圖1所示。

 


然后,程序在SRAM中將代碼自身復(fù)制到地址為0x3000_0000開(kāi)始處,如圖2中2所示。

 


在將代碼復(fù)制完之后將地址為0x0000_0000處的復(fù)位中斷跳轉(zhuǎn)矢量改為跳轉(zhuǎn)到0x3000_0000,如圖2中3所示。

 


然后程序跳轉(zhuǎn)到SDRAM中,地址為相對(duì)于0x3000_0000的一個(gè)偏移量,這個(gè)偏移量為當(dāng)前地址距0x0000_0000的偏移量,如圖2中4所示。

在圖2中5中,如果用戶(hù)使用了Reset按鍵,重新啟動(dòng)系統(tǒng),我們就可以從地址為0x0000_00000處直接跳轉(zhuǎn)到0x3000_0000這個(gè)位置,開(kāi)始進(jìn)行硬件初始化等工作,這次就不會(huì)有代碼拷貝的過(guò)程了。

快速重啟軟件流程[!--empirenews.page--]

下面是系統(tǒng)自開(kāi)機(jī)開(kāi)始, 程序修改復(fù)位跳轉(zhuǎn)指令的流程圖,在修改0x0000_0000處的跳轉(zhuǎn)指令可用如下數(shù)據(jù)替代:

使用LDR PC, =0x3000_0000指令,反匯編后得到的32位指令數(shù)據(jù)是0xE3A0_F5C0,將其放到0x0000_0000處即可。

而修改0x0000_0000處的數(shù)據(jù),可用如下指令:

程序經(jīng)過(guò)以上配置,就可以實(shí)現(xiàn)系統(tǒng)的快速重啟。

結(jié)論

系統(tǒng)的快速重啟,應(yīng)用將非常廣泛。即使是嵌入式系統(tǒng)慢慢的也將變得很復(fù)雜,系統(tǒng)所占的空間也在慢慢的變大,這樣一個(gè)復(fù)制過(guò)程將嚴(yán)重影響很多設(shè)備的使用,最簡(jiǎn)單的就是數(shù)碼相機(jī)了。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀(guān)點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專(zhuān)欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

LED驅(qū)動(dòng)電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: 驅(qū)動(dòng)電源

在工業(yè)自動(dòng)化蓬勃發(fā)展的當(dāng)下,工業(yè)電機(jī)作為核心動(dòng)力設(shè)備,其驅(qū)動(dòng)電源的性能直接關(guān)系到整個(gè)系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動(dòng)勢(shì)抑制與過(guò)流保護(hù)是驅(qū)動(dòng)電源設(shè)計(jì)中至關(guān)重要的兩個(gè)環(huán)節(jié),集成化方案的設(shè)計(jì)成為提升電機(jī)驅(qū)動(dòng)性能的關(guān)鍵。

關(guān)鍵字: 工業(yè)電機(jī) 驅(qū)動(dòng)電源

LED 驅(qū)動(dòng)電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個(gè)照明設(shè)備的使用壽命。然而,在實(shí)際應(yīng)用中,LED 驅(qū)動(dòng)電源易損壞的問(wèn)題卻十分常見(jiàn),不僅增加了維護(hù)成本,還影響了用戶(hù)體驗(yàn)。要解決這一問(wèn)題,需從設(shè)計(jì)、生...

關(guān)鍵字: 驅(qū)動(dòng)電源 照明系統(tǒng) 散熱

根據(jù)LED驅(qū)動(dòng)電源的公式,電感內(nèi)電流波動(dòng)大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關(guān)鍵字: LED 設(shè)計(jì) 驅(qū)動(dòng)電源

電動(dòng)汽車(chē)(EV)作為新能源汽車(chē)的重要代表,正逐漸成為全球汽車(chē)產(chǎn)業(yè)的重要發(fā)展方向。電動(dòng)汽車(chē)的核心技術(shù)之一是電機(jī)驅(qū)動(dòng)控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機(jī)驅(qū)動(dòng)系統(tǒng)中的關(guān)鍵元件,其性能直接影響到電動(dòng)汽車(chē)的動(dòng)力性能和...

關(guān)鍵字: 電動(dòng)汽車(chē) 新能源 驅(qū)動(dòng)電源

在現(xiàn)代城市建設(shè)中,街道及停車(chē)場(chǎng)照明作為基礎(chǔ)設(shè)施的重要組成部分,其質(zhì)量和效率直接關(guān)系到城市的公共安全、居民生活質(zhì)量和能源利用效率。隨著科技的進(jìn)步,高亮度白光發(fā)光二極管(LED)因其獨(dú)特的優(yōu)勢(shì)逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關(guān)鍵字: 發(fā)光二極管 驅(qū)動(dòng)電源 LED

LED通用照明設(shè)計(jì)工程師會(huì)遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關(guān)鍵字: LED 驅(qū)動(dòng)電源 功率因數(shù)校正

在LED照明技術(shù)日益普及的今天,LED驅(qū)動(dòng)電源的電磁干擾(EMI)問(wèn)題成為了一個(gè)不可忽視的挑戰(zhàn)。電磁干擾不僅會(huì)影響LED燈具的正常工作,還可能對(duì)周?chē)娮釉O(shè)備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來(lái)解決L...

關(guān)鍵字: LED照明技術(shù) 電磁干擾 驅(qū)動(dòng)電源

開(kāi)關(guān)電源具有效率高的特性,而且開(kāi)關(guān)電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機(jī)重量也有所下降,所以,現(xiàn)在的LED驅(qū)動(dòng)電源

關(guān)鍵字: LED 驅(qū)動(dòng)電源 開(kāi)關(guān)電源

LED驅(qū)動(dòng)電源是把電源供應(yīng)轉(zhuǎn)換為特定的電壓電流以驅(qū)動(dòng)LED發(fā)光的電壓轉(zhuǎn)換器,通常情況下:LED驅(qū)動(dòng)電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: LED 隧道燈 驅(qū)動(dòng)電源
關(guān)閉