




已閱讀5頁,還剩27頁未讀, 繼續(xù)免費閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
嵌入式系統(tǒng)ARM的通用bootloader的設(shè)計與實現(xiàn)-論文嵌入式系統(tǒng)ARM的通用bootloader的設(shè)計與實現(xiàn)目錄摘要IAbstractII目錄III緒言1. 背景2. 主要研究工作3. 主要內(nèi)容第一章ARM簡介1.1 ARM 簡介1.1.1 ARM處理器介紹1.2 ARM處理器的優(yōu)勢特點1.2.1 RISC指令集1.2.2 低功耗第二章 ARM體系結(jié)構(gòu)介紹2.1 ARM core描述2.2 編程模型介紹2.2.1 ARM處理器模式2.2.2 ARM寄存器組介紹2.2.3 ARM存儲系統(tǒng)2.2.4 ARM指令集介紹2.2.5 ARM體系的異常中斷2.3 ARM最小系統(tǒng)描述2.4 Intel Xscale系統(tǒng)構(gòu)架2.4.1 PXA255介紹第三章 Bootloader的概念3.1 Bootloader的基本概念3.2 Bootloader的操作模式3.3 Bootloader的概念擴展3.4 ARM Bootloader的共性第四章 Bootloader的設(shè)計與實現(xiàn)4.1 研究的平臺環(huán)境4.1.1 硬件平臺4.1.2 軟件環(huán)境以及軟件開發(fā)工具4.2 Bootloader的總體設(shè)計4.2.1 階段設(shè)計4.2.2 地址規(guī)劃設(shè)計4.2.3 模式設(shè)計4.3 Bootloader的具體實現(xiàn)4.3.1 階段1的代碼實現(xiàn)4.3.2 階段2的代碼實現(xiàn)4.3.3 代碼的編譯4.3.4 目標文件的鏈接與轉(zhuǎn)換4.4 代碼組織結(jié)構(gòu)4.5 使用操作第五章實驗結(jié)果與測評5.1 實驗結(jié)果5.1.1 基本功能的實現(xiàn)結(jié)果5.1.2 擴展功能的實現(xiàn)結(jié)果5.2 程序性能5.2.1 擴展功能的功能性測試數(shù)據(jù)5.2.2 程序的可移植性第六章 總結(jié)與展望緒言1.研究背景隨著人民生活水平提高帶來巨大的消費需求、信息化進程的推進、電信運營業(yè)的發(fā)展,信息產(chǎn)業(yè)市場空間將得到進一步拓展。在這良好的經(jīng)濟環(huán)境下,嵌入式系統(tǒng)領(lǐng)域得到進一步的拓寬與發(fā)展。嵌入式系統(tǒng)是以應(yīng)用為中心、以計算機技術(shù)為基礎(chǔ)、軟件硬件可剪裁來適應(yīng)系統(tǒng)對功能、可靠性、成本、體積、功耗嚴格要求的專用計算機系統(tǒng)。嵌入式系統(tǒng)是將先進的計算機技術(shù)、半導體技術(shù)、電子技術(shù)和各行業(yè)的具體應(yīng)用相結(jié)合后的產(chǎn)物,它是一個技術(shù)密集、資金密集、高度分散、不斷創(chuàng)新的知識集成系統(tǒng)。嵌入式系統(tǒng)廣泛地應(yīng)用在信息終端、工業(yè)控制和信息家電等領(lǐng)域。在嵌入式系統(tǒng)的開發(fā)中,嵌入式軟件是實現(xiàn)各種系統(tǒng)功能的關(guān)鍵,也是計算機技術(shù)最活躍的研究方向之一。不同應(yīng)用對嵌入式軟件系統(tǒng)有不同的要求,并且隨著計算機技術(shù)的發(fā)展,這些要求也在不斷變化。通常,應(yīng)用系統(tǒng)對嵌入式軟件的基本要求是體積小、執(zhí)行速度快、具有較好的可剪裁性和可移植性。特別地,現(xiàn)在對嵌入式軟件來說,都需要操作系統(tǒng)的支持。簡單的嵌入式系統(tǒng)根本沒有操作系統(tǒng),而只是一個控制循環(huán)。但是,當系統(tǒng)變得越來越復雜時,就需要一個嵌入式操作系統(tǒng)來支持,否則應(yīng)用軟件就會變得過于復雜,使開發(fā)難度過大,安全性和可靠性都難以保證。嵌入式軟件,特別是操作系統(tǒng)的支持,使得對硬件的要求越來越高。針對嵌入式系統(tǒng)的各種微處理器遍布各個角落。特別是采用ARM技術(shù)IP核的各種微處理器遍及各類產(chǎn)品市場。ARM技術(shù)以其較高的性能和功效,使得在嵌入式系統(tǒng)中得到廣泛應(yīng)用。世界上幾乎所有的主要半導體廠商都生產(chǎn)基于ARM體系結(jié)構(gòu)的通用芯片,如TI,Motorola,Intel,NS,Ateml,Philips,SAMSUNG等。目前,ARM芯片廣泛應(yīng)用于無線產(chǎn)品、PDA、GPS、網(wǎng)絡(luò)、消費電子產(chǎn)品、STB及智能卡。應(yīng)該說,ARM無處不在。隨著嵌入式產(chǎn)品中高端微處理器ARM的加入以及軟件上操作系統(tǒng)的支持,使得整個嵌入式系統(tǒng)擁有了完整的構(gòu)架?,F(xiàn)在,專門為嵌入式產(chǎn)品開發(fā)的各個操作系統(tǒng)層出不窮,WINDOW CE,POCKET PC,Linux等等,各界關(guān)注地也特別多。然而,如何進行加載操作系統(tǒng)這個問題卻很少有人提出。這就產(chǎn)生了另一個相關(guān)主題bootloader。Bootloader本身的功能就是引導與加載內(nèi)核鏡像。如何實現(xiàn)bootloader的基本功能,如何針對基于ARM體系的微處理器來實現(xiàn)bootloader,就成為本課題的一個基本論題。,除了基本功能,bootloader還能有什么更加具體的擴展功能來方便各個系統(tǒng)開發(fā)者,都屬于本課題討論的范疇。2.主要研究工作本文的題目盡管涉及到ARM系統(tǒng),但是,由于bootloader的特殊性以及個別性,即bootloader與具體的處理器以及具體的硬件系統(tǒng)緊密聯(lián)系在一起,需要實際的完整硬件系統(tǒng)支持,而基于ARM體系的芯片實在太多,每款芯片除了具有基本的ARM體系結(jié)構(gòu)的通性外,通常還具有各自獨特的特性,還需分別處理。因此,在真正的開發(fā)環(huán)節(jié)上,本課題主要基于Intel Xscale體系構(gòu)架的PXA255處理器,Xscale本身是與ARM V5TE構(gòu)架兼容的,因此很具有代表性,并由此在理論上擴展到整個ARM系統(tǒng)。在實現(xiàn)過程中具體研究開發(fā)如下:l選擇基于Intel Xscale構(gòu)架的PXA255芯片作為處理器,并以此構(gòu)建一套硬件開發(fā)系統(tǒng)l與實際項目接軌,選擇GNU的linux作為系統(tǒng)的操作系統(tǒng)l在上述軟硬件開發(fā)系統(tǒng)上實現(xiàn)基于PXA255的bootloader的基本功能,即引導加載內(nèi)核鏡像的功能l在實現(xiàn)bootloader基本功能的基礎(chǔ)上,增加bootloader的擴展功能,包括:通過串口打印調(diào)試信息、通過串口更新鏡像、通過USB接口更新鏡像、實現(xiàn)bootloader加載模式與下載模式的轉(zhuǎn)換以及實現(xiàn)對FLASH的擦寫操作支持l在Xscale的構(gòu)架基礎(chǔ)上在理論上擴展到ARM系統(tǒng),分析對于ARM系統(tǒng),bootloader實現(xiàn)的一些共性以及一些限制l分析對于實現(xiàn)bootloader,移植到其他ARM平臺的相關(guān)處理3.主要內(nèi)容根據(jù)所涉及的主要研究工作,本文的內(nèi)容主要包括一下幾個部分:第一章簡要敘述ARM世界的一些主流處理器以及其優(yōu)勢特點;緊接著第二章則詳細描述了ARM的體系結(jié)構(gòu),指令系統(tǒng)并在此基礎(chǔ)上簡單的描述了一下PXA255的相關(guān)結(jié)構(gòu);第三章的內(nèi)容是介紹bootloader的概念,并專門針對ARM bootloader進行了詳細說明;第四章在首先介紹軟硬件平臺之后詳細介紹了bootloadr的實現(xiàn),包括基本功能,擴展功能等,以及軟件上的編譯連接的實現(xiàn),代碼組織結(jié)構(gòu)等;第五章針對第四章的實現(xiàn),對結(jié)果進行分析以及擴展功能的一些數(shù)據(jù)測試,以及如何在實現(xiàn)的bootloader基礎(chǔ)上進行移植;最后一章進行一下總結(jié)與展望。第一章,簡單闡述ARM的發(fā)展,基于ARM體系的各類主流處理器以及ARM的優(yōu)勢特點。第二章,詳細描述了ARM的體系結(jié)構(gòu),包括ARM編程模型方面的內(nèi)容,簡單介紹了ARM core,ARM最小系統(tǒng)的組成以及硬件系統(tǒng)相關(guān)的PXA255處理器的介紹。第三章,闡述bootloader的一些基本概念以及ARM bootloader的一些共性。第四章,簡單介紹了其實現(xiàn)的軟硬件平臺,詳細介紹了基于PXA255處理器的bootloader基本功能的實現(xiàn)以及擴展功能的實現(xiàn)以及軟件上編譯連接的處理。第五章,實驗結(jié)果的一些分析與測評,包括一些測試數(shù)據(jù)以及程序的穩(wěn)定性與可移植性、剪裁性的分析。第六章,總結(jié)與展望。摘要隨著移動設(shè)備的流行和發(fā)展,嵌入式系統(tǒng)已經(jīng)成為一個熱點。它并不是最近出現(xiàn)的新技術(shù),只是隨著微電子技術(shù)和計算機技術(shù)的發(fā)展,微控制芯片功能越來越大,而嵌入微控制芯片的設(shè)備和系統(tǒng)越來越多,從而使得這種技術(shù)越來越引人注目。它對軟硬件的體積大小、成本、功耗和可靠性都提出了嚴格的要求。嵌入式系統(tǒng)的功能越來越強大,實現(xiàn)也越來越復雜,隨之出現(xiàn)的就是可靠性大大降低。最近的一種趨勢是一個功能強大的嵌入式系統(tǒng)通常需要一種操作系統(tǒng)來給予支持,這種操作系統(tǒng)是已經(jīng)成熟并且穩(wěn)定的,可以是嵌入式的Linux,WINCE等等。相應(yīng)地,這也給處理器提出了要求。當今,眾多的半導體廠商都生產(chǎn)基于ARM體系結(jié)構(gòu)的通用微處理芯片,ARM技術(shù)已經(jīng)在當今的嵌入式微處理器領(lǐng)域中占據(jù)了它的領(lǐng)先地位。究其原因,它的精簡指令構(gòu)架為主又不放棄與復雜指令平衡的設(shè)計,使得在獲得高性能的同時又能做到低功耗。本文所要研究的就是基于ARM嵌入式系統(tǒng)通用bootloader的設(shè)計與實現(xiàn)。Bootloader是嵌入式系統(tǒng)中執(zhí)行在內(nèi)核操作系統(tǒng)前的一段代碼,它的基本作用就是加載內(nèi)核鏡像。在實踐平臺上,本課題硬件上采用了Intel Xscale系列的PXA255作為處理器,Xscale核心是與ARM V5TE構(gòu)架兼容的,因此具有一定的代表性,并以此來搭建課題的硬件實踐平臺,軟件上以Linux作為操作系統(tǒng)。而在具體的實現(xiàn)上目標是除了實現(xiàn)bootloader的基本功能外,還將它實現(xiàn)成一個更加復雜的系統(tǒng),即增加對硬件電路板的支持,以方便開發(fā)人員進行調(diào)試以及開發(fā)。因此,本文重點闡述了實踐上具體的設(shè)計,具體的實現(xiàn)以及簡單評估了它的作用。最后,對實現(xiàn)的bootloader進行了擴展:即在闡明ARM嵌入式系統(tǒng)中bootloader的一些共同點之后,介紹了如何對其他ARM系統(tǒng)進行移植,以做到通用性。關(guān)鍵詞:嵌入式系統(tǒng) ARM Bootload 1391嵌入式系統(tǒng)ARM的通用bootloader的設(shè)計與實現(xiàn)第一章 ARM簡介嵌入式系統(tǒng)的核心部件是各種類型的嵌入式處理器。目前據(jù)不完全統(tǒng)計,全世界嵌入式處理器的品種總量已經(jīng)超過1000多種,流行體系結(jié)構(gòu)有30多個系列。嵌入式微處理目前主要有Am186/88、386EX、SC-400、Power PC、MIPS、ARM系列等。其中,ARM是一種今年來在嵌入式系統(tǒng)中有著強大影響力的微處理器設(shè)計商和制造商,ARM的設(shè)計非常適合與小的電源供電系統(tǒng)。特別是,隨著近年來,微處理器結(jié)構(gòu)由RISC(精簡指令集)全面取代傳統(tǒng)的CISC(復雜指令集),因為ARM是著名的RISC的擁護者。1.1 ARM 簡介 ARM(Advanced RISC Machines),既可以認為是一個公司的名字,也可以是對一類微處理器的通稱,還可以認為是一種技術(shù)的名字。1991年ARM公司成立于英國劍橋,主要出售芯片設(shè)計技術(shù)的授權(quán)。目前,采用ARM技術(shù)只是產(chǎn)權(quán)(IP)核的微處理器,即通常我們所說的ARM微處理器,已經(jīng)遍及工業(yè)控制、消費類電子產(chǎn)品、通信系統(tǒng)、無線系統(tǒng)等各類產(chǎn)品市場,基于ARM技術(shù)的微處理應(yīng)用約占據(jù)了32位RISC微處理器75以上的市場份額,ARM技術(shù)正在逐步滲入我們生活的各個方面。ARM公司是專門從事基于RISC技術(shù)芯片設(shè)計開發(fā)的公司,作為知識產(chǎn)權(quán)供應(yīng)商,本身不直接從事芯片生產(chǎn),靠轉(zhuǎn)讓設(shè)計許可由合作公司生長各具特色的芯片。世界各大半導體生產(chǎn)商從ARM公司購買其設(shè)計的ARM微處理器核,根據(jù)各自不同的應(yīng)用領(lǐng)域,加入適當?shù)耐鈬娐?,從而形成自己的ARM微處理器芯片進入市場。目前,全世界有幾十家大的半導體公司都使用ARM公司的授權(quán),因此既使得ARM技術(shù)獲得更多的第三方工具、制造、軟件的支持,又使得整個系統(tǒng)成本降低,使產(chǎn)品更容易進入市場被消費者所接受,更具有競爭力。1.1.1ARM處理器介紹ARM處理器目前包括下面幾個系列的處理器產(chǎn)品以及其他廠商實現(xiàn)的基于ARM體系結(jié)構(gòu)的處理器:ARM7系列、ARM9系列、ARM9E系列、 ARM10E系列、SecurCore系列、Intel的Xscale系列、Intel的StrongARM系列。ARM體系有變種,也就是說有些版本具備特定功能,在各個版本的版本號上可以體現(xiàn)出來,說明如下5: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ù)前導零CLZ指令BRK中斷指令增加了一些信號處理的指令 V6構(gòu)架增加了SIMD功能擴展,為包括音頻/視頻處理在內(nèi)的應(yīng)用系統(tǒng)提供優(yōu)化功能接下來就簡要介紹一下各主要系列處理器的特點。(1)ARM7微處理器系列5ARM7系列微處理器為低功耗的32位RISC處理器,最適合用于對價位和功耗要求較高的消費類應(yīng)用。ARM7微處理器系列具有如下特點: 具有嵌入式ICERT邏輯,調(diào)試開發(fā)方便。 極低的功耗,適合對功耗要求較高的應(yīng)用,如便攜式產(chǎn)品。 能夠提供0.9MIPS/MHz的三級流水線結(jié)構(gòu)。 代碼密度高并兼容16位的Thumb指令集。 對操作系統(tǒng)的支持廣泛,包括Windows CE、Linux、Palm OS等。 指令系統(tǒng)與ARM9系列、ARM9E系列和ARM10E系列兼容,便于用戶的產(chǎn)品升級。 主頻最高可達130MIPS,高速的運算處理能力能勝任絕大多數(shù)的復雜應(yīng)用。ARM7系列微處理器的主要應(yīng)用領(lǐng)域為:工業(yè)控制、Internet設(shè)備、網(wǎng)絡(luò)和調(diào)制解調(diào)器設(shè)備、移動電話等多種多媒體和嵌入式應(yīng)用。ARM7系列微處理器包括如下幾種類型的核:ARM7TDMI、ARM7TDMI-S、ARM720T、ARM7EJ。其中,ARM7TMDI是目前使用最廣泛的32位嵌入式RISC處理器,屬低端ARM處理器核。(2)ARM9微處理器系列5ARM9系列微處理器在高性能和低功耗特性方面提供最佳的性能。具有以下特點: 5級整數(shù)流水線,指令執(zhí)行效率更高。 提供1.1MIPS/MHz的哈佛結(jié)構(gòu)。 支持32位ARM指令集和16位Thumb指令集。 支持32位的高速AMBA總線接口。 全性能的MMU,支持Windows CE、Linux、Palm OS等多種主流嵌入式操作系統(tǒng)。 MPU支持實時操作系統(tǒng)。 支持數(shù)據(jù)Cache和指令Cache,具有更高的指令和數(shù)據(jù)處理能力。ARM9系列微處理器主要應(yīng)用于無線設(shè)備、儀器儀表、安全系統(tǒng)、機頂盒、高端打印機、數(shù)字照相機和數(shù)字攝像機等。ARM9系列微處理器包含ARM920T、ARM922T和ARM940T三種類型,以適用于不同的應(yīng)用場合。 (3)ARM9E微處理器系列5ARM9E系列微處理器為可綜合處理器,使用單一的處理器內(nèi)核提供了微控制器、DSP、Java應(yīng)用系統(tǒng)的解決方案,極大的減少了芯片的面積和系統(tǒng)的復雜程度。ARM9E系列微處理器提供了增強的DSP處理能力,很適合于那些需要同時使用DSP和微控制器的應(yīng)用場合。ARM9E系列微處理器的主要特點如下: 支持DSP指令集,適合于需要高速數(shù)字信號處理的場合。 5級整數(shù)流水線,指令執(zhí)行效率更高。 支持32位ARM指令集和16位Thumb指令集。 支持32位的高速AMBA總線接口。 支持VFP9浮點處理協(xié)處理器。 全性能的MMU,支持Windows CE、Linux、Palm OS等多種主流嵌入式操作系統(tǒng)。 MPU支持實時操作系統(tǒng)。 支持數(shù)據(jù)Cache和指令Cache,具有更高的指令和數(shù)據(jù)處理能力。 主頻最高可達300MIPS。ARM9系列微處理器主要應(yīng)用于下一代無線設(shè)備、數(shù)字消費品、成像設(shè)備、工業(yè)控制、存儲設(shè)備和網(wǎng)絡(luò)設(shè)備等領(lǐng)域。ARM9E系列微處理器包含ARM926EJ-S、ARM946E-S和ARM966E-S三種類型,以適用于不同的應(yīng)用場合。(4)ARM10E微處理器系列5ARM10E系列微處理器具有高性能、低功耗的特點,由于采用了新的體系結(jié)構(gòu),與同等的ARM9器件相比較,在同樣的時鐘頻率下,性能提高了近50,同時,ARM10E系列微處理器采用了兩種先進的節(jié)能方式,使其功耗極低。ARM10E系列微處理器的主要特點如下: 支持DSP指令集,適合于需要高速數(shù)字信號處理的場合。 6級整數(shù)流水線,指令執(zhí)行效率更高。 支持32位ARM指令集和16位Thumb指令集。 支持32位的高速AMBA總線接口。 支持VFP10浮點處理協(xié)處理器。 全性能的MMU,支持Windows CE、Linux、Palm OS等多種主流嵌入式操作系統(tǒng)。 支持數(shù)據(jù)Cache和指令Cache,具有更高的指令和數(shù)據(jù)處理能力 主頻最高可達400MIPS。 內(nèi)嵌并行讀/寫操作部件。ARM10E系列微處理器主要應(yīng)用于下一代無線設(shè)備、數(shù)字消費品、成像設(shè)備、工業(yè)控制、通信和信息系統(tǒng)等領(lǐng)域。ARM10E系列微處理器包含ARM1020E、ARM1022E和ARM1026EJ-S三種類型,以適用于不同的應(yīng)用場合。(5)StrongArm微處理器系列Intel StrongARM SA-1100處理器是采用ARM體系結(jié)構(gòu)高度集成的32位RISC微處理器。它融合了Intel公司的設(shè)計和處理技術(shù)以及ARM體系結(jié)構(gòu)的電源效率,采用在軟件上兼容ARMv4體系結(jié)構(gòu)、同時采用具有Intel技術(shù)優(yōu)點的體系結(jié)構(gòu)。Intel StrongARM處理器是便攜式通訊產(chǎn)品和消費類電子產(chǎn)品的理想選擇,已成功應(yīng)用于多家公司的掌上電腦系列產(chǎn)品(6)Intel Xscale微處理器系列有關(guān)Intel Xscale微處理器系列,會在后面相關(guān)篇幅中進行介紹。1.2ARM處理器的優(yōu)勢特點采用RISC結(jié)構(gòu)的ARM微處理器一般具有如下特點:1體積小、低功耗、低成本、高性能;2支持Thumb(16位)/ARM(32位)雙指令集,能很好地兼容8/16位器件;3大量使用寄存器,指令執(zhí)行速度更快;4大多數(shù)數(shù)據(jù)操作都在寄存器中完成;5尋址方式靈活簡單,執(zhí)行效率高;6指令長度固定;ARM處理器之所以能夠廣泛應(yīng)用于各個領(lǐng)域,與以上所列的各個特點密切相關(guān),綜合起來,主要包括以下幾點。1.2.1 RISC指令集傳統(tǒng)的CISC(Complex Instruction Set Computer,復雜指令集計算機)結(jié)構(gòu)有其固有的缺點,即隨著計算機技術(shù)的發(fā)展而不斷引入新的復雜的指令集,為支持這些新增的指令,計算機的體系結(jié)構(gòu)會越來越復雜,然而,在CISC指令集的各種指令中,其使用頻率卻相差懸殊,大約有20的指令會被反復使用,占整個程序代碼的80。而余下的80的指令卻不經(jīng)常使用,在程序設(shè)計中只占20,顯然,這種結(jié)構(gòu)是不太合理的?;谝陨系牟缓侠硇裕?979年美國加州大學伯克利分校提出了RISC(Reduced Instruction Set Computer,精簡指令集計算機)的概念,RISC并非只是簡單地去減少指令,而是把著眼點放在了如何使計算機的結(jié)構(gòu)更加簡單合理地提高運算速度上。RISC結(jié)構(gòu)優(yōu)先選取使用頻率最高的簡單指令,避免復雜指令;將指令長度固定,指令格式和尋址方式種類減少;以控制邏輯為主,不用或少用微碼控制等措施來達到上述目的。到目前為止,RISC體系結(jié)構(gòu)也還沒有嚴格的定義,一般認為,RISC體系結(jié)構(gòu)應(yīng)具有嵌入式系統(tǒng)ARM的通用bootloader的設(shè)計與實現(xiàn)如下特點: 采用固定長度的指令格式,指令歸整、簡單、基本尋址方式有23種。 使用單周期指令,便于流水線操作執(zhí)行。 大量使用寄存器,數(shù)據(jù)處理指令只對寄存器進行操作,只有加載/ 存儲指令可以訪問存儲器,以提高指令的執(zhí)行效率。ARM主要使用32位的RISC指令,但是指令代碼利用率低,ARM為了彌補此不足,在新型ARM構(gòu)架(V4T版本以上)定義了16位的Thumb指令集。Thumb指令集比通常的8位和16位RISC/CISC處理器具有更好的代碼密度,而芯片面積只增加6,可使程序存儲器更小。另外,為了加速通信和多媒體中有關(guān)數(shù)字信號的處理,ARM處理器在RISC的基礎(chǔ)上增加了許多原屬DSP核中的關(guān)鍵部件。雙核協(xié)同工作,各用所長,有效地提高了數(shù)據(jù)處理能力核傳輸速度,但是RISC+DSP分立的雙核結(jié)構(gòu)存在兩核之間互相通信的困難和分別編程的麻煩,為此發(fā)展了兩核融合在一起的單核結(jié)構(gòu),同時將指令集也合二為一,簡化編程提高效率,將CPU提升到可快速運算多媒體的算法,實現(xiàn)許多音視頻的解碼功能。1.2.2低功耗由于ARM架構(gòu)的處理器主要用于手持式嵌入式系統(tǒng)之中,因此ARM構(gòu)架在設(shè)計中十分注意低電壓、低功耗這一點,因而在手持式嵌入式系統(tǒng)得到廣泛的應(yīng)用。ARM架構(gòu)的設(shè)計采用了以下一些措施: 降低電源電壓 減少門的翻轉(zhuǎn)次數(shù),當某個功能電路不需要時,禁止門翻轉(zhuǎn) 減少門的數(shù)目,即降低芯片的集成度 降低時鐘頻率ARM還其他采用了一些特別的技術(shù),在保證高性能的前提下盡量縮小芯片的面積: 所有的指令都可以根據(jù)前面的執(zhí)行結(jié)果決定是否被執(zhí)行,從而提高指令的執(zhí)行效率; 可用加載/存儲指令批量傳輸數(shù)據(jù),以提高數(shù)據(jù)的傳輸效率; 可在一條數(shù)據(jù)處理指令中同時完成邏輯處理和移位處理; 在循環(huán)處理中使用地址的自動增減來提高運行效率;ARM的低功耗,使得ARM在專門針對嵌入式系統(tǒng)的處理器市場中始終處于有利的地位。一組典型數(shù)據(jù)是:對于ARM7系列處理器,當核電壓是3.3V時,每MHz,其功耗只為1.1mW。第二章 ARM體系結(jié)構(gòu)介紹在介紹具體的ARM Bootloader的實現(xiàn)之前,首先介紹一下ARM的體系結(jié)構(gòu),因為Bootloader是與處理器芯片緊密相連的。為了更好的在后面篇幅中介紹實現(xiàn),先簡單介紹相關(guān)的體系結(jié)構(gòu)以及相關(guān)指令集。2.1ARM core描述盡管本本文實現(xiàn)主要涉及軟件上的開發(fā),但是軟件上代碼的實現(xiàn)更多的都涉及芯片構(gòu)架,因此在這里簡要介紹一下一般ARM core構(gòu)架。下圖所示的是ARM構(gòu)架圖。它由32位ALU、若干個32位通用寄存器以及狀態(tài)寄存器、328位乘法器、3232位桶形移位寄存器、指令譯碼以及控制邏輯、指令流水線和數(shù)據(jù)/地址寄存器組成。1ALU:它有兩個操作數(shù)鎖存器、加法器、邏輯功能、結(jié)果以及零檢測邏輯構(gòu)成。2桶形移位寄存器:ARM采用了3232位的桶形移位寄存器,這樣可以使在左移/右移n位、環(huán)移n位和算術(shù)右移n位等都可以一次完成。3高速乘法器:乘法器一般采用“加一移位”的方法來實現(xiàn)乘法。ARM為了提高運算速度,則采用兩位乘法的方法,根據(jù)乘數(shù)的2位來實現(xiàn)“加一移位”運算 ;ARM高速乘法器采用328位的結(jié)構(gòu),這樣,可以降低集成度(其相應(yīng)芯片面積不到并行乘法器的1/3)。4浮點部件:浮點部件是作為選件供ARM構(gòu)架使用。FPA10浮點加速器是作為協(xié)處理方式與ARM相連,并通過協(xié)處理指令的解釋來執(zhí)行。5控制器:ARM的控制器采用的是硬接線的可編程邏輯陣列PLA。6寄存器:具體的介紹參考下節(jié)的相關(guān)介紹。 不同的ARM core可能還有所不同。因此,圖2.17描述的僅僅針對一般而言。 圖 2.1 ARM構(gòu)架圖2.2編程模型介紹對于ARM編程,需要了解的一下幾個方面:2.2.1 ARM處理器模式ARM處理器共有7種運行模式,如表2.16所示:處理器模式處理器模式描述用戶模式(User,usr)正常程序執(zhí)行的模式快速中斷模式(FIQ,fiq)用于高速數(shù)據(jù)傳輸和通道處理普通中斷模式(IRQ,irq)用于通常的中斷處理監(jiān)管模式(Supervisor,svc)供操作系統(tǒng)使用的一種保護模式數(shù)據(jù)訪問中止模式(Abort,abt)用于虛擬存儲及存儲保護未定義指令中止模式(Undefined,und)用于支持通過軟件方針硬件的協(xié)處理器系統(tǒng)模式(System,sys)用于運行特權(quán)級的操作系統(tǒng)任務(wù)表格 2.1除了用戶模式之外的其他6種處理器模式稱為特權(quán)模式(Privileged Modes)。在這些模式下,程序可以訪問所有的系統(tǒng)資源,也可以任意地進行處理器模式的切換。其中,除系統(tǒng)模式外,其他5種特權(quán)模式又稱為異常模式。處理器模式可以通過軟件控制進行切換,也可以通過外部中斷或異常處理過程進行切換。大多數(shù)的用戶程序運行在用戶模式下,這時,應(yīng)用程序不能夠訪問一些受操作系統(tǒng)保護的系統(tǒng)資源,應(yīng)用程序也不能直接進行處理器模式的切換。當需要進行處理器模式的切換時,應(yīng)用程序可以產(chǎn)生異常處理,在異常處理過程中進行模式的切換。這種體系結(jié)構(gòu)可以使操作系統(tǒng)控制整個系統(tǒng)的資源。當應(yīng)用程序發(fā)生異常中斷時,處理器進入相應(yīng)的異常模式。在每一種異常模式中都有一組寄存器,供相應(yīng)的異常處理程序使用,這樣就可以保證在進入異常模式時,用戶模式下的寄存器(保證了程序運行狀態(tài))不被破壞。系統(tǒng)模式并不是通過異常過程進入的,它和用戶模式具有完全一樣的寄存器。但是系統(tǒng)模式屬于特權(quán)模式,可以訪問所有的系統(tǒng)資源,也可以直接進行處理器模式的切換。它主要供操作系統(tǒng)任務(wù)使用。通常操作系統(tǒng)的任務(wù)需要訪問所有的系統(tǒng)資源,同時該任務(wù)仍然使用用戶模式下的寄存器組,而不是使用異常模式下相應(yīng)的寄存器組,這樣可以保證當異常中斷發(fā)生時任務(wù)狀態(tài)不被破壞6。2.2.2 ARM寄存器組介紹ARM處理器一般共有37個寄存器,其中包括5:l31個通用寄存器,包括程序計數(shù)器(PC)在內(nèi),這些寄存器都是32位寄存器;l6個狀態(tài)寄存器,這些寄存器也是32位寄存器; 上一節(jié)已經(jīng)說過,ARM處理器共有7種不同的處理器模式,在每一種處理器模式中有一組相應(yīng)的寄存器。任意時刻(也就是任意的處理器模式下),可見的寄存器包括15個通用嵌入式系統(tǒng)ARM的通用bootloader的設(shè)計與實現(xiàn)寄存器(R0R14)、一個或者兩個狀態(tài)寄存器以及程序計數(shù)器(PC)。在所有的寄存器中,有些是各模式共用的同一個物理寄存器;有些寄存器是各模式自己擁有的獨立的物理寄存器。圖3.1表示了各處理器模式下的可見寄存器:用戶模式和系統(tǒng)模式寄存器組 異常模式下的寄存器組R8_fiqR9_fiqR10_fiqR11_fiqR13_undR14_undR13_svcR14_svcSPSR_undSPSR_abtSPSR_irqSPSR_fiqSPSR_svcCPSR從表3.1中可以看出,通用寄存器R0R7在所有的處理器模式下指的都是同一個物理寄存器。而對于R8R12寄存器組,除了在快速中斷模式下有自己專有的物理寄存器,其它模式下也共有統(tǒng)一物理寄存器。R13寄存器對應(yīng)6個不同的物理寄存器,即除了前面提過的用戶模式與系統(tǒng)模式共用一個寄存器外,其它模式都有相應(yīng)的物理寄存器;一般地,R13寄存器在ARM中通常用作棧指針,在ARM指令中這只是一種習慣的用法,并沒有任何指令強制性的使用R13作為棧指針。R14寄存器又被稱為連接寄存器(Link Register,LR),在ARM體系中有下面兩種特殊的作用6:l每一種處理器模式自己的物理R14中存放當前子程序的返回地址。當通過跳轉(zhuǎn)指令調(diào)用子程序時,R14被設(shè)置為該子程序的返回地址;在子程序中,把R14的指賦值到程序計數(shù)器PC中時,子程序返回;l當異常中斷發(fā)生時,該異常模式特定的物理R14被設(shè)置成該異常模式將要返回的地址,對于有些異常模式,R14的值可能與將返回的地址有個常數(shù)的偏移量。 程序計數(shù)器R15又被記作PC。由于ARM采用了流水線機制,當正確讀取了PC的值時,該值為當前指令地址加8個字節(jié)。也就是說,對于ARM指令集來說,PC指向當前指令的下兩條指令的地址。由于ARM指令是字對齊的,PC值的第0位和第1位總為0。CPSR(當前程序狀態(tài)寄存器)可以在任何處理器模式下被訪問。它包含了標志位、中斷禁止位、當前處理器模式標志以及其它的一些控制和狀態(tài)位。每一種處理器異常模式下都有一個專用的物理狀態(tài)寄存器,稱為SPSR(備份程序狀態(tài)寄存器)。當特定的異常中斷發(fā)生時,這個寄存器用于存放當前程序狀態(tài)寄存器的內(nèi)容。在異常中斷返回退出時,可以用SPSR種保存的值來恢復CPSR。由于用戶模式和系統(tǒng)模式不是異常中斷模式,所以它們沒有SPSR。當用戶模式或者系統(tǒng)模式中訪問SPSR,將會產(chǎn)生不可預知的結(jié)果。SPSR與CPSR的格式相同。CPSR的格式如圖2.36所示: 31 30 29 28 27 8 7 6 5 4 0NZCQUnused IFTModes圖2.3N(Negative)、Z(Zero)、C(Carry)、V(Overflow)統(tǒng)稱為標志位。大部分的ARM指令可以根據(jù)CPSR中的這些條件標志位來選擇性地執(zhí)行。各條件標志位的具體含義如下:N:當兩個補碼表示的有符號整數(shù)運算時,N1表示運算的結(jié)果為負數(shù);N0表示運算結(jié)果為正數(shù)或零;Z:Z1表示運算結(jié)果為零;Z0表示運算的結(jié)果不為零;C:在加法指令中,當結(jié)果產(chǎn)生了進位,則C1;其他情況下C0; 在減法指令中,當運算中發(fā)生借位,則C0;其他情況下C0;V:對于加/減法運算指令,當操作數(shù)和運算結(jié)果為二進制的補碼表示的帶符號數(shù)時,V1表示符號位溢出CPSR的低8位稱為控制位,當異常中斷發(fā)生時這些位發(fā)生改變。在特權(quán)模式下,軟件可以修改這些控制位:I:普通中斷禁止位;I1時禁止IRQ中斷。F:快速中斷禁止位;F1時禁止FIQ中斷。T:對于ARMv4以及更高的版本的T系列的ARM處理器lT0表示執(zhí)行ARM指令lT1表示執(zhí)行Thumb指令對于ARMv5以及更高版本的非T系列的ARM處理器lT=0表示執(zhí)行ARM指令lT1表示強制下一條執(zhí)行的指令產(chǎn)生為定義指令中斷 Modes位控制處理器模式,在這不再贅述。2.2.3ARM存儲系統(tǒng)這里僅僅介紹ARM編程模型中與存儲系統(tǒng)相關(guān)的一些概念。ARM體系中的存儲空間ARM體系中使用單一的平板地址空間。該地址空間的大小232個8位字節(jié)。這些字節(jié)單元的地址是一個無符號的32位數(shù)值也可以看作是230個32位的字單元。這些字單元的地址可以被4整除,也就是說該地址的低兩位為0b00。地址為A的字數(shù)包括地址A、A+1、A+2、A+3這4個字節(jié)單元的內(nèi)容。ARM的存儲器格式在ARM體系中,每個字單元中包含4個字節(jié)單元或者兩個半字單元,其中1個半字單元中包含兩個字節(jié)單元。但是在字單元中,4個字節(jié)哪一個是高位字節(jié),哪一個是低位字節(jié),則有兩種不同的格式:big-endian格式和little-endian格式。在big-endian格式中,對于地址為A的字單元包括字節(jié)單元A、A+1、A+2、A+3,其中字節(jié)單元由高位到低位字節(jié)順序為A、A+1、A+2、A+3;地址為A的字單元包括半字單元A、A+2,其中半字單元由高位到地位字節(jié)順序為A、A+2;地址為A的半字單元包括字節(jié)單元A、A+1,其中字節(jié)單元由高位到低位字節(jié)順序為A、A+1。這種存儲器格式如下圖所示: 31 24 23 16 15 8 7 0字單元A半字單元A半字單元A2字節(jié)單元A字節(jié)單元A1字節(jié)單元A2字節(jié)單元A3 圖2.4 big-endian格式的存儲系統(tǒng)在little-endian格式中,地址為A的字單元包括字節(jié)單元A、A+1、A+2、A+3,其中字節(jié)單元由高位到低位字節(jié)順序為A3、A+2、A+1、A;地址為A的字單元包括半字單元A、A+2,其中半字單元由高位到地位字節(jié)順序為A2、A;地址為A的半字單元包括字節(jié)單元A、A+1,其中字節(jié)單元由高位到低位字節(jié)順序為A1、A。這種存儲器格式如下圖所示: 31 24 23 16 15 8 7 0字單元A半字單元A2半字單元A字節(jié)單元A3字節(jié)單元A2字節(jié)單元A1字節(jié)單元A 圖2.5 little-endian格式的存儲系統(tǒng)2.2.4 ARM指令集介紹ARM指令系統(tǒng)屬于RISC指令系統(tǒng)。標準的ARM指令每條都是32位,有些ARM核還可以執(zhí)行16位的Thumb指令集。一般地,ARM指令具有以下特點9:l指令的條件執(zhí)行ARM指令都是條件執(zhí)行,條件標志位位于程序代碼字節(jié)的cond位(位2831,下文會介紹)。根據(jù)cond的不同編碼,可以選擇根據(jù)條件碼標志決定指令的執(zhí)行。l靈活的第二操作數(shù)ARM指令的另一個重要的特點是數(shù)據(jù)處理類指令有靈活的第二操作數(shù)operand2(位與程序代碼的位011)。它既可以是立即數(shù),也可以是邏輯運算數(shù),使得ARM指令可以在讀取數(shù)值的同時進行算術(shù)和移位操作。l協(xié)處理器的作用ARM內(nèi)核可提供協(xié)處理接口,通過擴展協(xié)處理器完成更加復雜的功能。因此ARM指令中還包括了多條協(xié)處理器指令,使用多達16個協(xié)處理器,允許將其他處理器通過協(xié)處理器接口進行緊耦合;ARM還包括幾種內(nèi)存管理單元的變種,包括簡單的內(nèi)存保護到復雜的頁面層次。lThumb指令ARM在有的版本支持16位Thumb指令。Thumb指令集的整體執(zhí)行速度比ARM32位指令集快,而且提高了代碼密度。l具有RISC指令的特點由于ARM指令屬于RISC指令,所以多具有RISC指令的特點,指令少,且等長, 便于充分利用流水線技術(shù),使用多寄存器,且為簡單的Load和Store指令。ARM指令按功能大致可以分為跳轉(zhuǎn)指令、數(shù)據(jù)處理指令、乘法類指令、數(shù)據(jù)傳送指令、協(xié)處理器類指令以及雜項指令(包括狀態(tài)寄存器傳送指令、乘法類指令、軟件中斷指令和斷點指令)。ARM指令字長為固定的32位,一條典型的ARM指令編碼格式如下9: 31 28 27 26 2524 21 20 19 16 15 12 11 0Cond 00 Iopcode S RnRdoperand2圖2.6其中:lcond位2831,執(zhí)行指令的條件編碼。lI位25,決定operand2的格式。lopcode 位2124,操作碼。lS位20,表示結(jié)果是否影響狀態(tài)寄存器標志位:1影響,0不影響。lRn位1619,第一操作數(shù)的寄存器編碼。lRd位位011,表示第二操作數(shù)編碼。ARM指令包括60多個指令,并且支持多種尋址方式:寄存器尋址、立即數(shù)尋址、寄存器間接尋址、寄存器變址尋址、多寄存器尋址、堆棧尋址、塊拷貝尋址以及相對尋址等。對于具體的指令集,可以參考相關(guān)文檔。2.2.5 ARM體系的異常中斷在ARM體系中通常有以下3種方式控制程序的執(zhí)行流程6:l在程序正常執(zhí)行過程種,每執(zhí)行一條ARM指令,程序計數(shù)器寄存器(PC)的值加4個字節(jié);每執(zhí)行一條Thumb指令,程序計數(shù)器寄存器的值加2個字節(jié)。整個過程是按順序執(zhí)行。l通過跳轉(zhuǎn)指令,程序可以跳轉(zhuǎn)到特定的地址標號處執(zhí)行,或者跳轉(zhuǎn)到特定的子程序處執(zhí)行。l當異常中斷發(fā)生時,系統(tǒng)執(zhí)行完當前指令后,將跳轉(zhuǎn)到相應(yīng)的異常中斷處理程序處執(zhí)行。在異常中斷處理程序執(zhí)行完成后,程序返回到發(fā)生中斷的指令的下一條指令處執(zhí)行。ARM體系中中斷向量表中指定了各異常中斷及處理程序的對應(yīng)關(guān)系。它可以放在存儲地址的低端,也可以放在存儲地址的高端。異常中斷向量表的大小位32字節(jié),其中每個異常中斷占據(jù)4個字節(jié)大小,保留了4個字節(jié)空間。每個異常中斷對應(yīng)的中斷向量表中的4個字節(jié)的空間中放了一個跳轉(zhuǎn)指令或者一個向PC寄存器中賦值的數(shù)據(jù)訪問指令。通過這兩種指令,程序?qū)⑻D(zhuǎn)到相應(yīng)的異常中斷處理程序處執(zhí)行。下面是ARM體系中各異常中斷向量的描述表:嵌入式系統(tǒng)ARM的通用bootloader的設(shè)計與實現(xiàn)ARM處理器對異常中斷的響應(yīng)過程如下:l保存處理器當前狀態(tài)、中斷屏蔽位以及各條件標志位。這是通過將當前程序狀態(tài)寄存器CPSR的內(nèi)容保存到將要執(zhí)行的異常中斷對應(yīng)的SPSR寄存器中實現(xiàn)的。l設(shè)置當前的程序狀態(tài)寄存器CPSR中相應(yīng)的位,包括設(shè)置CPSR中的位,使處理器進入相應(yīng)的執(zhí)行模式;設(shè)置CPSR中的位,禁止IRQ中斷,當進入FIQ模式時,禁止FIQ模式。l將寄存器lr_mode設(shè)置成返回地址。l將程序計數(shù)器值PC設(shè)置成該異常中斷的中斷向量地址,從而跳轉(zhuǎn)到相應(yīng)的異常中斷處理程序處執(zhí)行。 ARM最小系統(tǒng)描述對于任何一個系統(tǒng),都希望不是一個虛擬系統(tǒng),也就是說系統(tǒng)都希望是特定系統(tǒng),即有具體的CPU,有具體的存儲芯片以及有各種具體的外圍控制模塊。對于本課題來說,最終的bootloader也必須在具體的系統(tǒng)上運行起來。但是,任何一個ARM系統(tǒng),在沒有特定指定的條件下,仍然可以將通用特性(一些通用基本控制模塊)描述出來,在此稱之為ARM最小系統(tǒng),見下圖:圖2.7 ARM最小系統(tǒng)從上圖中,可以了解一個基本的ARM最小系統(tǒng)通常包括以下幾個部分:lARM COREl存儲控制器:通過它系統(tǒng)可以接入各種DRAM以及ROM;l總線橋接:系統(tǒng)總線與外圍總線的連接器l中斷控制器:供各種設(shè)備提供中斷服務(wù)l串口lGPIO控制模塊:供各種外設(shè)以及系統(tǒng)擴充使用對于一些復雜系統(tǒng),還可以有更多的功能性模塊,特別是隨著網(wǎng)絡(luò)通信的發(fā)展,ARM系統(tǒng)中包括了更多的通訊控制模塊。2.4Intel Xscale系統(tǒng)構(gòu)架本文最終實現(xiàn)以及驗證平臺是基于Intel Xscale構(gòu)架的,因此在本節(jié)中主要介紹一下Intel Xscale的系統(tǒng)結(jié)構(gòu)并簡要介紹一下基于Xscale微架構(gòu)的處理器PXA255。Xscale微構(gòu)架處理器是為新一代無線手持式應(yīng)用產(chǎn)品開發(fā)的嵌入式處理器,是PCA開發(fā)式平臺架構(gòu)中的應(yīng)用子系統(tǒng)與通信子系統(tǒng)中的嵌入式處理器。圖3.87所示為Xscale系統(tǒng)結(jié)構(gòu)圖。Intel Xscale構(gòu)架與ARM V5TE相兼容,其主要特性如下:(1)采用7/8級超級流水線:動態(tài)跳轉(zhuǎn)預測以及分支目標緩沖;(2)支持多媒體處理技術(shù):增加乘、加法器;累加器;兼容ARMV5TE指令;特定DSP型協(xié)處理器CP0;(3)指令快存(I-Cache):32KB;(4)數(shù)據(jù)快存(D-Cache):32KB;(5)微小型理單元D-MMU:32路變換后備緩沖器TLB;(8)中斷控制器;(9)總線控制器;(10)調(diào)試接口;(11)動態(tài)電源管理;Xscale微構(gòu)架處理器的時鐘可達1GHz,功耗1.6W,并能達到1200兆條指令/秒。目前,基于Xscale微構(gòu)架的處理器有:IOP310,IOP321,PXA210,PXA250,PXA255,PXA26X等。2.4.1PXA255介紹PXA250/PXA255應(yīng)用處理器是Intel公司生產(chǎn)的第一代基于Xscale微構(gòu)架的第一個系統(tǒng)芯片(ISOC)的處理器。它除了Xscale微內(nèi)核外,還集成了許多世適用于手持式設(shè)備市場需要的外圍設(shè)備。如圖2.9 11所示為PXA255應(yīng)用處理器的框圖。圖2.9PXA255作為本課題的整個硬件平臺核心,具有很強的處理能力,同時兼具低功耗和高集成度的特性。它內(nèi)置了JTAG調(diào)試接口,存儲器控制器,實時時鐘和操作系統(tǒng)時鐘,串口,并口,紅外通信,藍牙接口,AC97接口以及USB 1.1設(shè)備端控制模塊等。第三章 Bootloader的概念本文在實現(xiàn)以及驗證上都以開放源代碼的linux為操作系統(tǒng),因此,在眾多舉例以及圖表描述中,多以linux系統(tǒng)為例子。但是,這并不防礙對許多概念的解釋,其本質(zhì)在任何操作系統(tǒng)中都是一致的,所不同的僅僅是實現(xiàn)形式。3.1Bootloader的基本概念一個嵌入式Linux系統(tǒng)從軟件的角度看通常可以分為四個層次:引導加載程序、Linux內(nèi)核、文件系統(tǒng)、用戶應(yīng)用程序。用戶應(yīng)用程序文件系統(tǒng) Linux內(nèi)核 引導加載程序系統(tǒng)調(diào)用接口設(shè)備驅(qū)動操作系統(tǒng)核心機制(進程調(diào)度、內(nèi)存管理、 中斷管理、時鐘管理、 文件系統(tǒng)、網(wǎng)絡(luò)支持 信號機制、同步機制等等)圖 3.1引導加載程序是系統(tǒng)加電后運行的第一段代碼。我們熟悉的PC中的引導程序一般由BIOS和位于MBR的OS bootloader(例如LILO或者GRUB)一起組成。然而在嵌入式系統(tǒng)中通常沒有像BIOS那樣的固件程序(有的嵌入式CPU有),因此整個系統(tǒng)的加載啟動任務(wù)就完全由bootloader來完成。在嵌入式Linux中, 圖3.1中的引導加載程序即等效為bootloader。簡單地說,bootloader就是在操作
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 育嬰員(中級)模擬題+答案
- 2025設(shè)備租賃合同(實例版)
- 小區(qū)綠化養(yǎng)護及農(nóng)業(yè)管理協(xié)議
- 辦公軟件采購與定制開發(fā)協(xié)議
- 土地承包協(xié)議與土地承包協(xié)議書
- 織物抗紫外線性能評估考題試題及答案
- 2025重慶發(fā)展投資公司及所屬企業(yè)社會招聘15人筆試參考題庫附帶答案詳解
- 2025廣西農(nóng)村投資集團有限公司校園招聘140人筆試參考題庫附帶答案詳解
- 2025年四川宜賓市高縣錦途勞務(wù)派遣有限責任公司招聘勞務(wù)派遣人員12人筆試參考題庫附帶答案詳解
- 2025山東鋼鐵集團有限公司高校畢業(yè)生招聘筆試參考題庫附帶答案詳解
- 眼部美容手術(shù)
- 《售后服務(wù)體系》課件
- 幼兒園安全隱患舉報獎勵制度范文(二篇)
- 多邊形的內(nèi)角和的說課稿
- 生活垃圾焚燒發(fā)電廠摻燒一般工業(yè)固廢和協(xié)同處置污泥項目環(huán)評資料環(huán)境影響
- DB11T 1615-2019 園林綠化科普標識設(shè)置規(guī)范
- 房屋柜子定制合同模板
- 用眼衛(wèi)生(教學設(shè)計) 體育三年級上冊
- 小學六年級畢業(yè)班家長會課件
- DB34∕T 2922-2017 水利水電工程底橫軸驅(qū)動翻板鋼閘門制造、安裝及驗收規(guī)范
- SLT824-2024 水利工程建設(shè)項目文件收集與歸檔規(guī)范
評論
0/150
提交評論