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

正文內(nèi)容

基于arm嵌入式的bootloader的設(shè)計(jì)與實(shí)現(xiàn)(專業(yè)版)

2025-01-11 20:48上一頁面

下一頁面
  

【正文】 通過這段小程序,我們可以初始化必要的硬件設(shè)備,創(chuàng)建內(nèi)核需要的一些信息并將這些信息通過相關(guān)機(jī)制傳遞給內(nèi)核,從而將系統(tǒng)的軟硬件環(huán)境帶到一個(gè)合適的狀態(tài),最終調(diào)用操作系統(tǒng)內(nèi)核,真正起到引導(dǎo)和加載內(nèi)核的作用。圖 [7]所示為 Xscale 系統(tǒng)結(jié)構(gòu)圖。在異常中斷處理程序執(zhí)行完成后,程序返回到發(fā)生中斷的指令的下一條指令處執(zhí)行。 Thumb 指令集的整體執(zhí)行速度比 ARM 32 位指令集快,而且提高了代碼密度。 ARM 的地址空間也可以看作是 230 個(gè) 32 位的字單元。每一種處理器異常模式下都有一個(gè)專用的物理狀態(tài)寄存器,稱為 SPSR(備份程序狀態(tài)寄存器)。它主要供操作系統(tǒng)任務(wù)使用。 FPA10 浮點(diǎn)加速器是作為協(xié)處理方式與 ARM 相連,并通過協(xié)處理指令的解釋來執(zhí)行。 Thumb 指令集比通常的 8 位和 16 位 RISC/CISC 處理器具有更好的代碼密度,而芯片面積只增加 6%,可使程序存儲(chǔ)器更小。 - 支持?jǐn)?shù)據(jù) Cache 和指令 Cache,具有更高的指令和數(shù)據(jù)處理能力 - 主頻最高可達(dá) 400MIPS。 - 支持 32 位 ARM 指令集和 16 位 Thumb 指令集。 ARM7 系列微處理器包括如下幾種類型的核: ARM7TDMI、 ARM7TDMIS、 ARM720T、 ARM7EJ。 1991 年 ARM 公司成立于英國劍橋,主要出售芯片設(shè)計(jì)技術(shù)的授權(quán)。除了基本功能, bootloader還能有什么更加具體的擴(kuò)展功能來方便各個(gè)系統(tǒng)開發(fā)者,都屬于本課題討論的范疇。特別地,現(xiàn)在對嵌入式軟件來說,都需要操作系統(tǒng)的支持。究其原因,它的精簡指令構(gòu)架為主又不放棄與復(fù)雜指令平衡的設(shè)計(jì),使得在獲得高性能的同時(shí)又能做到低功耗。 本文所要研究的就是基于 ARM 嵌入式系統(tǒng)通用 bootloader 的設(shè)計(jì)與實(shí)現(xiàn)。簡單的嵌入式系統(tǒng)根本沒有操作系統(tǒng),而只是一個(gè)控制循環(huán)。 2. 主要研究工作 本文的題目盡 管涉及到 ARM 系統(tǒng),但是,由于 bootloader 的特殊性以及個(gè)別性,即bootloader 與具體的處理器以及具體的硬件系統(tǒng)緊密聯(lián)系在一起,需要實(shí)際的完整硬件系統(tǒng)支持,而基于 ARM 體系的芯片實(shí)在太多,每款芯片除了具有基本的 ARM 體系結(jié)構(gòu)的通性外,通常還具有各自獨(dú)特的特性,還需分別處理。目前,采用 ARM技術(shù)只是產(chǎn)權(quán)( IP)核的微處理器,即通常我們所說的 ARM 微處理器,已經(jīng)遍及工業(yè)控制、消費(fèi)類電子產(chǎn)品、通信系統(tǒng)、無線系統(tǒng)等各類產(chǎn)品市場,基于 ARM 技術(shù)的微處理應(yīng)用約占據(jù)了 32 位 RISC 微處理器 75%以上的市場份額, ARM 技術(shù)正在逐步滲入我們生活的各個(gè)方面。其中,ARM7TMDI 是目前使用最廣泛的 32 位嵌入式 RISC 處理器,屬低端 ARM 處理器核 。 - 支持 32 位的高速 AMBA 總線接口。 - 內(nèi)嵌并行讀 /寫操作部件。 另外,為了加速通信和多媒體中有關(guān)數(shù)字信 號(hào)的處理, ARM 處理器在 RISC 的基礎(chǔ)上增加了許多原屬 DSP核中的關(guān)鍵部件。 5. 控制器: ARM 的控制器采用的是硬接線的可編程邏輯陣列 PLA。通常操作系統(tǒng)的任務(wù)需要訪問所有的系統(tǒng)資源,同時(shí)該任務(wù)仍然使用用戶模式下的寄存器組,而不是使用異常模式下相應(yīng)的寄存器組,這樣可以保證當(dāng)異常中斷發(fā)生時(shí)任務(wù)狀態(tài)不被破壞 [6]。當(dāng)特定的異常中斷發(fā)生時(shí),這個(gè)寄存器用于存放當(dāng)前程序狀態(tài)寄存器的內(nèi)容。這些字單元的地址可以被 4 整除, ARM 體系結(jié)構(gòu)介紹 也就是說該地址的低兩位為 0b00。 ? 具有 RISC 指令的特點(diǎn) 由于 ARM 指令屬于 RISC 指令,所以多具有 RISC 指令的特點(diǎn),指令少,且等長, 便于充分利用流水線技術(shù),使用多寄存器,且為簡單的 Load 和 Store 指令。 ARM 體系中中斷向量表中指定了各異常中斷及處理程序的對應(yīng)關(guān)系。 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ù)測以及分支目標(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 兆條指令 /秒。 bootloader 是依賴于硬件而實(shí)現(xiàn)的,特別是在嵌入式系統(tǒng)中。 簡單地說, bootloader 就是在操作系統(tǒng)內(nèi)核運(yùn)行前運(yùn)行地一段小程序。 Xscale 微構(gòu)架處理器是為新一代無 線手持式應(yīng)用產(chǎn)品開發(fā)的嵌入式處理器,是 PCA 開發(fā)式平臺(tái)架構(gòu)中的應(yīng)用子系統(tǒng)與通信子系統(tǒng)中的嵌入式處理器。 ? 當(dāng)異常中斷發(fā)生時(shí),系統(tǒng)執(zhí)行完當(dāng)前指令后 ,將跳轉(zhuǎn)到相應(yīng)的異常中斷處理程序處執(zhí)行。 ? Thumb 指令 ARM 在有的版本支持 16 位 Thumb 指令。這些字節(jié)單元的地址是一個(gè)無符號(hào)的 32 位數(shù)值,其取值范圍為 0 到 232- 1。它包含了標(biāo)志位、中斷禁止位、當(dāng)前處理器模式標(biāo)志以及其它的一些控制和狀態(tài)位。但是 系統(tǒng)模式屬于特權(quán)模式,可以訪問所有的系統(tǒng)資源,也可以直接進(jìn)行處理器模式的切換。 4. 浮點(diǎn)部件:浮點(diǎn)部件是作為選件供 ARM 構(gòu)架使用。 ARM 主要使用 32 位的 RISC 指令,但是指令代碼利用率低, ARM 為了彌補(bǔ)此不足,在新型 ARM 構(gòu)架( V4T版本以上)定義了 16 位的 Thumb 指令集。 - 全性能的 MMU,支持 Windows CE、 Linux、 Palm OS 等多種主流嵌入式操作系統(tǒng)。 - 5 級(jí)整數(shù)流水線,指令執(zhí)行效率更高。 ARM7 系列微處理器的主要 應(yīng)用領(lǐng)域?yàn)椋汗I(yè)控制、 Inter 設(shè)備、網(wǎng)絡(luò)和調(diào)制解調(diào)器設(shè)備、移動(dòng)電話等多種多媒體和嵌入式應(yīng)用 。 ARM 簡介 ARM( Advanced RISC Machines),既可以認(rèn)為是一個(gè)公司的名字,也可以是對一類微處理器的通稱,還可以認(rèn)為是一種技術(shù)的名字。如何實(shí)現(xiàn) bootloader 的基本功能,如何針對基于 ARM 體系的微處理器來實(shí)現(xiàn) bootloader,就成為本課題的一個(gè)基本論題。通常,應(yīng)用系統(tǒng)對嵌入式軟件的基本要求是體積小、執(zhí)行速度快、具有較好的可剪裁性和可移植性。當(dāng)今,眾多的半導(dǎo)體廠商都生產(chǎn)基于 ARM 體系結(jié)構(gòu)的通用微處理芯片, ARM 技術(shù)已經(jīng)在當(dāng)今的嵌入式微處理器領(lǐng)域中占據(jù)了它的領(lǐng)先地位。 Bootloader是嵌入式系統(tǒng)中執(zhí)行在內(nèi)核操作系統(tǒng)前的一段代碼,它的基本作用就是加載內(nèi)核鏡 像。但是,當(dāng)系統(tǒng)變得越來越復(fù)雜時(shí),就需要一個(gè)嵌入式操作系統(tǒng)來支持,否則應(yīng)用軟件就會(huì)變得過于復(fù)雜,使開發(fā)難度過大,安全性和可靠性都難以保證。因此,在真正的開發(fā)環(huán)節(jié)上,本課題主要基于 Intel Xscale 體系構(gòu)架的 PXA255 處理器, Xscale 本身是與 ARM V5TE 構(gòu)架兼容的,因此很具有代表性,并由此在理論上擴(kuò)展到整個(gè) ARM 系統(tǒng)。 ARM 公司是專門從事基于 RISC 技術(shù)芯片設(shè)計(jì)開發(fā)的公司,作為知識(shí)產(chǎn)權(quán)供應(yīng)商,本身不直接從事芯片生產(chǎn),靠轉(zhuǎn)讓設(shè)計(jì)許可由合作公司生長各具特色的芯片。 ( 2) ARM9 微處理器系列 [5] ARM9 系列微處理器在高性能和低功耗特性方面提供最佳的性能。 - 支持 VFP9 浮點(diǎn)處理協(xié)處理器。 ARM10E 系列微處理器主要應(yīng)用于下一代無線設(shè)備、數(shù)字消費(fèi)品、成像設(shè)備、工業(yè)控制、通信和信息系統(tǒng)等 領(lǐng)域。雙核協(xié)同工作,各用所長,有效地提高了數(shù)據(jù)處理能力核傳輸速度,但是 RISC+DSP 分立的雙核結(jié)構(gòu)存在兩核之間互相通信的困難和分別編程的麻煩,為此發(fā)展了兩核融合在一起的單核結(jié)構(gòu),同時(shí)將指令集也合二為一,簡化編程提高效率,將 CPU 提升到可快速運(yùn)算多媒體的算法,實(shí)現(xiàn)許多音視頻的解碼功能。 6. 寄存器:具體的介紹參考下節(jié)的相關(guān)介紹。 ARM 寄存器組介紹 ARM 處理器一般共有 37 個(gè)寄存器,其中包括 [5]: ? 31 個(gè)通用寄存器,包括程序計(jì)數(shù)器( PC)在內(nèi),這些寄存器都是 32 位寄存器; ? 6 個(gè)狀態(tài)寄存器,這些寄存器也是 32 位寄存器; 上一節(jié)已經(jīng)說過, ARM 處理器共有 7 種不同的處理器模式,在每一種處理器模式中有一組相應(yīng)的寄存器。在異常中斷返回退出時(shí),可以用SPSR 種保存的值來恢復(fù) CPSR。地址為 A 的字?jǐn)?shù)包括地址 A、 A+ A+ A+3 這 4 個(gè)字節(jié)單元的內(nèi)容。 ARM 指令按功能大致可以分為跳轉(zhuǎn)指令、數(shù)據(jù)處理指令、乘法類指令、數(shù)據(jù)傳送指令、協(xié)處理器類指令以及雜項(xiàng)指令(包括狀態(tài)寄存器傳送指令、乘法類指令、軟件中斷指令和斷點(diǎn)指令)。它可以放在存儲(chǔ)地址的低端,也可以放在存儲(chǔ)地址的高端。目前, ARM 體系結(jié)構(gòu)介紹 基于 Xscale 微構(gòu)架的處理器有: IOP310, IOP321, PXA210, PXA250, PXA255, PXA26X等。不同的體系結(jié)構(gòu)需求的bootloader 是不同的;除了體系結(jié)構(gòu), bootloader 還依賴于具體的嵌入式板級(jí)設(shè)備的配置。在嵌入式 Linux 中 , 圖 中的引導(dǎo)加載程序即等效為bootloader。 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)并簡要介紹一下基于 Xscale 微架構(gòu)的處理器 PXA255。 ? 通過跳轉(zhuǎn)指令,程序可以跳轉(zhuǎn)到特定的地址標(biāo)號(hào)處執(zhí)行,或者跳轉(zhuǎn)到特定的子程序處執(zhí)行。因此 ARM 指令中還包括了多條協(xié)處理器指令,使用多達(dá) 16 個(gè)協(xié)處理器,允許將其他處理器通過協(xié)處理器接口進(jìn)行緊耦合; ARM 還包括幾種內(nèi)存管理單元的變種,包括簡單的內(nèi)存保 ARM 體系結(jié)構(gòu)介紹 護(hù)到復(fù)雜的頁面層次。該地址空間的大小 232 個(gè) 8 位字節(jié)。 CPSR(當(dāng)前程序狀態(tài)寄存器)可以在任何處理器模式下被訪問。 系統(tǒng)模式并不是通過異常過程進(jìn)入的,它和用戶模式具有完全一樣的寄存器。 ARM 為了提高運(yùn)算速度,則采用兩位乘法的方法,根據(jù)乘數(shù)的 2 位來實(shí)現(xiàn)“加一移位”運(yùn)算 ; ARM高速乘法器采用 32 8 位的結(jié)構(gòu),這樣,可以降低集成度(其相應(yīng)芯片面積不到并行乘法器的 1/3)。 - 大量使用寄存器,數(shù)據(jù)處理指令只對寄存器進(jìn)行操作,只有加載 / 存儲(chǔ)指
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1