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

正文內(nèi)容

系統(tǒng)引導(dǎo)程序的設(shè)計(jì)與實(shí)現(xiàn)(存儲(chǔ)版)

  

【正文】 ootloader中所有對(duì)地址的操作都是使用物理地址,是實(shí)在的實(shí)地址,不存在虛擬地址,因此MMU必須關(guān)閉。它采用了新的總線架構(gòu)Advanced Micro controller Bus Architecture (AMBA)?!? 加強(qiáng)的ARM體系結(jié)構(gòu)MMU用于支持WinCE,EPOC 32和Linux。GNU的編譯器功能非常強(qiáng)大,共有上百個(gè)操作選項(xiàng),不過(guò)在本課題實(shí)際開(kāi)發(fā)中只需要用到有限的幾個(gè),大部分采用缺省選項(xiàng)。 地址規(guī)劃設(shè)計(jì)當(dāng)bootloader階段設(shè)計(jì)好之后,需要考慮的是鏡像存儲(chǔ)的地址分配:總鏡像保存在什么地方,階段2對(duì)應(yīng)的鏡像會(huì)被拷貝到什么地方;內(nèi)核鏡像原先存放在什么地方,bootloader會(huì)把它又重新加載到什么地方;如何進(jìn)行準(zhǔn)確的地址規(guī)劃以保證沒(méi)有相互沖突等等,這些都是本節(jié)需要考慮的范疇。為了在兩者之間做到兼顧,本課題既支持啟動(dòng)加載模式,也支持下載模式,具體思路為:在bootloader做完一些硬件初始化工作后,而在加載內(nèi)核鏡像之前,先在一定的時(shí)間內(nèi)等待有沒(méi)有用戶有鍵盤(pán)輸入,如果沒(méi)有,則為啟動(dòng)加載模式,直接加載內(nèi)核鏡像進(jìn)行啟動(dòng);如果有,則進(jìn)入命令行格式,這時(shí)開(kāi)發(fā)者就可以根據(jù)自己的需要以及bootloader的支持情況,做一些其他的工作。mrc p15, 0, r0, c1, c0, 0 bic r0, r0, 0x00002300 bic r0, r0, 0x00000087 orr r0, r0, 0x00000002 orr r0, r0, 0x00001000 mcr p15, 0, r0, c1, c0, 0(5)清空TLB,Caches以及寫(xiě)緩沖區(qū),當(dāng)系統(tǒng)冷啟動(dòng)時(shí)所有的保留數(shù)據(jù)都以無(wú)效處理,因此都要清空,況且cache都已經(jīng)關(guān)閉。(2) 進(jìn)行內(nèi)存初始分配。 //HJ nand_init()。endif /* CONFIG_VFD */ /* IP Address */ gdbdbi_ip_addr = getenv_IPaddr (ipaddr)。 reg 6。 ++reg) { gdbdbi_enet1addr[reg] = s ? simple_strtoul (s, amp。(2) 配置bootloader,進(jìn)入到剛才解壓的目錄中,然后輸入“make menuconfig”命令:(3) 進(jìn)入到bootloader配置界面,使用默認(rèn)配置即可,然后選擇“Exit”選項(xiàng),回車(chē)?yán)^續(xù):(4) 然后出現(xiàn)是否保存配置選項(xiàng),選擇“Yes”選項(xiàng)繼續(xù):(5) 編譯bootloader,輸入“make zImage”命令,回車(chē)后,就會(huì)開(kāi)始編譯了:(6)編譯結(jié)束后,會(huì)在“/opt/EmbedSky/bootloader/”目錄下生成一個(gè)BIOS文件,把它拷貝出來(lái),燒寫(xiě)到目標(biāo)板上就可以用它引導(dǎo)Linux系統(tǒng)了。除了bootloader基本的加載內(nèi)核鏡像的功能,還增加了對(duì)串口(使用XMODEM協(xié)議)的支持。 偉人、名人為我所崇拜,可是我更急切地要把我的敬意和贊美獻(xiàn)給一位平凡的人—我的導(dǎo)師。L inux嵌入式系統(tǒng)BootLoader的研究與設(shè)計(jì)[J].計(jì)算機(jī)應(yīng)用與軟件,~99 致 謝四年的讀書(shū)生活在這個(gè)季節(jié)即將劃上一個(gè)句號(hào),對(duì)于我的人生卻只是一個(gè)逗號(hào),我將面對(duì)又一次征程的開(kāi)始。現(xiàn)在的bootloader,更多的像一個(gè)小系統(tǒng)。) { main_loop ()。 for (reg = 0。 s = (i 0) ? tmp : NULL。endif /* CONFIG_LCD */(5) 條件編譯初始化網(wǎng)絡(luò)設(shè)備。if (CONFIG_COMMANDS amp。(1) 在階段1的基礎(chǔ)上進(jìn)一步初始化:CPU的初始化,中斷異常初始化,環(huán)境初始化,波特率初始化,顯示初始化等。if defined(CONFIG_S3C2400) define pWTCON 0x15300000 define INTMSK 0x14400008 /* InteruptController base addresses */ define CLKDIVN 0x14800014 /* clock divisor register */elif defined(CONFIG_S3C2410) define pWTCON 0x53000000 define INTMOD 0X4A000004 define INTMSK 0x4A000008 /* InteruptController base addresses */ define INTSUBMSK 0x4A00001C define CLKDIVN 0x4C000014 /* clock divisor register */endif(3)關(guān)閉watchdog定時(shí)器,清中斷位。所以bootloader在啟動(dòng)時(shí)以及加載內(nèi)核時(shí)通常要考慮這一點(diǎn)。階段1主要用匯編語(yǔ)言,它主要進(jìn)行與CPU核以及存儲(chǔ)設(shè)備密切相關(guān)的處理工作,進(jìn)行一些必要的初始化工作,是一些依賴于CPU體系結(jié)構(gòu)的代碼,為了增加效率以及因?yàn)樯婕暗絽f(xié)處理器的設(shè)置,只能用匯編編寫(xiě),這部分直接在FLASH中執(zhí)行;階段2用一般的C語(yǔ)言,來(lái)實(shí)現(xiàn)一般的流程以及對(duì)板級(jí)的一些驅(qū)動(dòng)支持,這部分會(huì)被拷貝到RAM中執(zhí)行。 (3)編譯環(huán)境本文所使用的編譯工具均為GNU的編譯工具。S3C2440A微處理器體系結(jié)構(gòu)特征如下:★ 為手持設(shè)備和通用嵌入式應(yīng)用提供片上系統(tǒng)解決方案。S3C2440A采用了ARM920T的內(nèi)核。(4)啟動(dòng)內(nèi)核鏡像(必需):根據(jù)內(nèi)核鏡像保存的存儲(chǔ)介質(zhì)不同,可以有兩種啟動(dòng)方式:FALSH啟動(dòng)以及RAM啟動(dòng);但是無(wú)論是哪種啟動(dòng)方式,下面的系統(tǒng)狀態(tài)必須得到滿足:★ CPU寄存器的設(shè)置:R0=0; R1=機(jī)器類型; R2=啟動(dòng)參數(shù)標(biāo)記列表在RAM中的起始地址; 這三個(gè)寄存器的設(shè)置是在最后啟動(dòng)內(nèi)核時(shí)通過(guò)啟動(dòng)參數(shù)來(lái)傳遞完成的。 ARM Bootloader的共性 從上面bootloader的基本概念可以看出,bootloader的設(shè)計(jì)與實(shí)現(xiàn)是與具體的CPU以及具體的硬件系統(tǒng)緊密相關(guān)的,從上一章的實(shí)現(xiàn)就可以看出,要實(shí)現(xiàn)一個(gè)通用的ARM bootloader,即要適合所有的ARM處理器以及硬件系統(tǒng),是不太可能的事情。這種模式是bootloader的正常工作模式,因此當(dāng)以嵌入式產(chǎn)品發(fā)布的時(shí)候,bootloader必須工作在這種模式下。不同的體系結(jié)構(gòu)需求的bootloader是不同的;除了體系結(jié)構(gòu),bootloader還依賴于具體的嵌入式板級(jí)設(shè)備的配置。 Bootloader的基本概念一個(gè)嵌入式Linux系統(tǒng)從軟件的角度看通常可以分為四個(gè)層次:引導(dǎo)加載序、Linux內(nèi)核、文件系統(tǒng)、用戶應(yīng)用程序?!? 設(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模式。在異常中斷處理程序執(zhí)行完成后,程序返回到發(fā)生中斷的指令的下一條指令處執(zhí)行?!? Rd 位12-15,目標(biāo)寄存器編碼。Thumb指令集的整體執(zhí)行速度比ARM32位指令集快,而且提高了代碼密度。標(biāo)準(zhǔn)的ARM指令每條都是32位,有些ARM核還可以執(zhí)行16位的Thumb指令集。ARM的地址空間也可以看作是230個(gè)32位的字單元。 CPSR的低8位稱為控制位,當(dāng)異常中斷發(fā)生時(shí)這些位發(fā)生改變。每一種處理器異常模式下都有一個(gè)專用的物理狀態(tài)寄存器,稱為SPSR(備份程序狀態(tài)寄存器)。當(dāng)通過(guò)跳轉(zhuǎn)指令調(diào)用子程序時(shí),R14被設(shè)置為該子程序的返回地址;在子程序中,把R14的指賦值到程序計(jì)數(shù)器PC中時(shí),子程序返回。但是系統(tǒng)模式屬于特權(quán)模式,可以訪問(wèn)所有的系統(tǒng)資源,也可以直接進(jìn)行處理器模式的切換,它主要供操作系統(tǒng)任務(wù)使用。其中,除系統(tǒng)模式外,其他5種特權(quán)模式又稱為異常模式。FPA10浮點(diǎn)加速器是作為協(xié)處理方式與ARM相連,并通過(guò)協(xié)處理指令的解釋來(lái)執(zhí)行。 ARM core描述盡管本本文實(shí)現(xiàn)主要涉及軟件上的開(kāi)發(fā),但是軟件上代碼的實(shí)現(xiàn)更多的都涉及芯片構(gòu)架,因此在這里簡(jiǎn)要介紹一下一般ARM core構(gòu)架。Thumb指令集比通常的8位和16位RISC/CISC處理器具有更好的代碼密度,而芯片面積只增加6%,可使程序存儲(chǔ)器更小。 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)會(huì)越來(lái)越復(fù)雜,然而,在CISC指令集的各種指令中,其使用頻率卻相差懸殊,大約有20%的指令會(huì)被反復(fù)使用,占整個(gè)程序代碼的80%?!?支持?jǐn)?shù)據(jù)Cache和指令Cache,具有更高的指令和數(shù)據(jù)處理能力★ 主頻最高可達(dá)400MIPS?! RM9E系列微處理器包含ARM926EJS、ARM946ES和ARM966ES三種類型,以適用于不同的應(yīng)用場(chǎng)合?!?支持32位ARM指令集和16位Thumb指令集?!?MPU支持實(shí)時(shí)操作系統(tǒng)?! RM7系列微處理器包括如下幾種類型的核:ARM7TDMI、ARM7TDMIS、ARM720T、ARM7EJ。ARM7微處理器系列具有如下特點(diǎn):★ 具有嵌入式ICE-RT邏輯,調(diào)試開(kāi)發(fā)方便。1991年ARM公司成立于英國(guó)劍橋,主要出售芯片設(shè)計(jì)技術(shù)的授權(quán)。因此,在真正的開(kāi)發(fā)環(huán)節(jié)上,本課題主要基于ARM 920T體系構(gòu)架的S3C2440A處理器,很具有代表性,并由此在理論上擴(kuò)展到整個(gè)ARM系統(tǒng)。應(yīng)該說(shuō),ARM無(wú)處不在。簡(jiǎn)單的嵌入式系統(tǒng)根本沒(méi)有操作系統(tǒng),而只是一個(gè)控制循環(huán)。在這良好的經(jīng)濟(jì)環(huán)境下,嵌入式系統(tǒng)領(lǐng)域得到進(jìn)一步的拓寬與發(fā)展。在實(shí)踐平臺(tái)上,本課題硬件上采用了ARM9系列的S3C2440A作為處理器,具有一定的代表性,并以此來(lái)搭建課題的硬件實(shí)踐平臺(tái),軟件上以Linux作為操作系統(tǒng)。它對(duì)軟硬件的體積大小、成本、功耗和可靠性都提出了嚴(yán)格的要求。相應(yī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。嵌入式系統(tǒng)廣泛地應(yīng)用在信息終端、工業(yè)控制和信息家電等領(lǐng)域。針對(duì)嵌入式系統(tǒng)的各種微處理器遍布各個(gè)角落。然而,如何進(jìn)行加載操作系統(tǒng)這個(gè)問(wèn)題卻很少有人提出。目前據(jù)不完全統(tǒng)計(jì),全世界嵌入式處理器的品種總量已經(jīng)超過(guò)1000多種,流行體系結(jié)構(gòu)有30多個(gè)系列。世界各大半導(dǎo)體生產(chǎn)商從ARM公司購(gòu)買(mǎi)其設(shè)計(jì)的ARM微處理器核,根據(jù)各自不同的應(yīng)用領(lǐng)域,加入適當(dāng)?shù)耐鈬娐罚瑥亩纬勺约旱腁RM微處理器芯片進(jìn)入市場(chǎng)?!?代碼密度高并兼容16位的Thumb指令集。具有以下特點(diǎn):★ 5級(jí)整數(shù)流水線,指令執(zhí)行效率更高?! RM9系列微處理器包含ARM920T、ARM922T和ARM940T三種類型,以適用于不同的應(yīng)用場(chǎng)合。★ 全性能的MMU,支持Windows CE、Linux、Palm OS等多種主流嵌入式操作系統(tǒng)?!?6級(jí)整數(shù)流水線,指令執(zhí)行效率更高。  ARM10E系列微處理器包含ARM1020E、ARM1022E和ARM1026EJS三種類型,以適用于不同的應(yīng)用場(chǎng)合。RISC結(jié)構(gòu)優(yōu)先選取使用頻率最高的簡(jiǎn)單指令,避免復(fù)雜指令;將指令長(zhǎng)度固定,指令格式和尋址方式種類減少;以控制邏輯為主,不用或少用微碼控制等措施來(lái)達(dá)到上述目的。
點(diǎn)擊復(fù)制文檔內(nèi)容
試題試卷相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1