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