【正文】
............................ I ABSTRACT .............................................. III 1 緒言 ................................................. 1 研究背景 ......................................... 1 主要研究工作 ...................................... 2 主要內(nèi)容 ......................................... 2 2 ARM 處理 器簡介 ........................................ 3 ARM 處理器 ....................................... 3 ARM 處理器介紹 .............................. 3 ARM 處理器的優(yōu)勢 ................................. 7 RISC 指令集 ................................. 7 低功耗 ...................................... 8 3 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)描述 ................................ 19 4 Bootloader 的概念 .................................... 20 Bootloader 的基本概念 ........................... 20 Bootloader 的操作模式 ........................... 21 Bootloader 的概念擴展 ........................... 21 ARM Bootloader 的共性 ........................... 22 5 Bootloader 的設(shè)計與實現(xiàn) .............................. 24 課題研究的平臺環(huán)境 .............................. 24 硬件平臺 ................................... 24 V 軟件環(huán)境以及軟件開發(fā)工具 ................... 25 Bootloader 的總體設(shè)計 ........................... 26 階段設(shè)計 ................................... 26 地址規(guī)劃設(shè)計 ............................... 26 模式設(shè)計 ................................... 27 Bootloader 的具體實現(xiàn) ........................... 30 階段 1 的代碼實現(xiàn) ........................... 30 階段 2 的代碼實現(xiàn) ........................... 34 代碼的編譯 ................................. 37 6 總結(jié)與展望 .......................................... 40 參考文獻 ............................................... 41 致 謝 ................................................. 42 1 1 緒言 研究背景 隨著人民生活水平提高帶來巨大的消費需求、信息化進程的推進、電信運營業(yè)的發(fā)展,信息產(chǎn)業(yè)市場空間將得到進一步拓展。 Bootloader III ABSTRACT 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。Bootloader 是嵌入式系統(tǒng)中執(zhí)行在內(nèi)核操作系統(tǒng)前的一段代碼,它的基本作用就是加載內(nèi)核鏡像。 相應地,這也給處理器提出了要求。它并不是最近出現(xiàn)的新技術(shù),只是隨著微電子技術(shù)和計算機技術(shù)的發(fā)展,微控制芯片功能越來越 強 大,而嵌入微控制芯片的設(shè)備和系統(tǒng)越來越多,從而使得這種技術(shù)越來越引人注目。盡我所知,除文中特別加以標注和致謝的地方外,不包含其他人或組織已經(jīng)發(fā)表或公布過的研究成果,也不包含我為獲得 及其它教育機構(gòu)的學位或?qū)W歷而使用過的材料。對本研究提供過幫助和做出過貢獻的個人或集體,均已在文中作了明確的說明并表示了 謝意。它對軟硬件的體積大小、成本、功耗和可靠性都提出了嚴格的要求。當今,眾多的半導體廠商都生產(chǎn)基于 ARM體系結(jié)構(gòu)的通用微處理芯片, ARM 技術(shù)已經(jīng)在當今的嵌入式微處理器領(lǐng)域中占據(jù)了它的領(lǐng)先地位。 在實踐 平臺上,本課題硬件上采用了 ARM9 系列的 S3C2440A 作為處理器,具有一定的代表性,并以此來搭建課題的硬件實踐平臺,軟件上以 Linux 作為操作系統(tǒng)。s embedded microprocessors occupy its leading reason is mainly that it39。在這良好的經(jīng)濟環(huán)境下,嵌入式系統(tǒng)領(lǐng)域得到進一步的拓寬與發(fā)展。 在嵌入式系統(tǒng)的開發(fā)中,嵌入式軟件是實現(xiàn)各種系統(tǒng)功能的關(guān)鍵,也是計算機技術(shù)最活躍的研究方向之一。簡單的嵌入式系統(tǒng)根本沒有操作系統(tǒng),而只是一個控制循環(huán)。特別是采用 ARM 技術(shù) IP 核的各種微處理器遍及各類產(chǎn)品市場。應該說, ARM 無處不在。這就產(chǎn)生了另一個相關(guān)主題 bootloader。因此,在真正的開發(fā)環(huán)節(jié)上,本課題主要基于 ARM 920T 體系構(gòu)架的S3C2440A 處理器,很具有代表性,并由此在理論上擴展到整個 ARM 系統(tǒng)。嵌入式微處理目前主要有 Am186/8 386EX、 SC400、 Power PC、 MIPS、ARM 系列等。 1991 年 ARM 公司成立 于英國劍橋,主要出售芯片設(shè)計技術(shù)的授權(quán)。目前,全世界有幾十家大的半導體公司都使用 ARM 公司的授權(quán),因此既使得 ARM 技術(shù)獲得更多的第三方工具、制造、軟件的支持,又使得整個系統(tǒng)成本降低,使產(chǎn)品更容易進入市場被消費者所接受,更具有競爭力。 ARM7 微處理器系列具有如下特點: ★ 具有嵌入式 ICE- RT 邏輯,調(diào)試開發(fā)方便。 ★ 對操作系統(tǒng)的支持廣泛,包括 Windows CE、 Linux、 Palm OS 等。 ARM7 系列微處理器包括如下幾種類型的核: ARM7TDMI、 ARM7TDMIS、ARM720T、 ARM7EJ。 ★ 提供 。 ★ MPU 支持實時操作系統(tǒng)。 6 ( 3) ARM9E 微處理器系列 ARM9E 系列微處理器為可綜合處理器,使用單一的處理器內(nèi) 核提供了微控制器、 DSP、 Java 應用系統(tǒng)的解決方案,極大的減少了芯片的面積和系統(tǒng)的復雜程度。 ★ 支持 32 位 ARM 指令集和 16 位 Thumb 指令集。 ★ MPU 支持實時操作系統(tǒng)。 ARM9E 系列微處理器包含 ARM926EJS、 ARM946ES 和 ARM966ES 三種類型,以適用于不同的應用場合。 ★ 支持 32 位 ARM 指令集和 16 位 Thumb 指令集。 ★ 支持數(shù)據(jù) Cache 和指令 Cache,具有更高的指令和數(shù)據(jù)處理能力 ★ 主頻最高可達 400MIPS。 ( 5) StrongArm 微處理器系列 Intel StrongARM SA1100 處理器是采用 ARM 體系結(jié)構(gòu)高 度集成的 32 位RISC 微處理器。 RISC 指令集 傳統(tǒng)的 CISC( Complex Instruction Set Computer,復雜指令集計算機)結(jié)構(gòu)有其固有的缺點,即隨著計算機技術(shù)的發(fā)展而不斷 引入新的復雜的指令集,為支持這些新增的指令,計算機的體系結(jié)構(gòu)會越來越復雜,然而,在 CISC 指令集的各種指令中,其使用頻率卻相差懸殊,大約有 20%的指令會被反復使用,占整個程序代碼的 80%。 到目前為止, RISC 體系結(jié)構(gòu)也還沒有嚴格的定義,一般認為, RISC 體系結(jié)構(gòu)應具有如下特點: ★ 采用固定長度的指令格式,指令歸整、簡單、基本尋址方式有 2~ 3 種。 Thumb指令集比通常的 8 位和 16 位 RISC/CISC 處理器具有更好的代碼密度,而芯片面積只增加 6%,可使程序存儲器更小。 ARM 架構(gòu)的設(shè)計采用了以下一些措施: ★ 降低電源電壓 ★ 減少門的翻轉(zhuǎn)次數(shù),當某個功能電路不需要時,禁止門翻轉(zhuǎn) ★ 減少門的數(shù)目,即降低芯片的集成度 ★ 降低時鐘頻率 ARM 還其他采用了一些特別的 技術(shù),在保證高性能的前提下盡量縮小芯片的面積: 9 ★ 所有的指令都可以根據(jù)前面的執(zhí)行結(jié)果決定是否被執(zhí)行,從而提高指令的執(zhí)行效率; ★ 可用加載 /存儲指令批量傳輸數(shù)據(jù),以提高數(shù)據(jù)的傳輸效率; ★ 可在一條數(shù)據(jù)處理指令中同時完成邏輯處理和移位處理; ★ 在循環(huán)處理中使用地址的自動增減來提高運行效率; ARM 的低功耗,使得 ARM 在專門針對嵌入式系統(tǒng)的處理器市場中始終處于有利的地位。 ARM core 描述 盡管本本文實現(xiàn)主要涉及軟件上的開發(fā),但是軟件上代碼的實現(xiàn)更多的都涉及芯片構(gòu)架,因此在這里簡要介紹一下一般 ARM core 構(gòu)架。 2. 桶形移位寄存器: ARM 采用了 32 32 位的桶形移位寄存器,這樣可以使在左移 /右移 n 位、環(huán)移 n 位和算術(shù)右移 n 位等都可以一次完成。 FPA10 浮點加速器是作為協(xié)處理方式與 ARM 相連,并通過協(xié)處理指令的解釋來執(zhí)行。因此,圖 描述的僅僅針對一般而言。其中,除系統(tǒng)模式外,其他 5 種特權(quán)模式又稱為異常模式。這種體系結(jié)構(gòu)可以使操作系統(tǒng)控制整個系統(tǒng)的資源。但是系統(tǒng)模式屬于特權(quán)模式,可以訪問所有的系統(tǒng)資源,也可以直 接進行處理器模式的切換,它主要供操作系統(tǒng)任務使用。在