【正文】
精品畢業(yè)論文、畢業(yè)設計,優(yōu)質(zhì)的論文服務: 精品論文網(wǎng)提供畢業(yè)設計(論文)和圖文教程、視頻教程等一攬子解決方案姓 名 系 別 、專 業(yè) 導師姓名、職稱 完 成 時 間 目 錄摘 要 IABSTARCT II1 緒 論 目的和意義 1 1 42 嵌入式 Linux系統(tǒng)構成和軟件開發(fā)環(huán)境 5 5 5 7 113 嵌入式Linux的引導BootLoader程序 12 BootLoader概述 12 NAND Flash和NOR Flash的區(qū)別 13 194 Linux內(nèi)核的編譯、移植 20 20 Linux內(nèi)核啟動流程 20 21 MTD內(nèi)核分區(qū) 2編譯內(nèi)核 24 265 文件系統(tǒng)制作 27 yaffs文件系統(tǒng)簡介 27 內(nèi)核支持YAFFS文件系統(tǒng) 27 306測試 31 31 31 327結 論 33參考文獻 34致 謝 35摘 要研究目的是在以S3C2410A(ARM920T核)微處理器為核心的硬件平臺上,構建嵌入式Linux軟件開發(fā)平臺,以便在此基礎上進行二次開發(fā)。該移植研究并沒有使用開發(fā)板附帶的軟件包,其所有源碼都來自Internet,并且采用了較新的版本。主要做了以下工作:下載、配置、編譯了交叉編譯工具鏈,建立了嵌入式Linux交叉開發(fā)環(huán)境;詳細分析了BootLoader的啟動過程,深入地研究了BootLoader從 NOR Flash啟動的原理,在此基礎上,對BootLoader進行了移植研究并實現(xiàn)了從 NOR Flash啟動;,詳細分析了Linux內(nèi)核移植要點,并移植、配置、。關鍵詞:系統(tǒng)移植;BootLoader;S3C2410;ABSTARCTThe purpose of this paper is to build an embedded linux software platform on the hardware plarform with the kernel of S3C2410(ARM920T core) microprocessor.So the following applications can be developed based on it. The software package that the development board attatched has not be used and all new version codes used here e from Internet. The detail work are as following:Firstly, the the Crosspile tools was downloaded,configured and piled and the embedded software development environment was built. Secondly, the running process of the BootLoader was analyzed and the principle of BootLoader running on NOR Flash was studied and BootLoader was transplanted. The key points of Linux kernel transplantation were detailed and kernel was transplanted ,configured and piled. Keywords:systemtrans plantation;BootLoader;S3C2410;351 緒 論、目的和意義 嵌入式系統(tǒng)是當今最熱門的計算機應用領域之一,成為當今的最熱門發(fā)展方向被廣泛地應用到工業(yè)控制系統(tǒng)、仿真系統(tǒng)、醫(yī)療儀器、信息家電、通信設備等眾多領域中。嵌入式產(chǎn)品的巨大需求不僅為嵌入式市場展現(xiàn)了美好前景,注入了新的生命,同時也對嵌入式系統(tǒng)技術,特別是軟件技術提出新的挑戰(zhàn),這主要包括:支持日趨增長的功能密度、靈活的網(wǎng)絡聯(lián)接、輕便的移動應用和多媒體的信息處理。論文課題的主要研究目的是:在以S3C2410A(920T核)微處理器為核心的硬件平臺上,搭建通用的嵌入式Linux()軟件開發(fā)平臺,以便在其上做二次開發(fā)。系統(tǒng)地研究嵌入式Linux系統(tǒng)的移植有很大的現(xiàn)實意義。首先,可以增加對S3C2410A以微處理器、內(nèi)置外設以及系統(tǒng)擴展的了解,有助于將來的嵌入式學習。其次,可以熟悉嵌入式軟件系統(tǒng)移植的整個過程,對該過程有整體上的把握,對后續(xù)的嵌入式系統(tǒng)開發(fā)有指導性意義。最后,通過該研究過程可以構建較新版的軟件系統(tǒng),實現(xiàn)更好的系統(tǒng)性能,最重要的是可以在實踐基礎上增加對系統(tǒng)移植理論的理解并積累豐富的系統(tǒng)移植經(jīng)驗,為后續(xù)的嵌入式應用開發(fā)打下堅實的基礎[1][5]。計算機、互聯(lián)網(wǎng)技術的應用與普及,以及微電子技術的突破,正有力推動著二十一世紀工業(yè)生產(chǎn)、商業(yè)活動、科學實驗和家庭生活等領域的自動化和信息化進程。全過程自動化的產(chǎn)品制造、大范圍的電子商務活動、高度協(xié)同的科學實驗以及現(xiàn)代化家庭起居,為嵌入式產(chǎn)品造就了嶄新而巨大的商機,市場前景非常廣闊。目前嵌入式系統(tǒng)每年全球的工業(yè)產(chǎn)值日益增加。 從廣義上地講,凡是不用于通用目的的可編程計算機設備,就可以算是嵌入式計算機系統(tǒng)。狹義上而言,嵌入式系統(tǒng)是以應用為中心、以計算機技術為基礎、軟件硬件可裁剪、適應應用系統(tǒng)對功能、可靠性、成本、體積、功耗嚴格要求的專用計算機系統(tǒng)。嵌入式系統(tǒng)是軟件和硬件的綜合體,整個綜合體的設計目的在于滿足某種特殊功能,并應用于各類具體的應用系統(tǒng)中,其范圍和領域都十分廣泛,幾乎包括了我們周圍的所有電器設備,如:電視機頂盒、掌上PDA、移動計算設備、多媒體設備、醫(yī)療儀器乃至路由器、交換機等。通常,嵌入式系統(tǒng)同通用型計算機系統(tǒng)相比具有以下特點[1][3]。1)嵌入式系統(tǒng)通常是面向特定應用的嵌入式CPU大多工作在為特定用戶群設計的系統(tǒng)中,通常具有低功耗、體積小、集成度高等特點,能夠把通用CPU中許多由板卡完成的任務集成在芯片內(nèi)部,從而有利于嵌入式系統(tǒng)設計趨于小型化,移動能力大大增強,與網(wǎng)絡的禍合也越來越緊密。2)嵌入式系統(tǒng)對軟件有嚴格的要求嵌入式產(chǎn)品一般不具有硬盤等大容量存儲設備,而且由于成本的限制,嵌入式系統(tǒng)軟件一般固化在容量較小的FLASH存儲器中。這就要求軟件代碼具有較高的質(zhì)量和可靠性,所以必須對代碼進行剪切和調(diào)整。3)嵌入式系統(tǒng)必須具備開發(fā)環(huán)境和開發(fā)工具才能進行開發(fā)受限于嵌入式系統(tǒng)自身資源與空間的不足,它不具備自主開發(fā)能力,所以嵌入式系統(tǒng)的開發(fā)模式采用宿主機一目標機相連構成交叉開發(fā)環(huán)境。另外,還需要編譯器、鏈接器等作為開發(fā)工具。4)嵌入式系統(tǒng)的生命周期相當長。當嵌入式系統(tǒng)應用到產(chǎn)品后,還可以進行軟件升級,它的生命周期與產(chǎn)品的生命周期幾乎一樣長。嵌入式設備能與用戶親密接觸,最重要的因素就是它能提供非常友好的用戶界面、圖形界面和靈活的控制方式。這就要求嵌入式軟件設計者要在圖形界面、多媒體技術上多下功夫(這樣可以使客戶更輕松方便的使用嵌入式產(chǎn)品)。我國國內(nèi)的嵌入式軟件市場已處于整體啟動階段。國內(nèi)嵌入式軟件市場未來的發(fā)展重點在于對應用范圍的拓展。隨著Internet的發(fā)展以及Internet技術在信息家電、工業(yè)控制技術等領域的應用,嵌入式系統(tǒng)與Internet的結合將代表著嵌入式技術的真正未來。 嵌入式處理器是嵌入式系統(tǒng)的核心,是控制、輔助系統(tǒng)運行的硬件單元,目前全世界嵌入式處理器的品種總量已經(jīng)超過1000多種,流行體系結構包括MCU、MPU等30幾個系列,速度越來越快,性能越來越強,價格也越來越低。根據(jù)其現(xiàn)狀,嵌入式處理器可分成下面幾類。1)嵌入式微處理器 (Embedded MICroprocssor Unit,EMP)2)嵌入式微控制器 (Microcontroller Unit,MCU)3)嵌入式DSP處理器(Embedded Digital Signal Processor)4)嵌入式片上系統(tǒng) (System on Chip,SOC) 嵌入式操作系統(tǒng)是嵌入式應用軟件的基礎和開發(fā)平臺,用戶的其它應用程序都建立在操作系統(tǒng)之上。但嵌入式操作系統(tǒng)并不是簡單嵌入的操作系統(tǒng),它與通常意義的操作系統(tǒng)有所區(qū)別。嵌入式操作系統(tǒng)負責嵌入式系統(tǒng)的全部軟、硬件資源的分配和調(diào)度工作。它必須體現(xiàn)所在系統(tǒng)的特征,能夠通過裝卸某些模塊來達到系統(tǒng)所要的功能。嵌入式系統(tǒng)一般具有下面的特征。l)體積小嵌入式系統(tǒng)有別于一般的計算機處理系統(tǒng),它不具備像硬盤那樣大容量的存儲介質(zhì),而大多使用閃存作為存儲介質(zhì)。這就要求嵌入式操作系統(tǒng)只能運行在有限的內(nèi)存中,不能使用虛擬內(nèi)存,中斷的使用也受到限制。因此,嵌入式操作系統(tǒng)必須結構緊湊,體積微小。2)實時性大多數(shù)嵌入式系統(tǒng)都是實時系統(tǒng),而且多是強實時多任務系統(tǒng),要求相應的嵌入式操作系統(tǒng)也必須是實時操作系統(tǒng)。實時操作系統(tǒng)作為操作系統(tǒng)的一個重要分支已成為研究的一個熱點,主要探討實時多任務調(diào)度算法、死鎖解除等問題。3)特殊的開發(fā)調(diào)試環(huán)境提供完整的集成開發(fā)環(huán)境是每一個嵌入式系統(tǒng)開發(fā)人員所期待的。一個完整的嵌入式系統(tǒng)的集成開發(fā)環(huán)境一般需要提供的工具是編譯/鏈接器、內(nèi)核調(diào)試/跟蹤器和集成圖形界面開發(fā)平臺。其中的集成圖形界面開發(fā)平臺包括編輯器、調(diào)試器、軟件仿真器和監(jiān)視器等。嵌入式Linux操作系統(tǒng)的優(yōu)點:Linux是一套以UNIX為基礎發(fā)展而來的操作系統(tǒng)。自1991年誕生至今,以驚人的速度發(fā)展。Linux在很多方面己經(jīng)趕上甚至超過了很多商用的UNIX系統(tǒng)。它充分利用了x86 CPU的任務切換機制,實現(xiàn)了真正的多任務、多用戶環(huán)境。Linux對硬件配置的要求相當?shù)?,能夠?M內(nèi)存的386機器上很好的運行。而且可以支持多種處理器芯片。在應用于嵌入式系統(tǒng)方面,Linux己經(jīng)在許多典型的硬件平臺上實現(xiàn)了移植,這些平臺包括ARM、MIPS、ALPHA、PowerPC等。,Linux向現(xiàn)有主流的RTOS提供商在嵌入式系統(tǒng)市場提出了巨大挑戰(zhàn),將成為更優(yōu)秀的嵌入式操作系統(tǒng)。,其中有三個最顯著的改進:采用可搶占內(nèi)核、更加有效的調(diào)度算法以及同步性的提高。本課題以北京革新(GX)公司的以S3C2410A為核心的ARM9開發(fā)板為硬件開發(fā)平臺,在此基礎上,實現(xiàn)嵌入式Linux系統(tǒng)的移植。其源碼全部來自Internet,在了解了系統(tǒng)移植方法并做了大量的工程實踐的基礎上,從無到有的建立了一個可用的嵌入式Linux系統(tǒng),包括移植了功能較強的BootLoader、。其移植過程不脫離一般性,但因具體開發(fā)環(huán)境的不同,移植過程中會涉及到很多具體問題[5]。論文的主要工作:l)建立嵌入式Linux交叉開發(fā)環(huán)境對于嵌入式系統(tǒng),目標板一般只有很小的存儲空間,處理器頻率也較低。直接在這樣的硬件上建立Linux系統(tǒng)非常困難。嵌入式Linux交叉開發(fā)環(huán)境可以很