freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于arm嵌入式的bootloader的設(shè)計(jì)與實(shí)現(xiàn)-資料下載頁(yè)

2024-11-16 20:48本頁(yè)面

【導(dǎo)讀】隨著移動(dòng)設(shè)備的流行和發(fā)展,嵌入式系統(tǒng)已經(jīng)成為一個(gè)熱點(diǎn)。它并不是最近出現(xiàn)的新技。片的設(shè)備和系統(tǒng)越來(lái)越多,從而使得這種技術(shù)越來(lái)越引人注目。它對(duì)軟硬件的體積大小、成。本、功耗和可靠性都提出了嚴(yán)格的要求。隨之出現(xiàn)的就是可靠性大大降低。最近的一種趨勢(shì)是一個(gè)功能強(qiáng)大的嵌入式系統(tǒng)通常需要一。種操作系統(tǒng)來(lái)給予支持,這種操作系統(tǒng)是已經(jīng)成熟并且穩(wěn)定的,可以是嵌入式的Linux,當(dāng)今,眾多的半導(dǎo)體廠商都生產(chǎn)基于ARM體系結(jié)。構(gòu)的通用微處理芯片,ARM技術(shù)已經(jīng)在當(dāng)今的嵌入式微處理器領(lǐng)域中占據(jù)了它的領(lǐng)先地位。時(shí)又能做到低功耗。本文所要研究的就是基于ARM嵌入式系統(tǒng)通用bootloader的設(shè)計(jì)與實(shí)現(xiàn)。是嵌入式系統(tǒng)中執(zhí)行在內(nèi)核操作系統(tǒng)前的一段代碼,它的基本作用就是加載內(nèi)核鏡像。而在具體的實(shí)現(xiàn)上目標(biāo)是除了實(shí)現(xiàn)bootloader的基本。進(jìn)行調(diào)試以及開(kāi)發(fā)。的一些共同點(diǎn)之后,介紹了如何對(duì)其他ARM系統(tǒng)進(jìn)行移植,以做到通用性。ARM體系的異常中斷....

  

【正文】 ? 當(dāng)異常中斷發(fā)生時(shí),系統(tǒng)執(zhí)行完當(dāng)前指令后 ,將跳轉(zhuǎn)到相應(yīng)的異常中斷處理程序處執(zhí)行。在異常中斷處理程序執(zhí)行完成后,程序返回到發(fā)生中斷的指令的下一條指令處執(zhí)行。 ARM 體系中中斷向量表中指定了各異常中斷及處理程序的對(duì)應(yīng)關(guān)系。它可以放在存儲(chǔ)地址的低端,也可以放在存儲(chǔ)地址的高端。異常中斷向量表的大小位 32 字節(jié),其中每個(gè)異常中斷占據(jù) 4 個(gè)字節(jié)大小,保留了 4 個(gè)字節(jié)空間。 每個(gè)異常中斷對(duì)應(yīng)的中斷向量表中的 4 個(gè)字節(jié)的空間中放了一個(gè)跳轉(zhuǎn)指令或者一個(gè)向PC 寄存器中賦值的數(shù)據(jù)訪問(wèn)指令。通過(guò)這兩種指令,程序?qū)⑻D(zhuǎn)到相應(yīng)的異常中斷處理程序處執(zhí)行。 下面是 ARM 體系中各異常中斷 向量的描述表: ARM 體系結(jié)構(gòu)介紹 中斷向量偏移地址 異常中斷類型 異常中斷模式 優(yōu)先級(jí)( 6 最低) 0x00 復(fù)位 監(jiān)管模式 1 0x04 未定義的指令 未定義指令中止模式 6 0x08 軟件中斷 監(jiān)管模式 6 0x0c 指令預(yù)取中止 中止模式 5 0x10 數(shù)據(jù)訪問(wèn)中止 中止模式 2 0x14 保留 未使用 未使用 0x18 普通中斷請(qǐng)求 外部中斷模式 4 0x1c 快速中斷請(qǐng)求 快速中斷模式 3 表格 ARM 處理器對(duì)異常中斷的響應(yīng)過(guò)程如下: ? 保存處理器當(dāng)前狀態(tài)、中斷屏蔽位以及各條件標(biāo)志位。這是通過(guò)將當(dāng)前程序狀態(tài)寄存器 CPSR 的內(nèi)容保存到將要執(zhí)行的異常中斷對(duì)應(yīng)的 SPSR 寄存器中實(shí)現(xiàn)的。 ? 設(shè)置當(dāng)前的程序狀態(tài)寄存器 CPSR 中相應(yīng)的位,包括設(shè)置 CPSR 中的位,使處理器進(jìn)入相應(yīng)的執(zhí)行模式;設(shè)置 CPSR 中的位,禁止 IRQ 中斷,當(dāng)進(jìn)入 FIQ 模式時(shí),禁止 FIQ 模式。 ? 將寄存器 lr_mode 設(shè)置成返回地址。 ? 將程序計(jì)數(shù)器值 PC設(shè)置成該異常中斷的中斷向量 地址,從而跳轉(zhuǎn)到相應(yīng)的異常中斷處理程序處執(zhí)行。 ARM 最小系統(tǒng)描述 對(duì)于任何一個(gè)系統(tǒng),都希望不是一個(gè)虛擬系統(tǒng),也就是說(shuō)系統(tǒng)都希望是特定系統(tǒng),即有具體的 CPU,有具體的存儲(chǔ)芯片以及有各種具體的外圍控制模塊。對(duì)于本課題來(lái)說(shuō), 最終的 bootloader 也必須在具體的系統(tǒng)上運(yùn)行起來(lái)。但是,任何一個(gè) ARM 系統(tǒng),在沒(méi)有特定指定的條件下,仍然可以將通用特性(一些通用基本控制模塊)描述出來(lái),在此稱之為 ARM最小系統(tǒng),見(jiàn)下圖: ARM 體系結(jié)構(gòu)介紹 Memory 控制器 GPIO 控制 模塊 系 外 統(tǒng) 總線橋接 圍 總 串口 線 總 線 ARM core 中斷控制器 中斷 圖 ARM 最小系統(tǒng) 從上圖中,可以了解一個(gè)基本的 ARM 最小系統(tǒng)通常包括以下幾個(gè)部分: ? ARM CORE ? 存儲(chǔ)控制器:通過(guò)它系統(tǒng)可以接入各種 DRAM 以及 ROM; ? 總線橋接:系統(tǒng)總線與外圍總線的連接器 ? 中斷控制器:供各種設(shè)備提供中斷服務(wù) ? 串口 ? GPIO 控制模塊:供各種外設(shè)以及系統(tǒng)擴(kuò)充使用 對(duì)于一些復(fù)雜系統(tǒng),還可以有更多的功能性模塊,特別是隨著網(wǎng)絡(luò)通信的發(fā)展, ARM系統(tǒng)中包括了更多的通訊控制模塊。 Intel Xscale 系統(tǒng)構(gòu)架 本文最終實(shí)現(xiàn)以及驗(yàn)證平臺(tái)是基于 Intel Xscale 構(gòu)架的,因此在本節(jié)中主要介紹一下 Intel Xscale 的系統(tǒng)結(jié)構(gòu)并簡(jiǎn)要介紹一下基于 Xscale 微架構(gòu)的處理器 PXA255。 Xscale 微構(gòu)架處理器是為新一代無(wú) 線手持式應(yīng)用產(chǎn)品開(kāi)發(fā)的嵌入式處理器,是 PCA 開(kāi)發(fā)式平臺(tái)架構(gòu)中的應(yīng)用子系統(tǒng)與通信子系統(tǒng)中的嵌入式處理器。圖 [7]所示為 Xscale 系統(tǒng)結(jié)構(gòu)圖。 ARM 體系結(jié)構(gòu)介紹 IRQ FIQ Branch Target Buffer CP14 Debug/ Management Trace Buffer Interrupt CP15 Config Request Instruction Instruction IM Register Cache(32KB) MU Execution Coprocessor Core Interface Data Data Cache Address 32KB D CP0 Data MMU Write Multiplier Mini DCache Buffer Accumulator JTAG Debug System Management 圖 Intel Xscale 構(gòu)架與 ARM V5TE 相兼容,其主要特性如下: ( 1) 采用 7/8 級(jí)超級(jí)流水線:動(dòng)態(tài)跳轉(zhuǎn)預(yù)測(cè)以及分支目標(biāo)緩沖; ( 2) 支持多媒體處理技術(shù):增加乘、加法器;累加器;兼容 ARMV5TE 指令;特定DSP 型協(xié)處理器 CP0; ( 3) 指令快存( ICache): 32KB; ( 4) 數(shù)據(jù)快存( DCache): 32KB; ( 5) 微小型數(shù)據(jù)快存( Mini DCache): 2KB; ( 6) 指令存儲(chǔ)器管理單元 IMMU: 32 路變換后備緩沖器 TLB; ( 7) 數(shù)據(jù)存儲(chǔ)器管理單元 DMMU: 32 路變換后備緩沖器 TLB; ( 8) 中斷控制器; ( 9) 總線控 制器; ( 10) 調(diào)試接口; ( 11) 動(dòng)態(tài)電源管理; Xscale 微構(gòu)架處理器的時(shí)鐘可達(dá) 1GHz,功耗 ,并能達(dá)到 1200 兆條指令 /秒。目前, ARM 體系結(jié)構(gòu)介紹 基于 Xscale 微構(gòu)架的處理器有: IOP310, IOP321, PXA210, PXA250, PXA255, PXA26X等。 PXA255 介紹 PXA250/PXA255 應(yīng)用處理器是 Intel 公司生產(chǎn)的第一代基于 Xscale 微構(gòu)架的第一個(gè)系統(tǒng)芯片( ISOC)的處理器。它除了 Xscale 微內(nèi)核外,還集成了許多世適用于手持式設(shè)備市場(chǎng)需要的外圍設(shè)備。如圖 [ 11]所示為 PXA255 應(yīng)用處理器的框圖。 圖 PXA255 作為本課題的整個(gè)硬件平臺(tái)核心,具有很強(qiáng)的處理能力,同時(shí)兼具低功耗和高集成度的特性。它內(nèi)置了 JTAG 調(diào)試接口,存儲(chǔ)器控制器,實(shí)時(shí)時(shí)鐘和操作系統(tǒng)時(shí)鐘,串口,并口,紅外通信,藍(lán)牙接口, AC97 接口以及 USB 設(shè)備端控制模塊等。 ARM 體系結(jié)構(gòu)介紹 Bootloader 的概念 第三章 Bootloader 的概念 本文在實(shí)現(xiàn)以及驗(yàn)證上都以開(kāi)放源代碼的 linux 為操作系統(tǒng),因此,在眾多舉例以及圖表描述中,多以 linux 系統(tǒng)為例子。但是,這并不防礙對(duì)許多概念的 解釋,其本質(zhì)在任何操作系統(tǒng)中都是一致的,所不同的僅僅是實(shí)現(xiàn)形式。 Bootloader 的基本概念 一個(gè)嵌入式 Linux 系統(tǒng)從軟件的角度看通??梢苑譃樗膫€(gè)層次:引導(dǎo)加載程序、 Linux 內(nèi)核、文件系統(tǒng)、用戶應(yīng)用程序。 圖 引導(dǎo)加載程序是系統(tǒng)加電后運(yùn)行的第一段代碼。我們熟悉的 PC 中的引導(dǎo)程序一般由BIOS 和位于 MBR 的 OS bootloader(例如 LILO 或者 GRUB)一起組成。然而在嵌入式系統(tǒng)中通常沒(méi)有像 BIOS 那樣的固件程序(有的嵌入式 CPU 有),因此整個(gè)系統(tǒng)的加載啟動(dòng)任務(wù)就完全由 bootloader 來(lái)完成。在嵌入式 Linux 中 , 圖 中的引導(dǎo)加載程序即等效為bootloader。 簡(jiǎn)單地說(shuō), bootloader 就是在操作系統(tǒng)內(nèi)核運(yùn)行前運(yùn)行地一段小程序。通過(guò)這段小程序,我們可以初始化必要的硬件設(shè)備,創(chuàng)建內(nèi)核需要的一些信息并將這些信息通過(guò)相關(guān)機(jī)制傳遞給內(nèi)核,從而將系統(tǒng)的軟硬件環(huán)境帶到一個(gè)合適的狀態(tài),最終調(diào)用操作系統(tǒng)內(nèi)核,真正起到引導(dǎo)和加載內(nèi)核的作用。 bootloader 是依賴于硬件而實(shí)現(xiàn)的,特別是在嵌入式系統(tǒng)中。不同的體系結(jié)構(gòu)需求的bootloader 是不同的;除了體系結(jié)構(gòu), bootloader 還依賴于具體的嵌入式板級(jí)設(shè)備的配置。也就是說(shuō),對(duì)于兩塊不同的嵌入式板而言,即使它們基于相同的 CPU 構(gòu)建,運(yùn)行 在其中一塊電路板上的 bootloader,未必能夠運(yùn)行在另一塊電路開(kāi)發(fā)板上。 Bootloader 的啟動(dòng)過(guò)程可以是單階段的,也可以是多階段的。通常多階段的 bootloader能提供更為復(fù)雜的功能,以及更好的可移植性。從固態(tài)存儲(chǔ)設(shè)備上啟動(dòng)的 bootloader 大多數(shù)是二階段的啟動(dòng)過(guò)程,也即啟動(dòng)過(guò)程可以分為 stage 1 和 stage 2 兩部分。 用戶應(yīng)用程序 文件系統(tǒng)
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1