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