基于嵌入式Linux的MP3播放器的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)論文_第1頁(yè)
基于嵌入式Linux的MP3播放器的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)論文_第2頁(yè)
基于嵌入式Linux的MP3播放器的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)論文_第3頁(yè)
基于嵌入式Linux的MP3播放器的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)論文_第4頁(yè)
基于嵌入式Linux的MP3播放器的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)論文_第5頁(yè)
已閱讀5頁(yè),還剩28頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、DesignandImplementationforaMP3PlayerBasedonEmbededLinuxADissertationSubmittedtoNanjingInstituteofTechnologyFortheAcademicDegreeofBachelorofScienceByMinXianZhengSupervisedbyLecturerAiJunShaKangNiCollegeNanjingInstituteofTechnologyJun2013伴隨嵌入式系統(tǒng)的持續(xù)發(fā)展以及普通用戶(hù)對(duì)多媒體應(yīng)用越來(lái)越旺盛的需求,具有多媒體播放功能設(shè)備逐漸成為嵌入式系統(tǒng)中必不可少的重要功能。

2、此畢業(yè)設(shè)計(jì)將設(shè)計(jì)一個(gè)基于嵌入式Linux的MP3播放器,系統(tǒng)硬件采用基于A(yíng)RM架構(gòu)的開(kāi)發(fā)板。論文首先介紹了嵌入式操作系統(tǒng)的最新發(fā)展、嵌入式Linux、ARM的特點(diǎn)以及Qt等的相關(guān)知識(shí)。重點(diǎn)介紹了如何使用開(kāi)源播放器MPlayer、解碼庫(kù)libmad、QtCreator工具來(lái)開(kāi)發(fā)一個(gè)有圖形界面的MP3播放器。還介紹了如何移植U-boot、Linux內(nèi)核、Qt和文件系統(tǒng),并在移植好之后燒寫(xiě)到開(kāi)發(fā)板之上,得到一個(gè)能獨(dú)立運(yùn)行在開(kāi)發(fā)板上的MP3播放器。系統(tǒng)測(cè)試表明,該MP3播放器能實(shí)現(xiàn)如下功能:“播放”、“暫停”、“停止”、“音量調(diào)節(jié)”、“退出程序”和“歌曲播放時(shí)間”,系統(tǒng)運(yùn)行穩(wěn)定,基本達(dá)到了設(shè)計(jì)要求。關(guān)

3、鍵詞:嵌入式Linux;移植;Linux;QtAbstractAlongwiththesustainabledevelopmentoftheembeddedsystemandtheincreasinglydemandsformultimediaapplications,anelectronicequipmenthasafunctionsofplayingsongsgraduallybecomeindispensably.ThisdesignwillintroduceanimplementionforaMP3player,basedonembeddedLinuxsystemandanARMarc

4、hitecturedevelopmentboard.ThisPaperintroducesthelatestdevelopmentforembeddedoperatingsystem,embeddedLinux,thecharacteristicsoftheARM,Qtandotherrelatedknowledges.Especially,thispaperdisplayshowtousetheopensourceplayerMPlayer,adecodinglibrarycalledlibmad,QtCreatortoolstodevelopagraphicalinterfaceofanM

5、P3player.Inthispaper,theworkoftransplanttheboot,theLinuxkernel,Qt,andfilesystemsisalsointroduced.Afterallsystemimagesareburnedintothedevelopmentboard,onedevelopmentboardcanrunaMP3playerisobtained.SystemtestshowsthatthisMP3playercanrealizethefollowingfunction:Play,Pause,Stop,VolumeControl,ExitandShow

6、SongsPlayingState.Thewhloesystemrunsstably,andreachedthebasicdesignrequirement.Keywords:embededLinux;transplant;Linux;Qt第一章緒論11.1課題研究背景和意義11.2嵌入式系統(tǒng)發(fā)展和現(xiàn)狀21.2.1嵌入式操作系統(tǒng)21.2.2嵌入式Linux和Linux31.2.3ARM的介紹31.2.4Qt的介紹41.3論文所做的工作和結(jié)構(gòu)51.3.1論文所做的工作51.3.2論文結(jié)構(gòu)6第二章系統(tǒng)總體方案設(shè)計(jì)72.1系統(tǒng)框架概述72.2開(kāi)發(fā)板硬件介紹72.2.1主要硬件及其參數(shù)82.2.2接口

7、資源82.2.3NAND和NORFlash的相關(guān)介紹:92.2.4S3C2440的啟動(dòng)方式說(shuō)明102.3用于本設(shè)計(jì)MP3播放器的硬件架構(gòu)10第三章嵌入式Linux的開(kāi)發(fā)流程123.1開(kāi)發(fā)環(huán)境的搭建概述123.1.1硬件平臺(tái)123.1.2軟件平臺(tái)123.2安裝軟件平臺(tái)和搭建開(kāi)發(fā)環(huán)境的步驟123.2.1虛擬化平臺(tái)的介紹與安裝133.2.2RedHat介紹及其在VMware中的安裝143.2.3安裝VMwareTools163.2.4安裝交叉編譯器173.3Bootloader和U-boot的介紹183.3.1燒寫(xiě)U-boot193.3.2向NANDFlash燒寫(xiě)U-boot213.4使用FTP下載

8、工具23第四章系統(tǒng)詳細(xì)設(shè)計(jì)244.1關(guān)于移植的原理和介紹244.2U-boot、內(nèi)核和文件系統(tǒng)的移植。244.3開(kāi)源播放軟件MPlayer的安裝和移植254.3.1在X86平臺(tái)上安裝MPlayer254.3.2向ARMFF臺(tái)移植MPlayer264.4設(shè)計(jì)基于Qt/E的播放器圖形304.4.1 Qt的實(shí)現(xiàn)原理和優(yōu)勢(shì)304.4.2利用QtCreator開(kāi)發(fā)應(yīng)用程序流程324.4.3程序模塊間關(guān)系圖334.4.4程序的編寫(xiě)和實(shí)現(xiàn)334.4.5關(guān)鍵代碼分析354.4.6編譯和運(yùn)行41第五章系統(tǒng)調(diào)試和解決435.1系統(tǒng)調(diào)試及運(yùn)行435.2本次畢業(yè)設(shè)計(jì)中遇到的問(wèn)題和解決44第六章總結(jié)與展望46參考文獻(xiàn)4

9、7致謝錯(cuò)誤!未定義書(shū)簽。附錄A源代碼48附錄A.1main.cpp48附錄A.2mplayer.h48附錄A.3mplayer.cpp49南京工程學(xué)院畢業(yè)設(shè)計(jì)說(shuō)明書(shū)(論文)第一章緒論1.1課題研究背景和意義隨著社會(huì)的日益信息化,計(jì)算機(jī)和網(wǎng)絡(luò)已經(jīng)全面滲透到日常生活的每一個(gè)角落。對(duì)于我們每個(gè)人來(lái)說(shuō), 需要的已經(jīng)不再僅僅是那種放在桌上處理文檔、 進(jìn)行工作管理和生產(chǎn)控制的計(jì)算機(jī)機(jī)器。任何一個(gè)普通人都可能擁有各種使用嵌入式技術(shù)的電子產(chǎn)品。如今,各種新式嵌入式設(shè)備從數(shù)量來(lái)說(shuō)已經(jīng)完勝常規(guī)計(jì)算機(jī)了。尤其在工業(yè)中,幾十年來(lái),具有嵌入式技術(shù)的數(shù)控機(jī)床、工業(yè)智能機(jī)器人、智能設(shè)備、服務(wù)型機(jī)器人一直都對(duì)傳統(tǒng)的工業(yè)生產(chǎn)方

10、式不斷改善和提局著。MovingPictureExpertsGroupAudioLayerIII3),經(jīng)常稱(chēng)為MP3是當(dāng)今相當(dāng)流行的一它被設(shè)計(jì)來(lái)大幅降低音頻數(shù)據(jù)量,而對(duì)于大重放的音質(zhì)與最初的不壓縮音頻相比并沒(méi)有極其明顯的下降MP3播放器是嵌入式系統(tǒng)的主要應(yīng)用之一,高端的MP3已經(jīng)不僅僅著眼于音樂(lè)播放這一功能,而是同時(shí)具備了圖片瀏覽、文本閱讀、甚至視頻播放等強(qiáng)大功能。本文重點(diǎn)討論基于S3c2440芯片的MP3播放器的實(shí)現(xiàn),還包括開(kāi)發(fā)環(huán)境建立、內(nèi)核裁剪與編譯、Qt開(kāi)發(fā)等一系列過(guò)程。像以前需要兩塊甚至多塊芯片才能處理的數(shù)據(jù),現(xiàn)在基本上可以通過(guò)單塊ARM芯片完成,不僅僅降低系統(tǒng)成本,同時(shí)也簡(jiǎn)化了系統(tǒng)的

11、設(shè)計(jì)過(guò)程。而且嵌入式Linux操作系統(tǒng)的出現(xiàn),使得應(yīng)用軟件的開(kāi)發(fā)也變得相對(duì)簡(jiǎn)單,此外Linux天生的多平臺(tái)兼容性,使其移植到ARM平臺(tái)相對(duì)簡(jiǎn)單,再加上其可裁剪的優(yōu)點(diǎn),使得嵌入式Linux成為當(dāng)前嵌入式開(kāi)發(fā)的主流系統(tǒng)。所以課題選擇基于嵌入式Linux的MP3播放器的設(shè)計(jì)與實(shí)現(xiàn),具有一定的現(xiàn)實(shí)意義。 同時(shí), 畢業(yè)設(shè)計(jì)也是將大學(xué)所學(xué)知識(shí)的一次綜合運(yùn)用, 也會(huì)使得在文獻(xiàn)檢索、查閱資料、科學(xué)研究素養(yǎng)和文檔寫(xiě)作等方面的能力得到進(jìn)一步提(MPEG-1AudioLayer3,動(dòng)態(tài)影像專(zhuān)家壓縮標(biāo)準(zhǔn)音頻層面種數(shù)字音頻編碼和有損壓縮格式, 多數(shù)用戶(hù)的人體自身聽(tīng)覺(jué)感受來(lái)說(shuō),南京工程學(xué)院畢業(yè)設(shè)計(jì)說(shuō)明書(shū)(論文)1.2嵌入

12、式系統(tǒng)發(fā)展和現(xiàn)狀1.2.1嵌入式操作系統(tǒng)英國(guó)電機(jī)工程師協(xié)會(huì)BIEE(BritainInstituteofEletricalEngineers)對(duì)嵌入式系統(tǒng)的定義是:嵌入式系統(tǒng)為控制、監(jiān)視或輔助設(shè)備、機(jī)器甚至工廠(chǎng)運(yùn)作的裝置10從20世紀(jì)80年代開(kāi)始,在嵌入式系統(tǒng)出現(xiàn)了“操作系統(tǒng)”概念,這使得開(kāi)發(fā)人員可以進(jìn)一步縮短開(kāi)發(fā)周期,降低開(kāi)發(fā)成本并提高開(kāi)發(fā)效率。例如著名的VxWorks,該系統(tǒng)如今被華為、H3G中興等眾多網(wǎng)絡(luò)設(shè)備和通信設(shè)備廠(chǎng)商所采用。而思科采用了基于UNIX開(kāi)發(fā)而來(lái)的“網(wǎng)際互聯(lián)操作系統(tǒng)”(InternetOperationSystem,縮寫(xiě)為IOS);另一家網(wǎng)絡(luò)設(shè)備廠(chǎng)商Juniper所使用的

13、JunOS系統(tǒng)直接運(yùn)行于FreeBSD內(nèi)核之上,和內(nèi)核聯(lián)系緊密。20世紀(jì)90年代之后,隨著對(duì)實(shí)時(shí)性要求的提高、軟件規(guī)模不斷增加,逐漸發(fā)展出實(shí)時(shí)多任務(wù)操作系統(tǒng),并作為一種軟件平臺(tái)逐步成為目前嵌入式操作系統(tǒng)的主流。許多大公司看到了嵌入式系統(tǒng)的無(wú)限美好的發(fā)展前景,開(kāi)始大力發(fā)展自己的嵌入式操作系統(tǒng)如PalmOSPalmWebOSWindowsCE、嵌入式Linux、Symbian、BlackBerryOS、C/OS-II、eCOSuITRON等嵌入式操作系統(tǒng)。221世紀(jì)第一個(gè)十年的后半葉,出現(xiàn)了三大系統(tǒng):2007年,蘋(píng)果公司發(fā)布了改變?nèi)藗兩畹膇Phone和iOS操作系統(tǒng);隨后,2008年,谷歌發(fā)布了

14、Andriod操作系統(tǒng);微軟于2010年發(fā)布WindowsPhone7系統(tǒng)、2012年發(fā)布了WindowsPhone8系統(tǒng)。這幾年里,基于這三大智能系統(tǒng)的智能手機(jī)、 平板電腦的數(shù)量爆發(fā)式增長(zhǎng), 提高了人們的工作效率和生活舒適度。尤其是平板電腦,使人們對(duì)嵌入式設(shè)備和電腦界限的劃分逐漸模糊。除了上面的這些操作系統(tǒng)之外,三星、Ubuntu甚至是Firefox等公司都發(fā)布了自己的操作系統(tǒng)和手機(jī)。三星、Ubuntu等許多公司的系統(tǒng)都是是基于Linux開(kāi)發(fā)而來(lái)的,僅有少數(shù)是個(gè)例外如FirefoxOS,該系統(tǒng)是基于HTML5的,畢竟火狐本身就是一個(gè)瀏覽器廠(chǎng)商。在這場(chǎng)操作系統(tǒng)之爭(zhēng)中,如PalmOS、WebOS

15、、WindowsCE、Meego等系統(tǒng)已經(jīng)淡出了歷史的舞臺(tái),而Symbian、BlackBerryOS則在垂死掙扎。嵌入式Linux和Andriod是開(kāi)源的系統(tǒng)。開(kāi)發(fā)基于南京工程學(xué)院畢業(yè)設(shè)計(jì)說(shuō)明書(shū)(論文)Andriod的系統(tǒng)時(shí),需要向其他廠(chǎng)商如微軟、諾基亞、三星等公司繳納專(zhuān)利授權(quán)費(fèi)用,而基于嵌入式Linux開(kāi)發(fā)的系統(tǒng)就沒(méi)有這個(gè)問(wèn)題,適合小型廠(chǎng)商和個(gè)人的商業(yè)開(kāi)發(fā)。1.2.2嵌入式Linux和Linux嵌入式系統(tǒng)和通用計(jì)算機(jī)系統(tǒng)相比具有如下特點(diǎn):可裁剪性好、系統(tǒng)內(nèi)核小、功耗低、可靠性高、實(shí)時(shí)性好等。嵌入式Linux和Linux應(yīng)用程序開(kāi)發(fā)沒(méi)有太大區(qū)別,但是,嵌入式Linux系統(tǒng)的開(kāi)發(fā)過(guò)程中同純粹基

16、于Linux環(huán)境下的開(kāi)發(fā)流程有著一個(gè)本質(zhì)的不同之處:前者需要在宿主機(jī)器上交叉編譯、交叉調(diào)試,而在目標(biāo)機(jī)上運(yùn)行被調(diào)試程序;而后者都是在通用計(jì)算機(jī)上進(jìn)行本機(jī)編輯,本機(jī)編譯、連接、調(diào)試、運(yùn)行的。UNIX,作為現(xiàn)代操作系統(tǒng)的祖先,從貝爾實(shí)驗(yàn)室流傳出來(lái)。而在UNIX的發(fā)展過(guò)程中,產(chǎn)生的C語(yǔ)言,是貝爾實(shí)驗(yàn)室對(duì)科技發(fā)展的又一重大貢獻(xiàn)。貝爾實(shí)驗(yàn)室的母公司一一美國(guó)電話(huà)和電報(bào)公司(AT&T,見(jiàn)有利可圖,就禁止免費(fèi)使用UNIX并推出了收費(fèi)版本UNIXSystemV。之后UNIX分化成了許多不同分支和發(fā)行版本,最著名就是FreeBSDUNIX。GNU,即GNUsNotUNIX。該組織建立與1983年,其目標(biāo)是

17、創(chuàng)建一套完全免費(fèi)的、自由的UNIX-like系統(tǒng)。該組織編寫(xiě)出了一個(gè)完整操作系統(tǒng)的大部分內(nèi)容,如編譯器、系統(tǒng)管理工具、網(wǎng)絡(luò)工具、Office套件、多媒體和繪圖軟件, 除了內(nèi)核。Linux由LinusTrovalds于1991年發(fā)明, 是1990年后出現(xiàn)的新學(xué)派Unix陣營(yíng)(也包括FreeBSD、NetBSD、OpenBSD和Darwin)的領(lǐng)頭羊,代表了整個(gè)陣營(yíng)的設(shè)計(jì)方向3。一個(gè)叫Linus的大二學(xué)生寫(xiě)出了一個(gè)內(nèi)核,被GNU看中,然后就有了今天的Linux。Linux,最大的特色是開(kāi)源和免費(fèi),遵循著GPL開(kāi)發(fā)者們可以根據(jù)自身需要靈活的進(jìn)行定制化開(kāi)發(fā),因此也產(chǎn)生了相當(dāng)多的Linux的發(fā)行版本。1

18、.2.3ARM的介紹嵌入式處理器與常見(jiàn)的基X86架構(gòu)處理器的PC相比,最大的優(yōu)勢(shì)是低功耗。止匕外,嵌入式操作系統(tǒng)是實(shí)時(shí)操作系統(tǒng),著眼于調(diào)度所有可以使用的資源南京工程學(xué)院畢業(yè)設(shè)計(jì)說(shuō)明書(shū)(論文)來(lái)完成實(shí)時(shí)控制任務(wù),而桌面操作系統(tǒng)如UNIX、Linux和Windows都是分時(shí)操作系統(tǒng)。按照處理器內(nèi)核的體系結(jié)構(gòu),可以將嵌入式處理器分為:MIPS處理器、ARMt理器、PowerPC處理器、ColdFire/68K處理器等。智能手機(jī)和平板電腦的流行,讓“ARM這一詞語(yǔ)頻繁出現(xiàn)在人們的視野中,普通人都常常能到報(bào)紙、電視上見(jiàn)到這個(gè)詞。什么事ARM?ARM是AdvancedRISCMachines(高級(jí)精簡(jiǎn)指令

19、集處理機(jī))的縮寫(xiě),表示一種知識(shí)產(chǎn)權(quán)核。同時(shí)“ARM也是一家公司的名稱(chēng),ARM這家公司于1991年成立于英國(guó)劍橋,該公司的特點(diǎn)是只設(shè)計(jì)基于A(yíng)RM架構(gòu)的處理器內(nèi)核,再將該產(chǎn)品及相關(guān)專(zhuān)利授權(quán)給其他半導(dǎo)體廠(chǎng)商、軟件廠(chǎng)商和OEM廠(chǎng)商公司使用或生產(chǎn),包括Intel、Apple、微軟、三星、高通、索尼等4,AR必司本身沒(méi)有任何工廠(chǎng)。英特爾當(dāng)前是全球PC處理器的主導(dǎo)者,市場(chǎng)份額超過(guò)了80%12012年全球PC市場(chǎng)在過(guò)去的10年間首次出現(xiàn)下滑,而ARM的份額逐年加I步增長(zhǎng)。ARM公司與2012年十月發(fā)布的Cortex-A50核心,面向服務(wù)器領(lǐng)域,此番旨在同Intel爭(zhēng)奪其基于X86體系的服務(wù)器市場(chǎng)。幾乎在同時(shí),

20、AMDS布基于此核心來(lái)開(kāi)發(fā)64位ARM架構(gòu)的處理器, 這使得AMD成為業(yè)界中不僅唯家具有獨(dú)立制造CPU和GPUtg力的廠(chǎng)商,而且將是唯一一家能提供基于X86和AR臊構(gòu)的處理器芯片的廠(chǎng)商。 微軟于2012年10月發(fā)布基于A(yíng)RMCPU的SurfaceWindowsRT,同時(shí)也意味著視窗操作系統(tǒng)從Windows8開(kāi)始可以在A(yíng)RMFF臺(tái)上運(yùn)行了。ARM處理器分為如下幾個(gè)系歹hARM7ARM9ARM9EARM10EARM11Cortex-A8、Cortex-A9、Cortex-A15等。本畢業(yè)設(shè)計(jì)基于三星S3c2440的XC2400開(kāi)發(fā)板,具微處理器為基于A(yíng)RM9內(nèi)核的ARM920T。1.2.4Qt的介

21、紹Qt是挪威TrollTech公司開(kāi)發(fā)的跨平臺(tái)C+圖形用戶(hù)界面研發(fā)工具。2008年該公司被Nokia收購(gòu)。2009年Nokia公開(kāi)了Qt的源代碼。2012年,Nokia南京工程學(xué)院畢業(yè)設(shè)計(jì)說(shuō)明書(shū)(論文)將Qt售予芬蘭軟件公司Digia,而Qt仍將保持開(kāi)源。Digia計(jì)劃將Qt推廣到Andriod、iOS和Windows8平臺(tái)。Qt的一個(gè)顯著特點(diǎn)是跨平臺(tái)特性。通過(guò)對(duì)不同平臺(tái)的私有API,如文字處理、網(wǎng)絡(luò)協(xié)議、進(jìn)程處理、線(xiàn)程、數(shù)據(jù)庫(kù)訪(fǎng)問(wèn)等進(jìn)行封裝。Qt可以在多個(gè)平臺(tái)(Unix、Linux、Windows、Mac等)上運(yùn)行,從某種意義上講,Qt類(lèi)似于Microsof的MFCSBorland的VCL,

22、都是C+的一個(gè)函數(shù)庫(kù)。 不同的是它封裝不同操作系統(tǒng)的訪(fǎng)問(wèn)細(xì)節(jié),而且能實(shí)現(xiàn)跨平臺(tái)應(yīng)用5。QT的版本比較多,對(duì)于初學(xué)者容易搞混?,F(xiàn)分別介紹:(1)Qt/X11:是指用專(zhuān)門(mén)于Linux或者Unix的版本。如:qt-x11-opensource-src-463.tar.gz,它是用于PC機(jī)linux平臺(tái)的Qt源碼包。Linux操作系統(tǒng)中的常見(jiàn)的KDE桌面就是用Qt/X11開(kāi)發(fā)的;QtWindows:是指用于Windows的Qt版本;(3)Qt-everywhere:在配置時(shí)加上不同參數(shù)的話(huà),選擇性地編譯用于X86,或者用于A(yíng)RMFF臺(tái),如qt-everywhere-opensource-src-4.6

23、.3.tar.gz;(4)Qt/Embedded:即Qt/E。 其 是 專(zhuān) 門(mén) 用 于A(yíng)RM平 臺(tái) 的Qt版 本 。 如qt-embedded-linux-opensource-src-4.6.3.tar.gz,它是用于嵌入式ARM的qt源碼包。本次畢業(yè)設(shè)計(jì)將在X86平臺(tái)上安裝面向Qt/X11的Qt,軟件版本為qt-SDK-linux-x86-opensource-2010.04。安裝在/opt目錄下, 在桌面會(huì)生出QtCreator快捷方式,打開(kāi)后進(jìn)行一些參數(shù)的設(shè)置之后即可進(jìn)行程序的開(kāi)發(fā),例如指定qmake的路徑。1.3論文所做的工作和結(jié)構(gòu)1.3.1論文所做的工作本畢業(yè)設(shè)計(jì)在RedHatEn

24、terpriseLinux中安裝QtCreator開(kāi)發(fā)工具, 實(shí)現(xiàn)在嵌入式Linux下的MP3播放器。能通過(guò)圖形界面控制播放和暫停、快進(jìn)快退、上下曲、音量增減、顯示歌曲狀態(tài)信息等功能。本課題的主要研究?jī)?nèi)容包括:(1)了解一個(gè)嵌入式Linux系統(tǒng)的開(kāi)發(fā)流程;南京工程學(xué)院畢業(yè)設(shè)計(jì)說(shuō)明書(shū)(論文)(2)開(kāi)發(fā)平臺(tái)的搭建:包括交叉編譯環(huán)境的建立、環(huán)境變量的配置等;(3)掌握Linux內(nèi)核的移植、開(kāi)源MP3音樂(lè)播放器的移植、用Qt開(kāi)發(fā)的程序及其移植;(2)了解Bootloader的功能和作用;(2)掌握嵌入式Linux的程序開(kāi)發(fā),以及編譯、調(diào)試方法和步驟。需要解決的關(guān)鍵性問(wèn)題:(1)熟悉嵌入式Linux和其

25、開(kāi)發(fā)流程中涉及的的裁剪和移植;(2)開(kāi)源播放器MPlayer的移植和播放測(cè)試;(3)用Qt實(shí)現(xiàn)對(duì)播放器的圖形界面的開(kāi)發(fā),并實(shí)現(xiàn)相應(yīng)的功能。1.3.2論文結(jié)構(gòu)本論文共分六章:論文的第一章,是緒論部分。主要是對(duì)課題的研究目的及意義,課題現(xiàn)狀以及作者所做的工作進(jìn)行簡(jiǎn)略的介紹;對(duì)嵌入式操作系統(tǒng)進(jìn)行梳理和介紹和以比較;介紹ARMfr系的基本發(fā)展和特性;對(duì)Qt進(jìn)行基本的介紹。第二章主要介紹了本系統(tǒng)的硬件平臺(tái)。首先是對(duì)系統(tǒng)的整體架構(gòu)進(jìn)行了介紹;對(duì)系統(tǒng)的硬件電路和功能模塊進(jìn)行了介紹。第三章主要是搭建嵌入式開(kāi)發(fā)平臺(tái)。介紹RedHat、VMwareStation及其相關(guān)的使用和技巧。第四章主要是詳細(xì)MPlayer

26、的編譯和移植工作,以及Qt程序的開(kāi)發(fā)和移植工作。第五章主要是實(shí)驗(yàn)結(jié)果和畢業(yè)設(shè)計(jì)過(guò)程中遇到的一些問(wèn)題。第六章是總結(jié)與展望,回顧了本次畢業(yè)設(shè)計(jì)及其中的不足之處。南京工程學(xué)院畢業(yè)設(shè)計(jì)說(shuō)明書(shū)(論文)第二章系統(tǒng)總體方案設(shè)計(jì)2.1系統(tǒng)框架概述根據(jù)嵌入式MP3媒體播放器系統(tǒng)的需求分析,本文選擇了基于A(yíng)RM9內(nèi)核的處理器的開(kāi)發(fā)板作為本系統(tǒng)的實(shí)現(xiàn)的平臺(tái), 下文將對(duì)其中硬件設(shè)備做介紹。 軟件平臺(tái)選擇嵌入式Linux操作系統(tǒng)。畢業(yè)設(shè)計(jì)中的開(kāi)發(fā)平臺(tái)是RedHatEnterpriseLinux6.3操作系統(tǒng),其是安裝在VMwareStation9.0虛擬化平臺(tái)中的,可以方便的與Windows操作系統(tǒng)進(jìn)行數(shù)據(jù)共享和傳輸。

27、為了搭建整個(gè)開(kāi)發(fā)環(huán)境,還需要交叉建立交叉編譯環(huán)境。播放器系統(tǒng)的整體結(jié)構(gòu)由下到上為:應(yīng)用層(Qt、MPlayer)、操作系統(tǒng)層(Linux)、驅(qū)動(dòng)層(音頻驅(qū)動(dòng)、液晶屏幕驅(qū)動(dòng)等)和物理層(ARM芯片以及外圍電路)。2.2開(kāi)發(fā)板硬件介紹本次畢業(yè)設(shè)計(jì)使用XC2440開(kāi)發(fā)板,如圖2.1所示:包括S3C2440處理器、NANDFlash、NORFlash、SDRAM串口、下載接口、音頻解碼芯片和接口、LCD和觸摸屏接口、時(shí)鐘電路、復(fù)位電路等。南京工程學(xué)院畢業(yè)設(shè)計(jì)說(shuō)明書(shū)(論文)一圖2.1XC2440開(kāi)發(fā)板2.2.1主要硬件及其參數(shù)CPU主頻為400MHz的三星S3C2440A內(nèi)存:64MBytesSDRAM

28、閃存:256MBytesNandflash+2MBytesNorflash板載復(fù)位電路板載電源管理芯片內(nèi)部RTC(Real-TimeClock,實(shí)時(shí)時(shí)鐘)功能180Pin管腳以1.27mm間距排針形式引出4.3寸TFTLCD,帶觸摸屏,分辨率480X2722.2.2接口資源1個(gè)100M以太網(wǎng)接口南京工程學(xué)院畢業(yè)設(shè)計(jì)說(shuō)明書(shū)(論文)1個(gè)RS232電平串口2個(gè)TTL電平串口1個(gè)USBHOST接口2個(gè)USBDEVICE接口1個(gè)LCD接口3個(gè)Camera接口1個(gè)microSD/TF卡接口2個(gè)音頻接口,uda1341音頻芯片,使用IIS和L3總線(xiàn),一路立體聲輸入,一路立體聲輸出1個(gè)溫度傳感器1個(gè)紅外接收管

29、2個(gè)電位器4個(gè)用戶(hù)LED4個(gè)用戶(hù)按鍵1個(gè)蜂鳴器1個(gè)JTAG接口1個(gè)mircoSD/TF卡接口板載EEPROM板載RTC供電電池2.2.3 NAND和NORFlash的相關(guān)介紹:“NAND這個(gè)名稱(chēng)表示其是由“與非”邏輯門(mén)電路構(gòu)成,而“NOR則表明其內(nèi)部有“或非”邏輯門(mén)電路構(gòu)成。從對(duì)數(shù)據(jù)傳輸速率來(lái)看,NANDg比NOR快很多, 因?yàn)镹AND!按頁(yè)操彳的而NO雙按字節(jié)操作的。NOR是和SRAMK樣的可隨機(jī)存儲(chǔ)的,也不需要驅(qū)動(dòng),因此,其受限于地址線(xiàn),地址就是有限的,所以容量普遍較??;NOR的優(yōu)點(diǎn)則表現(xiàn)在讀取速度快,而且程序可以直接在芯片內(nèi)部運(yùn)行,不需要再讀入SDRAMS了。再?gòu)膬r(jià)格上來(lái)看,NOR勺價(jià)格

30、更高。從實(shí)際應(yīng)用來(lái)看,NOR較多的用在工業(yè)領(lǐng)域, 特別是用于程序存儲(chǔ)等少量數(shù)據(jù)存儲(chǔ)的需求;NAN而多使用再在消費(fèi)領(lǐng)域中,適合大量數(shù)據(jù)存儲(chǔ)。南京工程學(xué)院畢業(yè)設(shè)計(jì)說(shuō)明書(shū)(論文)U-boot程序不支持從Nandflash啟動(dòng),但是S3c2440支持從Nandflash啟動(dòng)。開(kāi)發(fā)板加電后S3c2440將Nandflash的前4k(保存有U-boot的部分功能)中的內(nèi)容拷貝到SDRAM這就需要修改U-boot源碼,使得U-boot在得到執(zhí)行權(quán)后能夠?qū)⑵渥陨砜截惖介_(kāi)發(fā)板上SDRAM中,以便處理器能夠執(zhí)行U-boot。幸好這些工作已經(jīng)由開(kāi)發(fā)板廠(chǎng)商完成了,不需要用戶(hù)自行開(kāi)發(fā)。2.2.4 S3C2440的啟動(dòng)方

31、式說(shuō)明如果把S3C2440配置成從NANDFlash啟動(dòng)(開(kāi)發(fā)板啟動(dòng)開(kāi)關(guān)拔至NAND端)S3c2440的NAND空制器會(huì)自動(dòng)把NANDflash中的前4K代碼數(shù)據(jù)復(fù)制至內(nèi)部SRAM中(地址為0 x40000000),同時(shí)還把這塊SDRAM的地址映射為0 x00000000(CPU總是從0 x00000000地址開(kāi)始運(yùn)行程序)。如果將S3c2440配置成從NORFlash啟動(dòng)(開(kāi)發(fā)板啟動(dòng)開(kāi)關(guān)拔至NORS),0 x00000000就是NORFlash實(shí)際的起始地址,Norflash中的程序就從這里開(kāi)始運(yùn)行,不會(huì)涉及到數(shù)據(jù)拷貝和地址映射。2.3用于本設(shè)計(jì)MP3播放器的硬件架構(gòu)該MP3播放器系統(tǒng)總體框

32、圖如圖2.2所示:包才5基于A(yíng)RM價(jià)格的三星S3c2440處理器,NANDSDRAM#儲(chǔ)器、音頻處理模塊、LCD和觸摸屏接口、復(fù)位按鍵、J-link接口等。NORFLASHNANDFLASHSDRAMJIJinS3C2440(ARM9nun1、/f4 口RJ-45-液晶觸摸屏以卡取1接n音頻處理模塊圖2.2MP3播放器硬件框圖10南京工程學(xué)院畢業(yè)設(shè)計(jì)說(shuō)明書(shū)(論文)本方案的說(shuō)明:采用基于A(yíng)RMS3c2440的開(kāi)發(fā)板。XC2440開(kāi)發(fā)板采用ARM9系列芯片S3C2440作為核心芯片,搭配4.3英寸液晶觸摸屏,以及自帶音頻解碼芯片UDA1341,完全勝任MP3文件的解碼工作。NORFlash用來(lái)存放

33、著引導(dǎo)程序U-boot;NAND中除了放著U-boot還有系統(tǒng)內(nèi)核及文件系統(tǒng),以及歌曲文件;SDRAMW于存放著系統(tǒng)的運(yùn)行中產(chǎn)生的數(shù)據(jù);液晶觸摸屏可以讓用戶(hù)進(jìn)行操作,播放視頻時(shí)還可以看到視頻;系統(tǒng)采用嵌入式Linux系統(tǒng),Linux操作系統(tǒng)具有很多優(yōu)點(diǎn),如內(nèi)核可裁剪、高度的可移植性等,支持幾乎所有的主流芯片,并且還在不斷地被移植至新的芯片上。此外采用開(kāi)源Linux系統(tǒng),不需要像其它一些系統(tǒng)那樣需要繳納專(zhuān)利授權(quán)費(fèi)用。11南京工程學(xué)院畢業(yè)設(shè)計(jì)說(shuō)明書(shū)(論文)第三章嵌入式Linux的開(kāi)發(fā)流程3.1開(kāi)發(fā)環(huán)境的搭建概述3.1.1硬件平臺(tái)ARM開(kāi)發(fā)板,主機(jī),局域網(wǎng)。3.1.2軟件平臺(tái)(1)操作系統(tǒng)本次畢業(yè)設(shè)

34、計(jì)使用虛擬化平臺(tái)VMwareStation,并在其中建立虛擬機(jī),進(jìn)而在該虛擬機(jī)之中安裝RedHatEnterpriseLinux系統(tǒng)。(2)交叉編譯環(huán)境交叉編譯是指:在PC機(jī)上編譯,在目標(biāo)板上直接可以執(zhí)行,不需要重新在目標(biāo)平臺(tái)上面進(jìn)行編譯了。交叉編譯環(huán)境主要包括:目標(biāo)板操作系統(tǒng)、目標(biāo)板CPU系架構(gòu)、編譯器等。目標(biāo)板操作系統(tǒng):經(jīng)過(guò)裁剪的Linux系統(tǒng)。目標(biāo)板使用的CPU基于A(yíng)RM狄構(gòu)的ARM920t內(nèi)核。編譯器:gcc,arm-linux-gcc、makefile工具、庫(kù)函數(shù)等。3.主機(jī)和開(kāi)發(fā)板之間的通信接口用口:用用口控制板子。可用DNWW次件設(shè)置好要控制的串口、波特率。使用用口線(xiàn)也可以傳輸文

35、件至開(kāi)發(fā)板,但是速率較慢。USB下載線(xiàn):可以使用DNW軟件下載U-boot、系統(tǒng)內(nèi)核、文件系統(tǒng)鏡像文件到開(kāi)發(fā)板,傳輸速率較快。RJ-45以太網(wǎng)接口:設(shè)置好開(kāi)發(fā)板、PC網(wǎng)卡的IP地址后,可以用NFS掛載的方式來(lái)共享主機(jī)需要下載到開(kāi)發(fā)板上編譯好的代碼,也可以使用FTP、TFTP工具來(lái)傳輸文件,這樣速率非???,并且很方便使用。在配置好網(wǎng)絡(luò)后,就可以用Telnet客戶(hù)端控制開(kāi)發(fā)板,這樣就可以免去頻繁的切換目錄了。3.2安裝軟件平臺(tái)和搭建開(kāi)發(fā)環(huán)境的步驟12南京工程學(xué)院畢業(yè)設(shè)計(jì)說(shuō)明書(shū)(論文)3.2.1虛擬化平臺(tái)的介紹與安裝畢業(yè)設(shè)計(jì)中的開(kāi)發(fā)平臺(tái)是Linux操作系統(tǒng),其是安裝在VMwareStation9.0

36、這個(gè)虛擬化平臺(tái)中的,可以方便的與Windows操作系統(tǒng)進(jìn)行數(shù)據(jù)共享和傳輸。目前,Windows操作系統(tǒng)中的很多常用軟件并不支持在Linux平臺(tái)上運(yùn)行,如果直接安裝Linux,那么在純粹的Linux環(huán)境中,將會(huì)有很多不便。VMwareWorkstation是一款功能強(qiáng)大的提供桌面虛擬化功能的軟件,使用戶(hù)可在單一的桌面上同時(shí)運(yùn)行多個(gè)操作系統(tǒng),是進(jìn)行開(kāi)發(fā)測(cè)試部署新的應(yīng)用、服務(wù)、程序等的最佳解決方案。 可在一臺(tái)真實(shí)機(jī)器上模擬完整的網(wǎng)絡(luò)環(huán)境, 其更佳的靈活性與先進(jìn)的虛擬化技術(shù)勝過(guò)了市面上其它廠(chǎng)商的的虛擬化軟平臺(tái)。 利用該軟件, 可以建立許多虛擬機(jī)??梢哉J(rèn)為虛擬機(jī)是運(yùn)行在同主機(jī)操作系統(tǒng)平行的底層硬件環(huán)境中

37、的。快照功能介紹和使用:VMware快照功能是虛擬機(jī)磁盤(pán)文件(VMDK在某個(gè)時(shí)間點(diǎn)的復(fù)本。萬(wàn)一某些東西出錯(cuò)了,你可以通過(guò)使用恢復(fù)到快照來(lái)保持磁盤(pán)文件系統(tǒng)和系統(tǒng)存儲(chǔ)。如果你創(chuàng)建了多于一個(gè)的虛擬機(jī)快照,那么,你將有多個(gè)還原點(diǎn)可以用于恢復(fù)。簡(jiǎn)單說(shuō)來(lái),其實(shí)VMware快照就是將當(dāng)前VMware虛擬環(huán)境里的系統(tǒng)所有環(huán)境做個(gè)備份(即照個(gè)相),讓我們虛擬機(jī)里的系統(tǒng)出問(wèn)題之后可以馬上恢復(fù)。這個(gè)功能就有點(diǎn)類(lèi)似于我們系統(tǒng)備份功能!但是VMware的快照比系統(tǒng)備份功能更強(qiáng)一些,如硬件及一些設(shè)置都可以保存下來(lái)。在開(kāi)發(fā)環(huán)境中,使用的是root賬號(hào),常常進(jìn)行一些比較危險(xiǎn)的操作,為了避免誤操作而是得系統(tǒng)受損壞, 或者要撤銷(xiāo)

38、之前所做的重大更改等。 比如為了安裝不同版本的多個(gè)交叉編譯器,就可以使用該功能。在本次畢業(yè)設(shè)計(jì)中,就使用了幾次快照進(jìn)行還原。建立的快照如圖3.1所示。13南京工程學(xué)院畢業(yè)設(shè)計(jì)說(shuō)明書(shū)(論文)RedHatEnterpriseLinux6X86-SnapshotManager剛安裝用好網(wǎng)絡(luò)、安裝Ep-urMpUyer交叉煙MPhyerqtGUI+口RMRM下的mplayEfmplayEf圖3.1本次畢業(yè)設(shè)計(jì)中建立的快照3.2.2RedHat介紹及其在VMware中的安裝Linux是一類(lèi)Unix計(jì)算機(jī)操作系統(tǒng)的統(tǒng)稱(chēng)。Linux操作系統(tǒng)內(nèi)核的名字也是“Linux。Linux操作系統(tǒng)同時(shí)也是自由軟件運(yùn)動(dòng)中

39、和開(kāi)放源代碼社區(qū)發(fā)展中最著名的例子。嚴(yán)格地來(lái)講,Linux這個(gè)詞本身只表示Linux內(nèi)核,但在實(shí)際上人們已經(jīng)習(xí)慣了用Linux來(lái)形容整個(gè)基于Linux內(nèi)核,并且使用GNU項(xiàng)目中的各種工具和數(shù)據(jù)庫(kù)的操作系統(tǒng)。RedHat公司創(chuàng)建于1993年,是世界上最資深的Linux和開(kāi)放源代碼提供商,同時(shí)由RedHat公司發(fā)行的RedHatLinux系統(tǒng)也是最獲得市場(chǎng)認(rèn)可的Linux發(fā)行版本。RedHatLinux是商業(yè)上運(yùn)作最成功的一個(gè)Linux發(fā)行套件,普及程度很高。RedHatLinux自9.0之后不再發(fā)布個(gè)人用戶(hù)版,從此專(zhuān)注于企業(yè)級(jí)用戶(hù):2004年4月30日,RedHat公司正式彳止對(duì)RedHatLi

40、nux9.0版本的支持,標(biāo)志著RedHatLinux的正式完結(jié)。原本的桌面版RedHatLinux發(fā)行包則與來(lái)自民間的Fedora開(kāi)源社區(qū)合并,成為FedoraCore發(fā)行版本。RedHat公司不再開(kāi)發(fā)桌面版的Linux發(fā)行包,而將全部力量集中在企業(yè)版的開(kāi)發(fā)上,也就是RedHatEnterpriseLinux(如圖3.2所示)版本,但仍然公開(kāi)源碼。融dhdh抗系統(tǒng)交叉編譯之前的環(huán)境編譯可以故音樂(lè)flayerflayer14南京工程學(xué)院畢業(yè)設(shè)計(jì)說(shuō)明書(shū)(論文)REDHATENTERPRISELINUXREDHATENTERPRISELINUX4 46 6CopyrightCopyright心200

41、1-2010RedHatInc.andothen.Allrignureserved.2001-2010RedHatInc.andothen.Allrignureserved.圖3.2RedHatEnterpriseLinux6安裝界面截圖2005年10月RedHatEnterpriseLinux4.0發(fā)布。Fedora是Redhat桌面版本的延續(xù),具是與開(kāi)源社區(qū)合作的。另一個(gè)Linux發(fā)行版本CentOS,也是CentOS社區(qū)完全使用RedHat原代碼創(chuàng)新編譯,僅僅更改LOGO?極少部分。2007年3月,RedHatEnterpriseLinux5.0發(fā)布。2011年11月10日RedHatE

42、nterpriseLinux6.0正式版發(fā)布。目前最新版本已經(jīng)到6.4版本。本次畢業(yè)設(shè)計(jì)使用RedHatEnterpriseLinux6.3版本。注意點(diǎn):在安裝時(shí)需要選擇“桌面”,這樣開(kāi)機(jī)就有GUI界面了,方便使用。如圖3.3所示。RedHatEnterpriseLinux的詳細(xì)的安裝過(guò)程就不在贅述了。RedHatEnterpriseLinux的融認(rèn)安裝是基本服務(wù)據(jù)安裝.您現(xiàn)在可以隨意選擇不同的軟件組心O基本服務(wù)耦O數(shù)據(jù)庫(kù)服務(wù)梆O萬(wàn)維網(wǎng)服務(wù)梆O身價(jià)管理服務(wù)器O虛擬化主機(jī)圖3.3選擇“桌面”選項(xiàng)15南京工程學(xué)院畢業(yè)設(shè)計(jì)說(shuō)明書(shū)(論文)RedHatEnterpriseLinux系統(tǒng)有一個(gè)優(yōu)點(diǎn),就是方

43、便安裝軟件:將安裝光盤(pán)或者鏡像文件掛載為本地的“軟件源”,這樣就以直接搜索一些常用的軟件包,搜索到之后可以直接安裝,不需要再進(jìn)行下載了。如果這些包需要再安裝一些存在依賴(lài)關(guān)系的軟件,就自動(dòng)安裝了。這是比Ubuntu等Linux發(fā)行版本的一個(gè)優(yōu)勢(shì),至少可以節(jié)約開(kāi)發(fā)人員的時(shí)間。本次畢業(yè)設(shè)中,有幾次都在編譯時(shí)報(bào)錯(cuò),并提示缺少如ncurseslibraries、autoconf、g+等軟件,使用這個(gè)方法可以快速安裝這些軟件。注意,必須要將操作系統(tǒng)光盤(pán)鏡像文件改名為“RedHatEnterpriseLinux6.3”掛載為“軟件源”,這樣才能成功。3.2.3安裝VMwareTools點(diǎn)擊“VM-Insta

44、llVMwareTools”,會(huì)自動(dòng)下載VmwareTools軟件(當(dāng)然前提是正確配置虛擬機(jī)的網(wǎng)絡(luò),在此就不進(jìn)行詳細(xì)的介紹了),作者使用的版本是VMwareTools-923-1031360.tar.gzVMwareTools是VMware虛擬機(jī)中自帶的一種增強(qiáng)工具, 是VMware提供的增強(qiáng)虛擬顯卡和硬盤(pán)性能、以及同步虛擬機(jī)與主機(jī)時(shí)鐘的驅(qū)動(dòng)程序。只有在VMware虛擬機(jī)中安裝好了VMwareTools,才能實(shí)現(xiàn)主機(jī)與虛擬機(jī)之間的文件共享,同時(shí)可支持自由拖拽的功能,鼠標(biāo)也可在虛擬機(jī)與主機(jī)之前自由移動(dòng)(不用再按Ctrl+Alt),且虛擬機(jī)屏幕也可實(shí)現(xiàn)全屏化。有時(shí)需要將Windows下面的文件和L

45、inux共享起來(lái),這樣就可以方便的在Linux下面編譯運(yùn)行代碼,然后把編譯后的數(shù)據(jù)通過(guò)Windows下的工具傳到開(kāi)發(fā)板里面。依次點(diǎn)擊VMwareSetting-Option-SharedFolders,選擇“AlwaysEnabled”,并添加準(zhǔn)備共享給虛擬機(jī)的文件夾。共享文件后,就可以在RedHat的/mnt/hgfs/目錄下看到共享的文件。下面講述如何詳細(xì)裝VMwareTools的過(guò)程:(1)點(diǎn)擊菜單“VMT選項(xiàng)卡,選擇Installvmwaretools這個(gè)時(shí)候會(huì)出來(lái)一個(gè)可以安裝的.gz格式的壓縮文件包(2)cd/media/VMwareTools/就會(huì)看見(jiàn)這個(gè)壓縮包16南京工程學(xué)院畢業(yè)

46、設(shè)計(jì)說(shuō)明書(shū)(論文)tar-zxvfVMwareTools-9.2.3-1031360.tar.gz/tmp/將這個(gè)壓縮包解壓到/tmp目錄下面(4)cd/tmp/vmware-tools-distrib/5 5)./vmware-install.pl這樣就進(jìn)入安裝vmware-tools的界面了,在安裝的過(guò)程中,會(huì)出現(xiàn)許多可選功能讓用戶(hù)進(jìn)行選擇,直接接回車(chē)鍵就可以了。(6)安裝完VMTool之后,再進(jìn)入/mnt/hgfs/目錄下,就可以看到已經(jīng)共享的文件了。6 .2.4安裝交叉編譯器本次畢業(yè)設(shè)計(jì)所使用的交叉編譯器版本是arm-linux-gcc-4.1.2,其源碼包為:arm920t-eabi

47、-4.1.2.tar.gz。安裝和驗(yàn)證的步驟如下:(1)使用解壓命令:tarzxvfarm920t-eabi-4.1.2.tar.gz-C/opt,將該文件解壓到/opt下;(2)接著修改/etc目錄下了profile文件來(lái)設(shè)置環(huán)境變量:vi/etc/profile;然后向該文件中最后面加入一行:exportPATH=/opt/toolchains/arm920t-eabi/bin:$PATH;(3)隨后用保存退出。執(zhí)行命令source/etc/profile,這樣就不需要重新啟動(dòng)計(jì)算機(jī)就使得上述更改立即生效了。(4)在控制臺(tái)輸入“arm-linux-gcc-v”,出現(xiàn)圖3.4中的信息, 最后

48、一行信息表明安裝成功。17南京工程學(xué)院畢業(yè)設(shè)計(jì)說(shuō)明書(shū)(論文)rootlocalhost:/文件舊編輯(日查看國(guó))搜索終端(工)幫助(日)rootlocalhost/#arm-linux-gcc-vUsingbuilt-inspecs.Taqet:arm-angstrom-linux-gnueabiConfiguredwith:/data3/builds/openmoko/tmp/work/armv4t-angstrom-linux-gnueabi/gcc-cross-4.112-r4/gcc-4.1.2/configure-build=i686-linux-host=i686-linux-1a

49、rget=arm-angstrom-Linux-gnueabi-prefix=/opt/toolchains/arm920t-eabi-exec_prefix=/opt/toolchains/arm920t-eabi-bindir=/opt/toolchains/arin920t-eabi/bLn-sbindir=/opt/toolchains/ariii920t-eabi/bin-libexecdir=/opt/toolchains/arm920t-eabi/libexec-datadir=/opt/toolchains/arm92et*eabi/share-sysconfdir=/opt/

50、toolchains/arm920t-eabi/etc-sharedstatedir=/opt/toolchains/arm920t-eabi/com-localstatedir=/opt/toolchains/arm920t-eabi/var*-libdir=/gpt八oolchains/aringNOt-edbi/lib-included!r=/opt/toolchains/arm920t-eabi/include-oldincludedir=/opt/toolchains/arm920t-eabi/include-infodir=/opt/toolchains/arm920t-eabi/

51、share/info-Dandir=/opt/tQolchains/arni92Gt-eabi/share/iTian-with-gnu-ld-enableshared-enable-target-optspace-enable-languages=c,c+-enable-threads=posix-enable*niultil.ib-enable-c99-enablelong-long-enableSymvers=gnu-enable-libstdcxx-pch-programprefix=arm-angstrom-linux-gnueabi-with-local-prefix=/opt/t

52、oolchains/arm92St-eabi/arm-angstrom-Linux-gnueabi-with-gxx-include-dir=/opt/toolchHins/ant92t-edbi/a(n-Hngstom-linux-gnueaibi/includE/c+-disable-multilib-enable-_cxaatexit-with-float=SOft-di$able-lib$p-disable-libunwind-exceptions-WLth-mpfr=/data3/builds/openmoko/tmp/staging/i686-linuxThreadmodel:po

53、sixgccversion4,1,2root(?localhost/#rootlocalhost/#rootlocalho$t/#圖3.4查看安裝的arm-linux-gcc相關(guān)信息3.3Bootloader和U-boot的介紹啟動(dòng)一個(gè)計(jì)算機(jī)系統(tǒng)的第一步操作是加電,隨后引導(dǎo)程序運(yùn)行,讀取硬盤(pán)上的內(nèi)核鏡像進(jìn)而載入RAM然后才是啟動(dòng)操作系統(tǒng)。Windows系統(tǒng)中的引導(dǎo)程序就是稱(chēng)為BIOS的程序,而在Linux中的引導(dǎo)程序則稱(chēng)為Bootloader。通過(guò)這段程序,可以初始化硬件設(shè)備。Linux下的的開(kāi)源Bootloader有GRUBLILO、Loadlin、RedBoot、U-Boot、BLOBLi

54、nuxBIOS、Etherboot和ROLOo存儲(chǔ)介質(zhì)如磁盤(pán)、NORFlash或NANDFlash,它們的物理地址起點(diǎn)開(kāi)始放置著引導(dǎo)程序,即Bootloader程序。18南京工程學(xué)院畢業(yè)設(shè)計(jì)說(shuō)明書(shū)(論文)U-Boot是一個(gè)通用的引導(dǎo)程序(UniversalBootLoader),其通用性主要體現(xiàn)在不僅支持對(duì)多種嵌入式操作系統(tǒng)的引導(dǎo),包括Linux、QNXLynxOS、NetBSDVxWorks等;而且對(duì)多個(gè)體系架構(gòu)的嵌入式處理器提供支持,如ARMPowerPCMIPS和XSCALE。U-Boot是目前ARM平臺(tái)使用最多、應(yīng)用最廣泛Bootloader了。Bootloader(即U-boot)的

55、功能:設(shè)置并初始化硬件如CPURAM、中斷、時(shí)鐘、串口;引導(dǎo)操作系統(tǒng);下載程序、燒寫(xiě)系統(tǒng)、開(kāi)機(jī)LOGO、驅(qū)動(dòng)管理和閃存分區(qū)管理等功能。3.3.1燒寫(xiě)U-boot剛拿到開(kāi)發(fā)板時(shí),由于對(duì)燒寫(xiě)不夠熟悉,操作錯(cuò)誤,令NAN吩區(qū)中的數(shù)據(jù)受破壞, 導(dǎo)致無(wú)法通過(guò)NANDMU-boot啟動(dòng)。 而XC2440開(kāi)發(fā)板的NORFlash中默認(rèn)沒(méi)有U-boot,所以需要重新燒寫(xiě)U-boot這一步驟。19燒寫(xiě)硬件工具:J-Link仿真器(如圖3.5所示)南京工程學(xué)院畢業(yè)設(shè)計(jì)說(shuō)明書(shū)(論文)燒寫(xiě)軟件工具:Setup_JLinkARM_V408i(安裝好之后,桌面出現(xiàn)多個(gè)快捷方式,點(diǎn)擊一個(gè)名為J-FlashARM的快捷方式)

56、。燒寫(xiě)流程:連接線(xiàn)路;由于J-Link仿真器只能燒寫(xiě)NORFlash(J-TAG仿真器才是既能燒寫(xiě)NORFlash,又能燒寫(xiě)NANDFlash的,但是其價(jià)格更貴),所以先向NO燒U-boot,再?gòu)腘OR0動(dòng)U-boot,進(jìn)而向NANDO寫(xiě)U-boot。燒寫(xiě)關(guān)鍵步驟的說(shuō)明:打開(kāi)J-FlashARM“Option”菜單“ProjectSetting”,進(jìn)入工程配置界面。有一項(xiàng)對(duì)CPU的配置,如圖3.6所示,其中的“Core”選項(xiàng)選擇ARM9;“CheckcoreID”中填寫(xiě)“00324090”,該數(shù)字表示的是S3c2440這一CPU的ID號(hào);“UsetargetRAMAddr”表示SDRAM的起始

57、地址為40000000;“Usefollowinginitsequence”表示將要設(shè)置SDRAM的初始化序列,該參數(shù)用來(lái)設(shè)置一些寄存器,如看門(mén)狗定時(shí)器控制寄存器、中斷屏蔽寄存器、CPU時(shí)鐘分頻控制寄存器等。Projectsettings77CheckcoreIDCheckcoreIDID|0032409DID|0032409D*UsetargetRAM(faster*UsetargetRAM(fasterUsefollowinginitsequenceUsefollowinginitsequence:圖3.6對(duì)CPU的配置20tt|Actiontt|ActionValueOValueOVak

58、ielVakiel0 0ResetReset0 00m50m51 1DisableMMUDisableMMU2 2Write32bitWrite32bit0 x530000000 x530000000 x000000000 x000000003 3Write32bitWrite32bitOMAOOOOOBOMAOOOOOBOxFFFFFFFFOxFFFFFFFF4 4Write32bitWrite32bitOx4AD0001COx4AD0001CM0007FFFM0007FFF5 5Write32bitWrite32bit0 x460000000 x460000000 x2210 x2212D

59、1102D1106 6Write32Write32Ox4EOOOOOOOx4EOOOOOODxOOOOOF40DxOOOOOF407Wnte32HtWnte32Ht0 x460000030 x46000003Ox00002E50Ox00002E50g gWrite32bitWrite32bitOx4GOOOOOCOx4GOOOOOCOx00002E50Ox00002E509 9Write32bitWrite32bit0 x400000100 x40000010阿0000定5 5口1010Write32bitWrite32bit0 x460000140 x46000014000002E50000

60、002E50ResetandhalttaqjetResetandhalttaqjetProductionProductionAddr40000000|4KBAddr40000000|4KB南京工程學(xué)院畢業(yè)設(shè)計(jì)說(shuō)明書(shū)(論文)設(shè)置好相關(guān)參數(shù)之后,在“File”菜單中,選擇“Operf,打開(kāi)要燒寫(xiě)的鏡像文件,這里我們燒寫(xiě)U-boot.bin文件。目的地為NORFlash。最終出現(xiàn)如圖3.7的提示信息,表明燒寫(xiě)成功。DatafileopenedsuccessfullyDatafileopenedsuccessfully(248060byt-es(248060byt-es11rMig%CRC1rMig%CRC=

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論