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

正文內(nèi)容

系統(tǒng)引導(dǎo)程序boot-loader的設(shè)計與實現(xiàn)畢業(yè)設(shè)計說明書(留存版)

2025-09-18 04:54上一頁面

下一頁面
  

【正文】 關(guān)鍵部件。5. 控制器:ARM的控制器采用的是硬接線的可編程邏輯陣列PLA。通常操作系統(tǒng)的任務(wù)需要訪問所有的系統(tǒng)資源,同時該任務(wù)仍然使用用戶模式下的寄存器組,而不是使用異常模式下相應(yīng)的寄存器組,這樣可以保證當異常中斷發(fā)生時任務(wù)狀態(tài)不被破壞。當特定的異常中斷發(fā)生時,這個寄存器用于存放當前程序狀態(tài)寄存器的內(nèi)容。這些字單元的地址可以被4整除,也就是說該地址的低兩位為0b00?!? 具有RISC指令的特點 由于ARM指令屬于RISC指令,所以多具有RISC指令的特點,指令少,且等長,便于充分利用流水線技術(shù),使用多寄存器,且為簡單的Load和Store指令。ARM體系中中斷向量表中指定了各異常中斷及處理程序的對應(yīng)關(guān)系。圖 嵌入式Linux系統(tǒng)組成 引導(dǎo)加載程序是系統(tǒng)加電后運行的第一段代碼。下載模式:在這種模式下,目標機上的bootloader將通過串口或者網(wǎng)絡(luò)連接或者其它通信手段從主機下載文件,比如:下載內(nèi)核鏡像和根文件系統(tǒng)鏡像等?!? CPU模式:關(guān)閉中斷; 屬于SVC模式; Bootloader中沒有必要支持中斷的實現(xiàn),這屬于內(nèi)核機制以及設(shè)備驅(qū)動管理的管理范疇;SVC模式是系統(tǒng)的一種保護模式,這樣就可以進行一些只能在SVC模式下的操作,例如一些特定寄存器訪問操作?!? 16/32位RISC體系結(jié)構(gòu)和ARM920T內(nèi)核強大的指令集。(2)代碼具有更好的可讀性與移植性:若對于相同的CPU以及存儲設(shè)備,要增加外設(shè)支持,階段1的代碼可以維護不變,只對階段2的代碼進行修改;若要支持不同的CPU,則基礎(chǔ)代碼只需在階段1中修改。if defined(CONFIG_S3C2440) ldr r0, =pWTCON mov r1, 0x0 str r1, [r0] mov r1, 0xffffffff ldr r0, =INTMSK str r1, [r0]mov r0, 0 mcr p15, 0, r0, c7, c7, 0 /* flush v3/v4 cache */ mcr p15, 0, r0, c8, c7, 0 /* flush v4 TLB */ (4)關(guān)閉MMU,內(nèi)部指令/數(shù)據(jù)cache以及寫緩沖區(qū),ARM體系bootloader中都無需MMU的功能,所有的地址都直接使用物理地址;cache也都關(guān)閉,原因可參看上一章相關(guān)內(nèi)容 。 CFG_CMD_NAND)// puts (NAND: )。 for (reg = 0。 } /* NOTREACHED no way out of mand loop except booting */ 代碼的編譯(1) ,把編寫好的代碼打包壓縮成“”,并將其復(fù)制到“/opt/EmbedSky/”目錄下,然后進入該目錄,運行“tar xvfj C /”命令解壓這個壓縮包。以后,應(yīng)該能夠有更多的支持,例如:簡單的tftp協(xié)議;支持一些擴展存儲卡(例如MMC卡,CF卡)的支持;以及對應(yīng)的一些文件系統(tǒng)的支持(TFS,F(xiàn)AT等)。 }endif } devices_init ()。 char *s, *e。 mem_malloc_brk = mem_malloc_start。 階段1的代碼實現(xiàn)。 Bootloader的總體設(shè)計 階段設(shè)計在前面的章節(jié)中,已經(jīng)介紹過bootloader的啟動可以是分階段的。這一結(jié)構(gòu)具有獨立的16KB指令 Cache和16KB數(shù)據(jù)Cache。 對于一個ARM系統(tǒng)來說,本質(zhì)上,bootloader作為引導(dǎo)與加載內(nèi)核鏡像的“工具”,在實現(xiàn)上,必須提供以下幾個功能,更確切地說,必須做到以下幾點:(1)初始化RAM(必需):bootloader必須能夠初始化RAM,因為將來系統(tǒng)要通過它保存一些Volatile數(shù)據(jù),但具體地實現(xiàn)要依賴與具體的CPU以及硬件系統(tǒng)。 Bootloader的操作模式 大多數(shù)bootloader都包含兩種不同的操作模式:“啟動加載”模式和“下載”模式,這種區(qū)別對于開發(fā)人員才有意義。但是,任何一個ARM系統(tǒng),在沒有特定指定的條件下,仍然可以將通用特性(一些通用基本控制模塊)描述出來,在此稱之為ARM最小系統(tǒng),見下圖: ARM最小系統(tǒng) 從上圖中,可以了解一個基本的ARM最小系統(tǒng)通常包括以下幾個部分:★ ARM core★ 存儲控制器:通過它系統(tǒng)可以接入各種DRAM以及ROM★ 總線橋接:系統(tǒng)總線與外圍總線的連接器★ 中斷控制器:供各種設(shè)備提供中斷服務(wù)★ 串口★ GPIO控制模塊:供各種外設(shè)以及系統(tǒng)擴充使用對于一些復(fù)雜系統(tǒng),還可以有更多的功能性模塊,特別是隨著網(wǎng)絡(luò)通信的發(fā)展,ARM系統(tǒng)中包括了更多的通訊控制模塊。整個過程是按順序執(zhí)行?!? 協(xié)處理器的作用 ARM內(nèi)核可提供協(xié)處理接口,通過擴展協(xié)處理器完成更加復(fù)雜的功能。(1)ARM體系中的存儲空間ARM體系中使用單一的平板地址空間。由于ARM指令是字對齊的,PC值的第0位和第1位總為0。當應(yīng)用程序發(fā)生異常中斷時,處理器進入相應(yīng)的異常模式。3. 高速乘法器:乘法器一般采用“加一移位”的方法來實現(xiàn)乘法。★ 使用單周期指令,便于流水線操作執(zhí)行?!?支持32位的高速AMBA總線接口。ARM9E系列微處理器提供了增強的DSP處理能力,很適合于那些需要同時使用DSP和微控制器的應(yīng)用場合?!?指令系統(tǒng)與ARM9系列、ARM9E系列和ARM10E系列兼容,便于用戶的產(chǎn)品升級。其中,ARM是一種近年來在嵌入式系統(tǒng)中有著強大影響力的微處理器設(shè)計商和制造商,ARM的設(shè)計非常適合與小的電源供電系統(tǒng)。ARM技術(shù)以其較高的性能和功效,使得在嵌入式系統(tǒng)中得到廣泛應(yīng)用。s reduced instruction set architecture and plex instructions not to give a balanced design, makes do while achieving high performance with low power consumption. This paper is to study the ARMbased embedded system design and implementation of is the implementation of embedded systems in the period before the operating system kernel code, and its basic function is to load the kernel image. In practice platform, the subject of hardware S3C2440A used as the ARM9 family processor, with a certain representation, and in order to build a practical platform hardware issues, software to Linux as the operating system.Keywords: embedded system。作 者 簽 名:       日  期:        指導(dǎo)教師簽名:        日  期:        使用授權(quán)說明本人完全了解 大學(xué)關(guān)于收集、保存、使用畢業(yè)設(shè)計(論文)的規(guī)定,即:按照學(xué)校要求提交畢業(yè)設(shè)計(論文)的印刷本和電子版本;學(xué)校有權(quán)保存畢業(yè)設(shè)計(論文)的印刷本和電子版,并提供目錄檢索與閱覽服務(wù);學(xué)??梢圆捎糜坝?、縮印、數(shù)字化或其它復(fù)制手段保存論文;在不以贏利為目的前提下,學(xué)??梢怨颊撐牡牟糠只蛉績?nèi)容。本文所要研究的就是基于ARM嵌入式系統(tǒng)bootloader的設(shè)計與實現(xiàn)。通常,應(yīng)用系統(tǒng)對嵌入式軟件的基本要求是體積小、執(zhí)行速度快、具有較好的可剪裁性和可移植性。如何實現(xiàn)bootloader的基本功能,如何針對基于ARM體系的微處理器來實現(xiàn)bootloader,就成為本課題的一個基本論題。ARM體系有變種,也就是說有些版本具備特定功能,在各個版本的版本號上可以體現(xiàn)出來,說明如下:T: 支持16位壓縮指令集Thumb;  D: 支持片上Debug;M:內(nèi)嵌硬件乘法器(Multiplier),增加用于長乘法操作的指令;  I: 嵌入式ICE,支持片上斷點和調(diào)試點;E:增強型DSP指令;ARM構(gòu)架誕生至今,已經(jīng)產(chǎn)生了多次變革,每一次都帶來性能上的極大飛躍,其過程包括:★ V1構(gòu)架(ARM1) 基本的數(shù)據(jù)處理指令(無乘法) 字節(jié)、半字和字的Load/Store指令轉(zhuǎn)移指令,包括子程序的調(diào)用和鏈接指令軟件中斷指令尋址空間64MB★ V2構(gòu)架(ARM2,ARM3)增加乘法和乘法指令增加支持協(xié)處理器的操作增加快速中斷模式增加SWP/SWPB的存儲器和寄存器交換指令★ V3構(gòu)架(ARM6)增加了MRS/MSR指令,訪問新增的CPSR/SPSR寄存器增加了異常處理返回尋址空間4GB★ V4構(gòu)架(ARM7, ARM9)增加符號化和非符號化半字及符號化字節(jié)的存取指令增加16位的Thumb指令完善軟件中斷SWI指令★ V5構(gòu)架(ARM10)帶有鏈接和交換的轉(zhuǎn)移BLX指令計數(shù)前導(dǎo)零CLZ指令BRK中斷指令增加了一些信號處理的指令★ V6構(gòu)架增加了SIMD功能擴展,為包括音頻/視頻處理在內(nèi)的應(yīng)用系統(tǒng)提供優(yōu)化功能接下來就簡要介紹一下各主要系列處理器的特點?!?支持32位的高速AMBA總線接口?!?主頻最高可達300MIPS?! ntel StrongARM處理器是便攜式通訊產(chǎn)品和消費類電子產(chǎn)品的理想選擇,已成功應(yīng)用于多家公司的掌上電腦系列產(chǎn)品(6)Intel Xscale微處理器系列有關(guān)Intel Xscale微處理器系列,會在后面相關(guān)篇幅中進行介紹。 3 ARM體系結(jié)構(gòu)介紹在介紹具體的ARM Bootloader的實現(xiàn)之前,首先介紹一下ARM的體系結(jié)構(gòu),因為Bootloader是與處理器芯片緊密相連的。 ARM處理器模式ARM處理器共有7種運行模式,:表格 ARM處理器模式 除了用戶模式之外的其他6種處理器模式稱為特權(quán)模式(Privileged Modes)。R13寄存器對應(yīng)6個不同的物理寄存器,即除了前面提過的用戶模式與系統(tǒng)模式共用一個寄存器外,其它模式都有相應(yīng)的物理寄存器;一般地,R13寄存器在ARM中通常用作棧指針,在ARM指令中這只是一種習(xí)慣的用法,并沒有任何指令強制性的使用R13作為棧指針。大部分的ARM指令可以根據(jù)CPSR中的這些條件標志位來選擇性地執(zhí)行。這種存儲器格式如下圖所示: bigendian格式的存儲系統(tǒng)在littleendian格式中,地址為A的字單元包括字節(jié)單元A、A+A+A+3,其中字節(jié)單元由高位到低位字節(jié)順序為A+A+A+A;地址為A的字單元包括半字單元A、A+2,其中半字單元由高位到低位字節(jié)順序為A+A;地址為A的半字單元包括字節(jié)單元A、A+1,其中字節(jié)單元由高位到低位字節(jié)順序為A+A?!? S 位20,表示結(jié)果是否影響狀態(tài)寄存器標志位:1影響,0不影響。下面是ARM體系中各異常中斷向量的描述表: 異常中斷向量表 ARM處理器對異常中斷的響應(yīng)過程如下: ★ 保存處理器當前狀態(tài)、中斷屏蔽位以及各條件標志位。通過這段小程序,我們可以初始化必要的硬件設(shè)備,創(chuàng)建內(nèi)核需要的一些信息并將這些信息通過相關(guān)機制傳遞給內(nèi)核,從而將系統(tǒng)的軟硬件環(huán)境帶到一個合適的狀態(tài),最終調(diào)用操作系統(tǒng)內(nèi)核,真正起到引導(dǎo)和加載內(nèi)核的作用。但是隨著嵌入式系統(tǒng)的發(fā)展,bootloader已經(jīng)逐漸在基本功能的基礎(chǔ)上,進行了擴展,bootloader可以更多地增加對具體系統(tǒng)的板級支持,即增加一些硬件模塊功能上的使用支持,以方便開發(fā)人員進行開發(fā)和調(diào)試。論文中,其具體的實現(xiàn)與驗證都需要具體的硬件環(huán)境,硬件平臺是圍繞S3C2440A搭建起來的。 軟件環(huán)境以及軟件開發(fā)工具 (1)操作系統(tǒng) 論文中操作系統(tǒng)使用的是開放源碼的Linux操作系統(tǒng),因此最終bootloader的實現(xiàn)是針對Linux操作系統(tǒng)的,加載的kernel鏡像也是Linux kernel生成。當Bootloader放到FLASH的起始處后,系統(tǒng)加電或者復(fù)位后,CPU將首先執(zhí)行bootloader程序。relocate: /* relocate UBoot to RAM */ adr r0, _start /* r0 current position of code */ ldr r1, _TEXT_BASE /* test if we run from flash or RAM */ cmp r0, r1 /* don39。 size = lcd_setmem (addr)。 }ifdef CONFIG_HAS_ETH1 i = getenv_r (eth1addr, tmp, sizeof (tmp))。Bootloader是因嵌入式系統(tǒng)的蓬勃發(fā)展而應(yīng)運而生的?,F(xiàn)在的bootloader,更多的像一個小系統(tǒng)。 for (reg = 0。endif /* CONFIG_LCD */
點擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1