




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、實驗二嵌入式Linux系統內核的配置、編譯和燒寫實驗目的掌握交叉編譯的基本概念;掌握配置和編譯嵌入式Linux操作系統內核的方法;掌握嵌入式系統的基本架構。實驗環境裝有Windows系統的計算機;計算機上裝有Linux虛擬機軟件;3)嵌入式系統實驗箱及相關軟硬件(各種線纜、交叉編譯工具鏈等等)。預備知識嵌入式Linux內核的配置和裁剪方法;交叉編譯的基本概念及編譯嵌入式Linux內核的方法;嵌入式系統的基本架構。實驗內容和步驟4.1內核的配置和編譯配置內核的MMC支持由于建立交叉編譯器的過程很復雜,且涉及匯編等復雜的指令,在這里我們提供一個制作好的編譯器。建立好交叉編譯器之后,我們需要完成內核
2、的編譯,首先我們要有一個完整的Linux內核源文件包,目前流行的源代碼版本有Linux2.4和Linux2.6內核,我們使用的是Linux2.6內核;實驗步驟:以root用戶登錄Linux虛擬機,建立一個自己的工作路徑(如用命令“mkdir-p/home/user/build”建立工作路徑,以下均采用工作路徑/home/user/build),然后將“cross-3.32tar.bz2、dma-linux-2.6.9.tar.gz、dma-rootfs.tar.gz”拷貝到工作路徑中(利用Windows與虛擬機Linux之間的共享目錄作為中轉),并進入工作目錄;解壓cross-3.3.2.ta
3、r.bz2到當前路徑:“tar-jxvfcross-3.3.2.tar.bz2”;roQt(aiocalhostdma27DI#Isbakupdmalinux2.6.9.tar.gzcross-3.3.2.tar.bz2dma-rootfs-tar.gzdma-blob-xscale.tar.gzroqt10calhostdma2701#七日匕-jxvf7cross-3.3.2.tar.bz23解壓完成后,把剛剛解壓后在當前路徑下生成的“3.3.2”文件夾移動至“/usr/local/arm/”路徑下,如果在“/usr/local/”目錄下沒有“arm”文件夾,用戶創建即可;解壓“dma-li
4、nux-2.6.9.tar.gz”到當前路徑下:tar-zxvfdma-linux-2.6.9.tar.gz解壓完成后,在當前目錄下生成“linux-2.6.9”文件夾。配置內核的MMC支持:進入內核源代碼所在目錄,即“linux-2.6.9”,輸入“makemenuconfig”后回車,彈出如下窗口:SBsupportroriIingsupportcssupporiecuritvoptionsHelp*forSearch.Legend:*buiIt-i2CsupportIhacking一一一rvptographicoptoadanAlternateConfigurationFileJ“MMC
5、support”前出現“*”,以同樣方式選擇出現的幾6加忝加完畢人口Makefile#行G.列徃找替換剪也VitiJ粘貼Iranll-FiLNIJX:/Jjcrme/27J/kcmrl/lithik-2.5J?-SIkII-KunsoleLinuxKerneIv2B6-9-270SL1Configuretion會站編輯査疳書簽設矍郴助ArrowkeysnavigatethemenuBselectssubmenusBHighlightedlettersarehiPressingincludesPexcludestmodularizesfealures.PressLoexitHelp,forSea
6、rch.Legends*built-inexcluded60modulemoduIccapiabtiVERSION二2PATCHLEVEL二6SUBLEVEL=9EXTRAVERSION=-270SL1NAME二EDK亍按兩次“Esc”鍵,提示你是否保存,選擇“Yes”,至此內核MMCDv新程打幵朋存3打印typicaltargetsexecutemakehelplocatedin./READMEfilearetargetedonlytothedeveloper,donoDOCUMENTATIONToseealistofMoreinfocanbeCominentsinthisexpecttol
7、earnhowtobuildthekernelreadingthisfilek0如下兩行:ntEnteringdirectory.MAARCH=arm+=-no-print-directoryCROSS_CMpiLE=/usr/lofial/arm/3b3J2/b(i1/arm_linuxneedtodoalittlethinktogettheorderingright.Mostimportantlysub-Makefilesshouldonlyevermodifyfilesi勺戰消hh:debuggingAMblockdevicedrivernteIPX*255MilLinnediaGard
8、InterfacesupportnleIPX.27XMilLimediaCardJnlerfacesupportMake-/lvme/27(J/kcl/linus-2.6fiJe已誌迪丿-edil改文件“廡單即)編輯査看(y揑索工具文檔幫助(H)7/lKj/27(/kcmcl/limix-2.6.fi/MakcfiIc(已悩改)-gcdil文件(E;編輯査看(里搜索(旦;r.Ji-T;文檔(D)幫助(H;DvS勺爐臨冒內B:新建打開保存eMakefile7x打印戰消W復制粘貼査找替換VERSION=2PATCHLEVEL=6SUBLEVEL二9EXTRAVERSION=-270SL1NAME二
9、EDKARCH=armCROSS_COMPILE=/usr/local/arm/3.3.2/bin/arm-linux-DOCUMENTATION*ToseealistoftypicaltargetsexecutemakehelpMoreinfocanbelo|catedin./READMECommentsinthisfilearetargetedonlytothedeveloper5don(存_譯內核:輸入后“/compleidmai270”后回車,丿女口7I:,7I:功時的現象是:-no-print-directoryLZJ.tmpvmlKSY-M.tmpkallsyms2.S:AS.li
10、mpkallsyms2.oLDvmlinuSYSMAPSystem.mapSYSMAP.tmpSystem.mapOBJCOPYarch/arm/boot/ImageKernel:arch/arm/boo.t/linageisreadyASarch/arm/boot/compressed/head.oGZIParch/arm/boot/compressed/piggy.gzASarch/arm/boot/compressed/piggy-0CCarch/arm/boot./compressed/misc.oASarch/arm/boot/compressed/head-scale.oLDarc
11、h/arm/boot/compressed/vralinuxOBJCOPYarch/arm/boot/zlmageKernel:arch/arm/boot/zlmageisreadyroot(3Localhost.linux-2.6.9#odoalittlethin!生成的內核映像文件“zlmage”保存在“./arch/arm/boot/”目錄下,至此內核的配置和編譯過程結束。4.2根文件系統的建立1)在嵌入式系統中,大多數文件系統是從存儲器中直接被加載的,但有時受到ROM或FLASH大小的限制,文件系統要經過壓縮放在存儲器中,這時就需要在RAM中分配一塊區域將文件系統解壓后,再將文件系統掛
12、載到系統中,這種技術被稱為“RAMDisk”,也稱“RAM盤”技術;內核可以從存儲器中導出RAM盤鏡像,作為根文件系統來使用;在啟動時,內核首先檢查引導選項是否存在一個initrd,如果有,內核就從指定的存儲介質中獲得壓縮或未壓縮的文件系統鏡像,并導入到RAM盤中,將其掛載作為根文件系統;2)下面主要介紹幾種比較常用的文件系統:ROMfs文件系統是使用最多的文件系統,它是一種簡單、緊湊和只讀的文件系統;ROMfs順序存儲文件數據,并可以在uClinux支持的存儲設備上直接運行文件系統,這樣可以在系統運行時節省許多RAM空間。Cramfs文件系統是針對Linux內核2.4之后的版本所設計的一種新
13、型文件系統,也是壓縮和只讀格式的,其主要優點是將文件數據以壓縮形式存儲,在需要運行時進行解壓縮;由于它存儲的文件形式是壓縮的格式,所以文件系統不能直接在Flash上運行;雖然這樣可以節約很多Flash存儲空間,但是文件系統運行需要將大量的數據拷貝到RAM中,消耗了RAM空間。JFFS2日志文件系統是專門針對閃存的文件系統,除了有日志功能,還有負載平衡、垃圾收集等,并且源碼公開。YAFFS2(YetAnotherFlashFileSystem)文件系統是一種和JFFSx類似的閃存文件系統,和JFFS2相比它減少了一些功能,所以速度更快,而且對內存的占用比較小;YAFFS自帶NAND芯片驅動,并且
14、為嵌入式系統提供了直接訪問文件系統的API。除了上面介紹的文件系統之夕卜,還有RAMDISK(一種基于內存的文件系統)、TrueFFS等等;3)Linux內核在系統啟動時的最后操作之一就是加載根文件系統,根文件系統中存放了嵌入式系統使用的所有應用程序、庫及一些需要用到的服務;由于Linux受到UNIX系統發展的影響,Linux文件系統的組織和UNIX相同;根文件系統中每一個頂級目錄都有特定的用途和目的,有些目錄是為了多用戶模式服務,在大多數沒有用戶和管理員的嵌入式Linux中,建立一個根文件系統可以不考慮大部分在多用戶下需要注意的問題,下表列出了根文件系統頂層目錄大致結構:目錄內容bin基本命
15、令的可執行文件boot內核及啟動需要用到的一些文件dev設備文件etc系統配置文件,包括啟動文件home用戶目錄lib基本庫,例如c庫和內核模塊mnt臨時映射文件系統的映射點(映射目標)proc內核及進程信息的虛擬文件系統rootroot用戶目錄sbin用于系統管理的可執行程序tmp臨時文件,在SDRAM中建立usr該目錄的二級目錄包含大部分對大多數用戶很有用的應用程序和文檔4)實驗步驟:解壓“dma-rootfs.tar.gz”到當前路徑下:“tar-zxvfdma-rootfs.tar.gz”;制作根文件系統f1.jffs2:拷貝Windows目錄mkfs下的文件mkfs.jffs2到虛擬
16、機相應目錄之下(即與“dma-rootfs.tar.gz”在同一目錄下),之后運行如下命令生成根文件系統:./mkfs.jffs2-r./rootfs-of1.jffs2-e0 x40000-pad=0 x01000000至此,制作根文件系統完成。4.3準備虛擬端口GivelO實驗步驟:1)在Windows系統下,進入“GivelOlnstaller”目錄中,雙擊“GivelOlnstaller.exe”啟動“GiveIOInstaller”程序,顯示如下界面:2)點擊“InstallService”按鈕,啟動GiveIO服務,顯示界面為:保留此窗口(即讓此程序運行),GivelO虛擬端口準備
17、完畢。4.4燒寫BLOB實驗步驟:1)拷貝光盤上的“JFIash_27x”文件夾到計算機,如下圖所示:丈件fE訴輯牴,亙音I也Rfei工旦I。幫貼但i退-J搜索文f半夾地址(珂IS)FjJFla曲口丄玄件和玄件夾任務盒型重命名這牛文件申移動這于文件復制遠亍立件將這亍文件發布到Web色以電子郵件電式發送此文件刪除遠亍立件2)點擊開始I程序附件令提示JFlash目錄檔然后輸入“j名稱憾201201201201201201201201201201201201201201201201201201大小類型斗KE;P5pi匚已SimuldtionR.4KE;P5pi匚巴SimulationR.4KE:RS
18、piceSimulationR.4KE;PSpiceSimulationR.4KE:P5pi匚已SimulationR.斗KE;P5piceSimuldtionR.斗KE;P5pi匚eSimuldtionR.4KE;P5pi匚巴SimuldtionR.,4KE;PSpiceSimulationR.2KE:安裝信息1KE:配置設置3KB系統文件47KE:VinR.ARZIP,壓縮80KE:應用程序3Flash_8810_2_rdatgFlash_8811丿空包datEjFlash_8812j_16.datFla5h_8812L2_2.datFlash_8813_J32;datSFlash_881
19、4_2_3?;datFlash_8815_l_16.datSFlash_8815_j2;datgFlash_8816_2_rdatJ;giveio.inf_qiveio.INI0GIVEIO.5Y5命令行終端,并進入JFIashmm.exeshMM.exepxa270blob”(注意:hh35KB.WlnRARZIP壓縮!Acrobat7.0.卄吉丹址Source.zip35KBWinRA不要按“Enter”鍵;2blOb文件應首先從tftp-download目錄遜eIy我的電腦、1JFlaSh_27x目錄下,或者輸入后先下拷貝至路徑則無需拷貝):在命上給出blob文件所在的完整文件1111F
20、:cdJFlash_27xF:JFla5h_27xJFlasiim.exebulbcxblob3)把燒寫數據線插入板子上的JTAG頭,確保硬件連接正常后,撥動電源開關上電,輸入“Enter”鍵,開始燒寫:F:XJFlash_27xJFlashmn.exebulbcxblobJFLASHUersion5.01.007COPYRIGHT2000一2063IntelCovpovationPXA2?xMainstone1.00.002PLfiTFOnHSELECTION:Ppocessor=DevelopmentSysten=DataUeision=PXA27xrevision?Foundflasht
21、ype:28F128J3AErasingblockataddress0Startin(programming4)燒寫UwzLn日DUFFEnprotficimningmode囂完出燒功的提如口Erasingblockataddress0StartingprogrammingUsingBUFFERprograminingmode.Writingflashathexaddress11640,99.81ZdonePiogiamningdoneStartingUerifyUeriryincfflashatlicxti.ddress1174,90.09xdoneUerificationsuccessfu
22、l?至此,燒寫blob完成。4.5燒寫文件系統實驗步驟:1)把前面編譯好的內核和制作好的文件系統f1.jffs2、zlmage拷貝到Windows下的目錄“tftp-download”之中;之前請記錄PC機原來所使用的IP地址和子網掩碼,本實驗完成之后,要求按原樣設置回去,實驗結束時老師要檢查!另外,VMware的兩個網絡實驗結束時,也要求重新啟用!),并用交叉網線將PC與開發板連接起來,IP地址:00,子網掩碼:;3)進入“CiscoTFTPServer”目錄,雙擊“TFTPServer.exe”,運行該服務器;4)置,其中最重要的是設置服務器的根目錄,顯然該目錄應設置為“tftp-down
23、load”(注意是完整路徑,可通過“瀏覽”按鈕選擇);5)板子重新上電,會看到如下所示界面,在BLOB啟動過程,按“Enter”或者“Space”鍵,進入BLOB命令終端;ConsideryourselfBLOBed1welcometoredistributeiGNUGPLfordetails.done“blobinitethernet”啟動BLOB的以太網支持,命令執行后,可看到網口的LED開始閃爍,表示網絡初始化成功;8)“blobsetips00”配置TFTPServer的IP地址為00,和剛才配置的PC機的IP地址要相同;9)“blobsetipc01”配置TFTPClient的IP地
24、址為01,這就是配置板子的IP地址;blobmmtips192.1S8.10QSetIP七。19.2.168.IDOblobmetipc192.168.0.ID1SetIPto192.168,.101blob10)“blobtftpf1.jffs2”通過TFTP服務下載文件系統f1.jffs2到內存;blobtftpf1.jffs2TFTPingf1.jffs2*,:.OK.received3277blQcks(16777216bytes)t/ftp_cmd:fileTfl.jffs2Tloadedviatftpto訊d.且匚Ka100Q.blob11)“blobfwriteOxalOOOOO
25、O0 x2800000 x1000000”燒寫文件系統到Flash;blobfwriteDxalO00000 x2800000 x1000000Erasing64blocksatOxD0280idoneFlashingDkOIDOODOObytesatDxO028000:diieblob至此文件系統f1.jffs2燒寫完成。4.6燒寫內核實驗步驟(緊接著前面的實驗,因此blob已經啟動,且網絡已經初始化):1)“blobtftpzlmage”通過TFTP服務下載zlmage文件到內存;blobblobtftpzlmageTFTPingzlmage*.QE.received2484blo.cks(1270828byt.es)tft.p_cmd:file7zlmage.7loadedviatftptoaddressOalO0002)“blobfwrite0 xa10000000 x800000 x200000”燒寫zImage到Flash;blobfwriteDxalD00000080000 x200000Erasing8blocksat0 x00080000:doneFlashing
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 軟件設計師考試知識點梳理試題及答案
- 突破難關的2025年軟件設計師考試試題答案
- 網絡工程師工作環境了解試題及答案
- 西方政治制度與全球治理體系的關系試題及答案
- 公共政策中的公平與效率辯證關系試題及答案
- 網絡連接的優化策略試題及答案
- 探索西方政治制度中的現代挑戰試題及答案
- 醫療器械國產化替代進程中的國際市場拓展與本土化策略報告(2025年)
- 可持續發展的公共政策框架探討試題及答案
- 安全審計與網絡監控試題及答案
- word基礎入門公開課課件
- 綜合、專科醫院執業校驗標準
- 學習羅陽青年隊故事PPT在急難險重任務中攜手拼搏奉獻PPT課件(帶內容)
- 稀土元素的分離方法-icaredbd課件
- 四年級下數學課件-火車過橋-通用版
- 版式設計課件3,網格系統全攻略
- 船舶防臺風安全安全知識
- 國家開放大學《人文英語3》章節測試參考答案
- 用雙棱鏡干涉測光波(20149)
- 靜音房聲學設計方案
- 四年級滬教版語文下冊閱讀理解專項習題含答案
評論
0/150
提交評論