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

正文內(nèi)容

系統(tǒng)引導(dǎo)程序boot-loader的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)說明書-免費(fèi)閱讀

2025-08-28 04:54 上一頁面

下一頁面
  

【正文】 但是,一個真正的通用bootloader,應(yīng)該有更多的擴(kuò)展功能來適應(yīng)更多的應(yīng)用。6 總結(jié)與展望 本文主要介紹的是基于ARM嵌入式系統(tǒng)通用bootloader的設(shè)計(jì)與實(shí)現(xiàn)。e, 16) : 0。 ++reg) { gdbdbi_enetaddr[reg] = s ? simple_strtoul (s, amp。 /* MAC Address */ { int i。 /* go init the NAND */endif(4) 條件編譯初始化顯示設(shè)備。void mem_malloc_init (ulong dest_addr){ mem_malloc_start = dest_addr。(6)對SDRAM內(nèi)存初始化。模式的轉(zhuǎn)換設(shè)計(jì)主要在階段2中實(shí)現(xiàn)。對于本課題的硬件系統(tǒng),外接2M的FLASH,映射到物理地址的0x00000000處;對于64M的SDRAM,則對應(yīng)S3C2440A的SDRAM BANK0,映射到0x3000000處。一般地,GNU工具地開發(fā)流程如下:(1)編寫C、C++或者匯編源程序(2)用相關(guān)編譯器生成目標(biāo)文件(3)編寫連接腳本(4)用連接器生成最終文件(elf格式)(5)用二進(jìn)制轉(zhuǎn)換工具生成可下載的二進(jìn)制代碼。★ 采用高速指令I(lǐng)Cache,高速數(shù)據(jù)DCache,寫緩沖器和物理地址TAG RAM 以減少主存帶寬和響應(yīng)速度帶來的影響。S3C2440A的最大特點(diǎn)是其核心處理器(CPU)是一個由Advanced RISC Machines有限公司設(shè)計(jì)的16/32位ARM920T的RISC處理器。Bootloader主要是裝載內(nèi)核鏡像,鏡像數(shù)據(jù)必須真實(shí)寫回SDRAM中,所以數(shù)據(jù)cache必須關(guān)閉;而對于指令cache,不存在強(qiáng)制性的規(guī)定,但是一般情況下,推薦關(guān)閉指令cache。至于涉及到具體的設(shè)計(jì)與實(shí)現(xiàn),可以參看第5章的具體內(nèi)容,并根據(jù)自己的硬件系統(tǒng)進(jìn)行移植,也不是一件困難的事情。Bootloader的這種模式通常在第一次安裝內(nèi)核與根文件系統(tǒng)時使用;此外,以后的系統(tǒng)更新也會使用bootloader的這種工作模式。通常多階段的bootloader能提供更為復(fù)雜的功能,以及更好的可移植性。然而在嵌入式系統(tǒng)中通常沒有像BIOS那樣的固件程序(有的嵌入式CPU有),因此整個系統(tǒng)的加載啟動任務(wù)就完全由bootloader來完成。 ARM最小系統(tǒng)描述對于任何一個系統(tǒng),都希望不是一個虛擬系統(tǒng),也就是說系統(tǒng)都希望是特定系統(tǒng),即有具體的CPU,有具體的存儲芯片以及有各種具體的外圍控制模塊。異常中斷向量表的大小位32字節(jié),其中每個異常中斷占據(jù)4個字節(jié)大小,保留了4個字節(jié)空間。對于具體的指令集,可以參考相關(guān)文檔。ARM指令字長為固定的32位,一條典型的ARM指令編碼格式如下: 數(shù)據(jù)處理指令編碼其中:★ Cond 位28-31,執(zhí)行指令的條件編碼?!? 靈活的第二操作數(shù) ARM指令的另一個重要的特點(diǎn)是數(shù)據(jù)處理類指令有靈活的第二操作數(shù)operand2(位與程序代碼的位0-11)。(2)ARM的存儲器格式在ARM體系中,每個字單元中包含4個字節(jié)單元或者兩個半字單元,其中1個半字單元中包含兩個字節(jié)單元。T:對于ARMv4以及更高的版本的T系列的ARM處理器 T=0表示執(zhí)行ARM指令T=1表示執(zhí)行Thumb指令 對于ARMv5以及更高版本的非T系列的ARM處理器★ T=0表示執(zhí)行ARM指令★ T=1表示強(qiáng)制下一條執(zhí)行的指令產(chǎn)生為定義指令中斷 Modes位控制處理器模式,在這不再贅述。由于用戶模式和系統(tǒng)模式不是異常中斷模式,所以它們沒有SPSR。由于ARM采用了流水線機(jī)制,當(dāng)正確讀取了PC的值時,該值為當(dāng)前指令地址加8個字節(jié)。任意時刻(也就是任意的處理器模式下),可見的寄存器包括15個通用寄存器(R0-R14)、一個或者兩個狀態(tài)寄存器以及程序計(jì)數(shù)器(PC)。當(dāng)需要進(jìn)行處理器模式的切換時,應(yīng)用程序可以產(chǎn)生異常處理,在異常處理過程中進(jìn)行模式的切換。 不同的ARM core可能還有所不同。1. ALU:它由兩個操作數(shù)鎖存器、加法器、邏輯功能、結(jié)果以及零檢測邏輯構(gòu)成。 低功耗 由于ARM架構(gòu)的處理器主要用于手持式嵌入式系統(tǒng)之中,因此ARM構(gòu)架在設(shè)計(jì)中十分注意低電壓、低功耗這一點(diǎn),因而在手持式嵌入式系統(tǒng)得到廣泛的應(yīng)用。RISC結(jié)構(gòu)優(yōu)先選取使用頻率最高的簡單指令,避免復(fù)雜指令;將指令長度固定,指令格式和尋址方式種類減少;以控制邏輯為主,不用或少用微碼控制等措施來達(dá)到上述目的?! RM10E系列微處理器包含ARM1020E、ARM1022E和ARM1026EJS三種類型,以適用于不同的應(yīng)用場合?!?6級整數(shù)流水線,指令執(zhí)行效率更高?!?全性能的MMU,支持Windows CE、Linux、Palm OS等多種主流嵌入式操作系統(tǒng)?! RM9系列微處理器包含ARM920T、ARM922T和ARM940T三種類型,以適用于不同的應(yīng)用場合。具有以下特點(diǎn):★ 5級整數(shù)流水線,指令執(zhí)行效率更高?!?代碼密度高并兼容16位的Thumb指令集。世界各大半導(dǎo)體生產(chǎn)商從ARM公司購買其設(shè)計(jì)的ARM微處理器核,根據(jù)各自不同的應(yīng)用領(lǐng)域,加入適當(dāng)?shù)耐鈬娐?,從而形成自己的ARM微處理器芯片進(jìn)入市場。目前據(jù)不完全統(tǒng)計(jì),全世界嵌入式處理器的品種總量已經(jīng)超過1000多種,流行體系結(jié)構(gòu)有30多個系列。然而,如何進(jìn)行加載操作系統(tǒng)這個問題卻很少有人提出。針對嵌入式系統(tǒng)的各種微處理器遍布各個角落。嵌入式系統(tǒng)廣泛地應(yīng)用在信息終端、工業(yè)控制和信息家電等領(lǐng)域。 BootloaderABSTRACT With the popularity of mobile devices and development of embedded systems has bee a hot is not a recent emergence of new technology, but with the microelectronics and puter technology, more and more microcontrol chip functions, and embedded microcontroller chip devices and systems more and more, making this technology moreand more volume of its hardware and software size, cost, power consumption and reliability have made stringent powerful embedded systems to achieve more and more plex, the resulting reliability is greatly more recent trend is a powerful embedded systems usually require an operating system to support this operating system is already mature and stable, can be embedded Linux, WINCE and so on. Accordingly, it also made a request to the , many semiconductor manufacturers are producing generic architecture based on ARM microprocessing chip, ARM technology has in today39。相應(yīng)地,這也給處理器提出了要求。盡我所知,除文中特別加以標(biāo)注和致謝的地方外,不包含其他人或組織已經(jīng)發(fā)表或公布過的研究成果,也不包含我為獲得 及其它教育機(jī)構(gòu)的學(xué)位或?qū)W歷而使用過的材料。它對軟硬件的體積大小、成本、功耗和可靠性都提出了嚴(yán)格的要求。在實(shí)踐平臺上,本課題硬件上采用了ARM9系列的S3C2440A作為處理器,具有一定的代表性,并以此來搭建課題的硬件實(shí)踐平臺,軟件上以Linux作為操作系統(tǒng)。在這良好的經(jīng)濟(jì)環(huán)境下,嵌入式系統(tǒng)領(lǐng)域得到進(jìn)一步的拓寬與發(fā)展。簡單的嵌入式系統(tǒng)根本沒有操作系統(tǒng),而只是一個控制循環(huán)。應(yīng)該說,ARM無處不在。因此,在真正的開發(fā)環(huán)節(jié)上,本課題主要基于ARM 920T體系構(gòu)架的S3C2440A處理器,很具有代表性,并由此在理論上擴(kuò)展到整個ARM系統(tǒng)。1991年ARM公司成立于英國劍橋,主要出售芯片設(shè)計(jì)技術(shù)的授權(quán)。ARM7微處理器系列具有如下特點(diǎn):★ 具有嵌入式ICE-RT邏輯,調(diào)試開發(fā)方便?! RM7系列微處理器包括如下幾種類型的核:ARM7TDMI、ARM7TDMIS、ARM720T、ARM7EJ?!?MPU支持實(shí)時操作系統(tǒng)?!?支持32位ARM指令集和16位Thumb指令集?! RM9E系列微處理器包含ARM926EJS、ARM946ES和ARM966ES三種類型,以適用于不同的應(yīng)用場合?!?支持?jǐn)?shù)據(jù)Cache和指令Cache,具有更高的指令和數(shù)據(jù)處理能力★ 主頻最高可達(dá)400MIPS。 RISC指令集 傳統(tǒng)的CISC(Complex Instruction Set Computer,復(fù)雜指令集計(jì)算機(jī))結(jié)構(gòu)有其固有的缺點(diǎn),即隨著計(jì)算機(jī)技術(shù)的發(fā)展而不斷引入新的復(fù)雜的指令集,為支持這些新增的指令,計(jì)算機(jī)的體系結(jié)構(gòu)會越來越復(fù)雜,然而,在CISC指令集的各種指令中,其使用頻率卻相差懸殊,大約有20%的指令會被反復(fù)使用,占整個程序代碼的80%。Thumb指令集比通常的8位和16位RISC/CISC處理器具有更好的代碼密度,而芯片面積只增加6%,可使程序存儲器更小。 ARM core描述盡管本本文實(shí)現(xiàn)主要涉及軟件上的開發(fā),但是軟件上代碼的實(shí)現(xiàn)更多的都涉及芯片構(gòu)架,因此在這里簡要介紹一下一般ARM core構(gòu)架。FPA10浮點(diǎn)加速器是作為協(xié)處理方式與ARM相連,并通過協(xié)處理指令的解釋來執(zhí)行。其中,除系統(tǒng)模式外,其他5種特權(quán)模式又稱為異常模式。但是系統(tǒng)模式屬于特權(quán)模式,可以訪問所有的系統(tǒng)資源,也可以直接進(jìn)行處理器模式的切換,它主要供操作系統(tǒng)任務(wù)使用。當(dāng)通過跳轉(zhuǎn)指令調(diào)用子程序時,R14被設(shè)置為該子程序的返回地址;在子程序中,把R14的指賦值到程序計(jì)數(shù)器PC中時,子程序返回。每一種處理器異常模式下都有一個專用的物理狀態(tài)寄存器,稱為SPSR(備份程序狀態(tài)寄存器)。 CPSR的低8位稱為控制位,當(dāng)異常中斷發(fā)生時這些位發(fā)生改變。ARM的地址空間也可以看作是230個32位的字單元。標(biāo)準(zhǔn)的ARM指令每條都是32位,有些ARM核還可以執(zhí)行16位的Thumb指令集。Thumb指令集的整體執(zhí)行速度比ARM32位指令集快,而且提高了代碼密度。★ Rd 位12-15,目標(biāo)寄存器編碼。在異常中斷處理程序執(zhí)行完成后,程序返回到發(fā)生中斷的指令的下一條指令處執(zhí)行?!? 設(shè)置當(dāng)前的程序狀態(tài)寄存器CPSR中相應(yīng)的位,包括設(shè)置CPSR中的位,使處理器進(jìn)入相應(yīng)的執(zhí)行模式;設(shè)置CPSR中的位,禁止IRQ中斷,當(dāng)進(jìn)入FIQ模式時,禁止FIQ模式。 Bootloader的基本概念一個嵌入式Linux系統(tǒng)從軟件的角度看通??梢苑譃樗膫€層次:引導(dǎo)加載序、Linux內(nèi)核、文件系統(tǒng)、用戶應(yīng)用程序。不同的體系結(jié)構(gòu)需求的bootloader是不同的;除了體系結(jié)構(gòu),bootloader還依賴于具體的嵌入式板級設(shè)備的配置。這種模式是bootloader的正常工作模式,因此當(dāng)以嵌入式產(chǎn)品發(fā)布的時候,bootloader必須工作在這種模式下。 ARM Bootloader的共性 從上面bootloader的基本概念可以看出,bootloader的設(shè)計(jì)與實(shí)現(xiàn)是與具體的CPU以及具體的硬件系統(tǒng)緊密相關(guān)的,從上一章的實(shí)現(xiàn)就可以看出,要實(shí)現(xiàn)一個通用的ARM bootloader,即要適合所有的ARM處理器以及硬件系統(tǒng),是不太可能的事情。(4)啟動內(nèi)核鏡像(必需):根據(jù)內(nèi)核鏡像保存的存儲介質(zhì)不同,可以有兩種啟動方式:FALSH啟動以及RAM啟動;但是無論是哪
點(diǎn)擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計(jì)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1