【正文】
XXXXXXXXX2011屆畢業(yè)設計說明書 系統(tǒng)引導程序(Bootloader)的設計與實現(xiàn) 系 、 部: 計算機與信息科學系 學生姓名: 指導教師: 職稱 專 業(yè): 計算機科學與技術 班 級: 完成時間: 2011年6月3日 43 / 49摘 要隨著移動設備的流行和發(fā)展,嵌入式系統(tǒng)已經(jīng)成為一個熱點。它并不是最近出現(xiàn)的新技術,只是隨著微電子技術和計算機技術的發(fā)展,微控制芯片功能越來越強大,而嵌入微控制芯片的設備和系統(tǒng)越來越多,從而使得這種技術越來越引人注目。它對軟硬件的體積大小、成本、功耗和可靠性都提出了嚴格的要求。嵌入式系統(tǒng)的功能越來越強大,實現(xiàn)也越來越復雜,隨之出現(xiàn)的就是可靠性大大降低。最近的一種趨勢是一個功能強大的嵌入式系統(tǒng)通常需要一種操作系統(tǒng)來給予支持,這種操作系統(tǒng)是已經(jīng)成熟并且穩(wěn)定的,可以是嵌入式的Linux,WINCE等等。相應地,這也給處理器提出了要求。當今,眾多的半導體廠商都生產(chǎn)基于ARM體系結(jié)構(gòu)的通用微處理芯片,ARM技術已經(jīng)在當今的嵌入式微處理器領域中占據(jù)了它的領先地位。究其原因,它的以精簡指令構(gòu)架為主又不放棄與復雜指令平衡的設計,使得在獲得高性能的同時又能做到低功耗。本文所要研究的就是基于ARM嵌入式系統(tǒng)bootloader的設計與實現(xiàn)。Bootloader是嵌入式系統(tǒng)中執(zhí)行在內(nèi)核操作系統(tǒng)前的一段代碼,它的基本作用就是加載內(nèi)核鏡像。在實踐平臺上,本課題硬件上采用了ARM9系列的S3C2440A作為處理器,具有一定的代表性,并以此來搭建課題的硬件實踐平臺,軟件上以Linux作為操作系統(tǒng)。關鍵詞 : 嵌入式系統(tǒng)。 ARM。 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。s embedded microprocessors occupy its leading reason is mainly that it39。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。 ARM。 Bootloader目 錄摘 要 IABSTRACT II1 緒言 1 研究背景 1 主要研究工作 2 主要內(nèi)容 22 ARM處理器簡介 3 ARM處理器 3 ARM處理器介紹 3 ARM處理器的優(yōu)勢 7 RISC指令集 7 低功耗 83 ARM體系結(jié)構(gòu)介紹 10 ARM core描述 10 ARM處理器工作狀態(tài)及模式 11 ARM處理器模式 11 ARM寄存器組介紹 12 ARM存儲系統(tǒng) 15 ARM指令集介紹 16 ARM體系的異常中斷 17 ARM最小系統(tǒng)描述 194 Bootloader的概念 20 Bootloader的基本概念 20 Bootloader的操作模式 21 Bootloader的概念擴展 21 ARM Bootloader的共性 225 Bootloader的設計與實現(xiàn) 24 課題研究的平臺環(huán)境 24 硬件平臺 24 軟件環(huán)境以及軟件開發(fā)工具 25 Bootloader的總體設計 26 階段設計 26 地址規(guī)劃設計 26 模式設計 27 Bootloader的具體實現(xiàn) 30 階段1的代碼實現(xiàn) 30 階段2的代碼實現(xiàn) 34 代碼的編譯 376 總結(jié)與展望 40參考文獻 41致 謝 421 緒言 研究背景隨著人民生活水平提高帶來巨大的消費需求、信息化進程的推進、電信運營業(yè)的發(fā)展,信息產(chǎn)業(yè)市場空間將得到進一步拓展。在這良好的經(jīng)濟環(huán)境下,嵌入式系統(tǒng)領域得到進一步的拓寬與發(fā)展。嵌入式系統(tǒng)是以應用為中心、以計算機技術為基礎、軟件硬件可剪裁來適應系統(tǒng)對功能、可靠性、成本、體積、功耗嚴格要求的專用計算機系統(tǒng)。嵌入式系統(tǒng)是將先進的計算機技術、半導體技術、電子技術和各行業(yè)的具體應用相結(jié)合后的產(chǎn)物,它是一個技術密集、資金密集、高度分散、不斷創(chuàng)新的知識集成系統(tǒng)。嵌入式系統(tǒng)廣泛地應用在信息終端、工業(yè)控制和信息家電等領域。在嵌入式系統(tǒng)的開發(fā)中,嵌入式軟件是實現(xiàn)各種系統(tǒng)功能的關鍵,也是計算機技術最活躍的研究方向之一。不同應用對嵌入式軟件系統(tǒng)有不同的要求,并且隨著計算機技術的發(fā)展,這些要求也在不斷變化。通常,應用系統(tǒng)對嵌入式軟件的基本要求是體積小、執(zhí)行速度快、具有較好的可剪裁性和可移植性。特別地,現(xiàn)在對嵌入式軟件來說,都需要操作系統(tǒng)的支持。簡單的嵌入式系統(tǒng)根本沒有操作系統(tǒng),而只是一個控制循環(huán)。但是,當系統(tǒng)變得越來越復雜時,就需要一個嵌入式操作系統(tǒng)來支持,否則應用軟件就會變得過于復雜,使開發(fā)難度過大,安全性和可靠性都難以保證。嵌入式軟件,特別是操作系統(tǒng)的支持,使得對硬件的要求越來越高。針對嵌入式系統(tǒng)的各種微處理器遍布各個角落。特別是采用ARM技術IP核的各種微處理器遍及各類產(chǎn)品市場。ARM技術以其較高的性能和功效,使得在嵌入式系統(tǒng)中得到廣泛應用。世界上幾乎所有的主要半導體廠商都生產(chǎn)基于ARM體系結(jié)構(gòu)的通用芯片,如TI,Motorola,Intel,NS,Ateml,Philips,SAMSUNG等。目前,ARM芯片廣泛應用于汽車電子、保安設備、無線通信、智能手機等多個領域。應該說,ARM無處不在。隨著嵌入式產(chǎn)品中高端微處理器ARM的加入以及軟件上操作系統(tǒng)的支持,使得整個嵌入式系統(tǒng)擁有了完整的構(gòu)架?,F(xiàn)在,專門為嵌入式產(chǎn)品開發(fā)的各個操作系統(tǒng)層出不窮,WINDOW CE,POCKET PC,Linux等等,各界關注地也特別多。然而,如何進行加載操作系統(tǒng)這個問題卻很少有人提出。這就產(chǎn)生了另一個相關主題bootloader。Bootloader本身的功能就是引導與加載內(nèi)核鏡像。如何實現(xiàn)bootloader的基本功能,如何針對基于ARM體系的微處理器來實現(xiàn)bootloader,就成為本課題的一個基本論題。 主要研究工作本文的題目盡管涉及到ARM系統(tǒng),但是,由于bootloader的特殊性以及個別性,即bootloader與具體的處理器以及具體的硬件系統(tǒng)緊密聯(lián)系在一起,需要實際的完整硬件系統(tǒng)支持,而基于ARM 920T體系的芯片實在太多,每款芯片除了具有基本的ARM體系結(jié)構(gòu)的通性外,通常還具有各自獨特的特性,還需分別處理。因此,在真正的開發(fā)環(huán)節(jié)上,本課題主要基于ARM 920T體系構(gòu)架的S3C2440A處理器,很具有代表性,并由此在理論上擴展到整個ARM系統(tǒng)。在實現(xiàn)過程中具體研究開發(fā)如下:★ 選擇基于ARM 920T構(gòu)架的S3C2440A芯片作為處理器,并以此構(gòu)建一套硬件開發(fā)系統(tǒng)★ 與實際項目接軌,選擇GNU的linux作為系統(tǒng)的操作系統(tǒng)★ 在上述軟硬件開發(fā)系統(tǒng)上實現(xiàn)基于S3C2440A的bootloader的基本功能,即引導加載內(nèi)核鏡像的功能★ 在ARM920T的構(gòu)架基礎上在理論上擴展到ARM系統(tǒng),分析對于ARM系統(tǒng),bootloader實現(xiàn)的一些共性以及一些限制★ 分析對于實現(xiàn)bootloader,移植到其他ARM平臺的相關處理 主要內(nèi)容根據(jù)所涉及的主要研究工作,本文的內(nèi)容主要包括一下幾個部分:第2章簡要敘述ARM世界的一些主流處理器以及其優(yōu)勢特點;緊接著第3章則詳細描述了ARM的體系結(jié)構(gòu),指令系統(tǒng);第4章的內(nèi)容是介紹bootloader的概念,并專門針對ARM bootloader進行了詳細說明;第5章在介紹軟硬件平臺之后詳細介紹了bootloadr的實現(xiàn);最后一章進行一下總結(jié)與展望。2 ARM處理器簡介嵌入式系統(tǒng)的核心部件是各種類型的嵌入式處理器。目前據(jù)不完全統(tǒng)計,全世界嵌入式處理器的品種總量已經(jīng)超過1000多種,流行體系結(jié)構(gòu)有30多個系列。嵌入式微處理目前主要有Am186/8386EX、SC400、Power PC、MIPS、ARM系列等。其中,ARM是一種近年來在嵌入式系統(tǒng)中有著強大影響力的微處理器設計商和制造商,ARM的設計非常適合與小的電源供電系統(tǒng)。特別是,隨著近年來,微處理器結(jié)構(gòu)由RISC(精簡指令集)全面取代傳統(tǒng)的CISC(復雜指令集),因為ARM是著名的RISC的擁護者。 ARM處理器ARM(Advanced RISC Machines),既可以認為是一個公司的名字,也可以是對一類微處理器的通稱,還可以認為是一種技術的名字。1991年ARM公司成立于英國劍橋,主要出售芯片設計技術的授權。目前,采用ARM技術只是產(chǎn)權(IP)核的微處理器,即通常我們所說的ARM微處理器,已經(jīng)遍及工業(yè)控制、消費類電子產(chǎn)品、通信系統(tǒng)、無線系統(tǒng)等各類產(chǎn)品市場,基于ARM技術的微處理應用約占據(jù)了32位RISC微處理器75%以上的市場份額,ARM技術正在逐步滲入我們生活的各個方面。ARM公司是專門從事基于RISC技術芯片設計開發(fā)的公司,作為知識產(chǎn)權供應商,本身不直接從事芯片生產(chǎn),靠轉(zhuǎn)讓設計許可由合作公司生長各具特色的芯片。世界各大半導體生產(chǎn)商從ARM公司購買其設計的ARM微處理器核,根據(jù)各自不同的應用領域,加入適當?shù)耐鈬娐?,從而形成自己的ARM微處理器芯片進入市場。目前,全世界有幾十家大的半導體公司都使用ARM公司的授權,因此既使得ARM技術獲得更多的第三方工具、制造、軟件的支持,又使得整個系統(tǒng)成本降低,使產(chǎn)品更容易進入市場被消費者所接受,更具有競爭力。 ARM處理器介紹ARM處理器目前包括下面幾個系列的處理器產(chǎn)品以及其他廠商實現(xiàn)的基于ARM體系結(jié)構(gòu)的處理器:ARM7系列、ARM9系列、ARM9E系列、 ARM10E系列、SecurCore系列、Intel的Xscale系列、Intel的StrongARM系列。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)