日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁(yè) > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]S3C2440是三星公司基于ARM920T設(shè)計(jì)的一款處理器,在開發(fā)基于S3C2440的系統(tǒng)的過(guò)程中,如何讓系統(tǒng)快速穩(wěn)定地啟動(dòng)是一個(gè)重要問(wèn)題。嵌入式系統(tǒng)的資源有限,程序通常都是固化在 ROM 中運(yùn)行。但在實(shí)際應(yīng)用中,為提高系統(tǒng)的

S3C2440是三星公司基于ARM920T設(shè)計(jì)的一款處理器,在開發(fā)基于S3C2440的系統(tǒng)的過(guò)程中,如何讓系統(tǒng)快速穩(wěn)定地啟動(dòng)是一個(gè)重要問(wèn)題。嵌入式系統(tǒng)的資源有限,程序通常都是固化在 ROM 中運(yùn)行。但在實(shí)際應(yīng)用中,為提高系統(tǒng)的實(shí)時(shí)性,加快代碼的執(zhí)行速度,系統(tǒng)啟動(dòng)后程序往往要被搬移到 RAM 中,因?yàn)?RAM 的存取速度要比 ROM 快得多,這樣大大提升系統(tǒng)的性能。啟動(dòng)程序要完成的任務(wù)包括:硬件初始化,系統(tǒng)存儲(chǔ)系統(tǒng)的配置,復(fù)制二級(jí)中斷向量表。

啟動(dòng)程序過(guò)程

系統(tǒng)硬件初始化
系統(tǒng)上電或復(fù)位后,程序從位于地址 0x0 的 Reset Exception Vector 處開始執(zhí)行,因此需要在這里放置 Bootloader 的第一條指令: b ResetHandler ,跳轉(zhuǎn)到標(biāo)號(hào)為 ResetHandler 處進(jìn)行第一階段的硬件初始化,主要內(nèi)容為:關(guān)看門狗定時(shí)器,關(guān)中斷,初始化 PLL 和時(shí)鐘,初始化存儲(chǔ)器系統(tǒng)。執(zhí)行完以上程序后,系統(tǒng)進(jìn)行堆棧和存儲(chǔ)器的初始化。系統(tǒng)堆棧初始化取決于用戶使用了哪些中斷,以及系統(tǒng)需要處理哪些錯(cuò)誤類型。 一般情況下,管理者堆棧必須設(shè)置,如果使用了 IRQ 中斷,則 IRQ 堆棧也必須設(shè)置。如果系統(tǒng)使用了外設(shè),則需要設(shè)置相關(guān)的寄存器,以確定其刷新頻率、總線寬度等信息。

代碼段復(fù)制到 RAM 中運(yùn)行
因?yàn)榍度胧较到y(tǒng)的代碼通常都是固化在 ROM 或者 Flash 中,上電后開始運(yùn)行。由于 ROM 和 Flash 的讀取速度相對(duì)較慢,這樣無(wú)疑會(huì)降低代碼的執(zhí)行速度和系統(tǒng)的運(yùn)行效率。為此,需要把系統(tǒng)的代碼復(fù)制到 RAM 中運(yùn)行。使用 SDT 鏈接器 ARMLink 產(chǎn)生的定位信息,把 RO 的有效代碼和數(shù)據(jù)段到 RAM 中。 ARMLink 將編譯后的程序鏈接成 ELF 文件。映像文件內(nèi)部共有三種輸出段: RO 段、 RW 段和 ZI 段。這三種輸出段分別包含了只讀代碼及包含在代碼段中的少量數(shù)據(jù)、可讀寫的數(shù)據(jù)、初始化為 0 的數(shù)據(jù), ARMLink 同時(shí)還產(chǎn)生了這三種輸出段的起始和終止定位信息: Image$$RO$$Base 、 Image$$RO$$Limit 、 Image$$RW$$Base 、 Image$$Limit 、 Image$$Linit 和 Image$$ZI$$Limit ??梢栽诔绦蛑惺褂眠@些定位信息。將 ROM 中的代碼和數(shù)據(jù)搬移到 RAM 中,具體程序如下。
LDR r0, =|Image$$RO$$Base| /*RO 段起始地址 */
LDR r1, =|Image$$RO$$Limit| /*RO 段結(jié)束地址 */
LDR r2, =|Image$$RW$$Base|
LDR r3, =|Image$$RW$$Limit|
/* 分別求出需要映像的代碼和數(shù)據(jù)的長(zhǎng)度并累加,放到寄存器 R1 中 */
SUB r1, r1, r0
SUB r3, r3, r2
ADD r1, r1, r3
/* 將需要映象的代碼和數(shù)據(jù)復(fù)制到 RAM 中去 */
0 /* 標(biāo)示符 */
LDR r3, [r0], #4
STR r3, [r2], #4
SUBS r1, r1, #4
BNE %B0 /* 如果沒有復(fù)制完,跳轉(zhuǎn)到 0 標(biāo)示符處的匯編語(yǔ)句,繼續(xù)復(fù)制,參見 ARM 指令幫助手冊(cè) */

建立二級(jí)中斷向量表
在 ARM 系統(tǒng)中,中斷向量表位于 0X0 開始的地址處,意味著無(wú)論運(yùn)行什么樣的上層軟件,一旦發(fā)生中斷,程序就得到 Flash 存儲(chǔ)器中的中斷向量表里去,降低系統(tǒng)的運(yùn)行效率。因此在 RAM 中建立自己的二級(jí)中斷向量表,當(dāng)中斷發(fā)生后,程序直接從 RAM 中取中斷向量進(jìn)入中斷子程序。尤其是在中斷頻繁發(fā)生的系統(tǒng)里,這種方法可以大大提高系統(tǒng)的運(yùn)行效率,具體的實(shí)現(xiàn)代碼如下。
b ResetHandler
b HandlerUndef /* 未定義模式句柄 */
b HandlerSWI /*SWI 中斷句柄 */
b HandlerPabort /*PAbort 中斷句柄 */
b HandlerDabort /*Dabort 中斷句柄 */
b. /* 保留 */
b HandlerIRQ /*IRQ 中斷句柄 */
b HandlerFIQ /*FIQ 中斷句柄 */
HandlerFIQ HANDLER HandleFIQ
HandlerIRQ HANDLER HandleIRQ
HandlerUndef HANDLER HandleUndef
HandlerSWI HANDLER HandleSWI
HandlerDabort HANDLER HandleDabort
HandlerPabort HANDLER HandlePabort
其中 HANDLER 是一個(gè)宏,用于查找中斷處理程序的入口地址。這些地址存放在由 HandleXXX 指向的表項(xiàng)中,該表定位在 RAM 高端,基地址為 _ISR_STARTADDRESS 。
^ _ISR_STARTADDRESS
HandleReset # 4
HandleUndef # 4
HandleSWI # 4
HandlePabort # 4
HandleDabort # 4
HandleReserved # 4
HandleIRQ # 4
HandleFIQ # 4

MMU 的應(yīng)用
MMU 是存儲(chǔ)器管理單元的縮寫,是用來(lái)管理虛擬內(nèi)存系統(tǒng)的器件。 MMU 通常是 CPU 的一部分,本身有少量存儲(chǔ)空間存放從虛擬地址到物理地址的匹配表,此表稱作 TLB( 轉(zhuǎn)換旁置緩沖區(qū) ) 。所有數(shù)據(jù)請(qǐng)求都送往 MMU ,由 MMU 決定數(shù)據(jù)是在 RAM 內(nèi)還是在大容量外部存儲(chǔ)器設(shè)備內(nèi)。如果數(shù)據(jù)不在存儲(chǔ)空間內(nèi), MMU 將產(chǎn)生頁(yè)面錯(cuò)誤中斷。 MMU 存儲(chǔ)器系統(tǒng)的結(jié)構(gòu)允許對(duì)存儲(chǔ)器系統(tǒng)的精細(xì)控制,大部分的控制細(xì)節(jié)由存在存儲(chǔ)器中的轉(zhuǎn)換表提供。這些表的入口定義了從 1KB ~ 1MB 的各種存儲(chǔ)器區(qū)域的屬性。 MMU 完成的兩個(gè)主要功能是:將虛地址轉(zhuǎn)換成物理地址,控制存儲(chǔ)器存取允許。 MMU 關(guān)掉時(shí),虛地址直接輸出到物理地址總線。
經(jīng)過(guò)以上的分析可以發(fā)現(xiàn),系統(tǒng)啟動(dòng)程序主要是完成了硬件的初始化,以及克服 Flash 或 ROM 讀取速度慢的弱點(diǎn),提高指令和數(shù)據(jù)的讀取速度,實(shí)現(xiàn)系統(tǒng)的高速運(yùn)行,并且通過(guò) MMU 的應(yīng)用,減少RAM 的使用,降低系統(tǒng)成本。


本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(liá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)題卻十分常見,不僅增加了維護(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)汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產(chǎn)業(yè)的重要發(fā)展方向。電動(dòng)汽車的核心技術(shù)之一是電機(jī)驅(qū)動(dòng)控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機(jī)驅(qū)動(dòng)系統(tǒng)中的關(guān)鍵元件,其性能直接影響到電動(dòng)汽車的動(dòng)力性能和...

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

在現(xiàn)代城市建設(shè)中,街道及停車場(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ì)周圍電子設(shè)備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來(lái)解決L...

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

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

關(guān)鍵字: LED 驅(qū)動(dòng)電源 開關(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)閉