2023年全國(guó)碩士研究生考試考研英語(yǔ)一試題真題(含答案詳解+作文范文)_第1頁(yè)
已閱讀1頁(yè),還剩11頁(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、<p>  linux系統(tǒng)的裁剪與移植</p><p><b>  摘 要</b></p><p>  嵌入式系統(tǒng)是以應(yīng)用為中心,以計(jì)算機(jī)技術(shù)為基礎(chǔ)、軟硬件均可裁剪、適應(yīng)應(yīng)用系統(tǒng)對(duì)功能、可靠性、成本、體積、功耗嚴(yán)格要求的專(zhuān)用計(jì)算機(jī)系統(tǒng)。其發(fā)展已有二十多年的歷史,國(guó)際上也出現(xiàn)了一些著名的嵌入式操作系統(tǒng),如VxWorks,Palm OS,Windows CE等

2、等,但這些操作系統(tǒng)均屬于商品化產(chǎn)品,價(jià)格昂貴且由于源代碼不公開(kāi)導(dǎo)致了諸如對(duì)設(shè)備的支持 ,應(yīng)用軟件的移植等一系列的問(wèn)題。而Linux作為一種優(yōu)秀的Free OS,近幾年在嵌入式領(lǐng)域異軍突起,成為了最有潛力的嵌入式操作系統(tǒng)。</p><p>  Linux從1991年問(wèn)世到現(xiàn)在,短短的十幾年時(shí)間已經(jīng)發(fā)展成為功能強(qiáng)大、設(shè)計(jì)完善的操作系統(tǒng)之一;可運(yùn)行在X86、Alpha、Sparc、MIPS、PPC、Motorola、N

3、EC、ARM等多種硬件平臺(tái),而且開(kāi)放源代碼,可以定制;可與各種傳統(tǒng)的商業(yè)操作系統(tǒng)分庭抗?fàn)?。越?lái)越多的企業(yè)和研發(fā)機(jī)構(gòu)都轉(zhuǎn)向嵌入式Linux的開(kāi)發(fā)和研究上,在新興的嵌入式操作系統(tǒng)領(lǐng)域內(nèi)也獲得了飛速發(fā)展。</p><p>  關(guān)鍵詞:嵌入式;Linux; 操作系統(tǒng)</p><p>  Linux system of cutting and transplantation</p>&

4、lt;p><b>  abstract</b></p><p>  Embedded system is used as the center, take the computer technology as the foundation, the software and hardware can be cut, adapt to function, application syst

5、em reliability, cost, volume, power strict specialized computer system. The development history of 20 years, there were also some international famous embedded operating system, such as Palm OS, VxWorks, Windows CE etc,

6、but these operating system belong to product, the price is expensive and commercialization of open source is not due to </p><p>  Linux from 1991 to now, was a decade has become a powerful, perfect design of

7、 the operating system, But in X86 operating gamerelease, Sparc and the MIPS, Motorola, NEC, PPC, various hardware platform, ARM, and open source can be customized, All kinds of traditional commercial operation system Cha

8、mbers. More and more enterprises and research institutes to research and development of embedded Linux, in the emerging field of embedded operating system also won the rapid development.</p><p>  Keywords:em

9、bedded;Linux;Operating system</p><p><b>  目 錄</b></p><p><b>  1 引言1</b></p><p>  2主要術(shù)語(yǔ)解析2</p><p>  2.1交叉編譯器2</p><p>  2.2li

10、nux剪裁2</p><p><b>  3設(shè)計(jì)流程3</b></p><p>  3.1linux系統(tǒng)的剪裁與移植3</p><p>  3.1.1Uboot燒寫(xiě)3</p><p>  3.1.2內(nèi)核的裁剪與移植5</p><p>  3.1.3 文件系統(tǒng)的移植與燒寫(xiě)6<

11、/p><p><b>  4 設(shè)計(jì)體會(huì)8</b></p><p><b>  參考文獻(xiàn)9</b></p><p><b>  1 引言</b></p><p>  隨著linux功能不斷加強(qiáng),靈活多樣的實(shí)現(xiàn)加上其可定制的特性以及開(kāi)放源碼的優(yōu)勢(shì), Linux 在各個(gè)領(lǐng)域的應(yīng)用

12、正變得越來(lái)越廣泛。而隨著嵌入式領(lǐng)域,的興起更是為L(zhǎng)inux 的長(zhǎng)足發(fā)展提供了無(wú)限廣闊的空間,現(xiàn)在出現(xiàn)了越來(lái)越多的標(biāo)準(zhǔn)LINUX 在各個(gè)硬件體系結(jié)構(gòu)的移植版本。</p><p>  主要是通過(guò)把uboot、內(nèi)核、文件系統(tǒng)的源文件先在linux環(huán)境下進(jìn)行相應(yīng)的配置(比如通過(guò)menuconfig命令),之后通過(guò)相應(yīng)的編譯生成可執(zhí)行的文件(bin文件),最后通過(guò)相應(yīng)的命令把這些可執(zhí)行的文件燒寫(xiě)到arm端的flash中,重

13、啟arm可以發(fā)現(xiàn)相應(yīng)的變化。</p><p>  用開(kāi)機(jī)之后先進(jìn)入Bootloader,通過(guò)bootloder引導(dǎo)進(jìn)入內(nèi)核再進(jìn)行相應(yīng)的文件讀寫(xiě)操作。</p><p><b>  如下流程:</b></p><p>  圖1-1 實(shí)驗(yàn)流程圖</p><p>  它們?cè)谝浦驳絘rm端flash中固定的地址上,uboot:0

14、x30000000—0x30008000,內(nèi)核:0x30008040—0x33f80000。 </p><p><b>  主要術(shù)語(yǔ)解析</b></p><p><b>  交叉編譯器</b></p><p>  交叉編譯環(huán)境的建立最重要的就是要有一個(gè)交叉編譯器

15、。所謂的交叉編譯就是:利用運(yùn)行在某機(jī)器上的編譯器編譯某個(gè)源程序生成在另一臺(tái)機(jī)器上運(yùn)行的目標(biāo)代碼的過(guò)程。這里我主要用到的編譯器是arm-linux-gcc,它是gcc 的arm 改版。gcc 是個(gè)功能強(qiáng)大的c語(yǔ)言編譯工具,其年齡比Linux 還長(zhǎng)。</p><p><b>  linux剪裁</b></p><p>  Linux裁剪看上去只是對(duì)配置菜單的簡(jiǎn)單選擇。但是

16、配置菜單本身結(jié)構(gòu)龐大,內(nèi)容復(fù)雜。因此熟悉與了解該菜單的各項(xiàng)具體含義就顯得比較重要。Linux編譯菜單主要有:</p><p>  1)make config:進(jìn)入命令行,可以一行一行的配置,這不好使用所以我們不具體介紹。</p><p>  2)make menuconfig:進(jìn)入我們熟悉的menuconfig 菜單,相信很多人對(duì)此都不陌生。</p><p>  3

17、)make xconfig:在2.4.X 以及以前版本中xconfig 菜單是基于TCL/TK 的圖形庫(kù)的。</p><p><b>  設(shè)計(jì)流程</b></p><p>  linux系統(tǒng)的剪裁與移植</p><p>  一個(gè)完整的系統(tǒng)主要5部分組成:硬件、Bootloader 、操作系統(tǒng)內(nèi)核、操作系統(tǒng)服務(wù)和用戶(hù)應(yīng)用程序。用戶(hù)應(yīng)用程序是指那些

18、字處理程序、互聯(lián)網(wǎng)應(yīng)用程序或其它用戶(hù)自行編制的各種應(yīng)用程序;操作系統(tǒng)服務(wù)程序是指向用戶(hù)提供的系統(tǒng)調(diào)用等接口程序, Bootloader 主要完成硬件檢測(cè)和系統(tǒng)引導(dǎo)。操作系統(tǒng)內(nèi)核是操作系統(tǒng)的主要核心部分,是整個(gè)系統(tǒng)的靈魂。操作系統(tǒng)服務(wù)程序、操作系統(tǒng)內(nèi)核及Bootloader 被看作是操作系統(tǒng)部分。</p><p><b>  Uboot燒寫(xiě)</b></p><p>  

19、主要包括編譯Uboot和燒寫(xiě)Uboot</p><p> ?。?)編譯Uboot</p><p>  Linux虛擬機(jī)下建立Uboot目錄</p><p>  mkdir uboot</p><p>  把Uboot源碼包壓縮到uboot目錄下</p><p>  tar xivf u-boot-1.3.2.tar.b

20、z2</p><p>  進(jìn)入解壓后的目錄,清除原來(lái)編譯環(huán)境的依賴(lài)關(guān)系</p><p>  make disclean</p><p><b>  配置開(kāi)發(fā)板</b></p><p>  make uptech_2410class_config</p><p>  class board</

21、p><p><b>  make</b></p><p>  編譯完成后會(huì)在當(dāng)前目錄下生成u-boot二進(jìn)制文件uboot.bin。</p><p> ?。?)燒寫(xiě)Uboot</p><p>  把整個(gè)GIVEIO目錄拷貝到c:/windows下,并把該目錄下的giveio.sys文件拷貝到c:/windows/system

22、32/drivers下。在控制面板的添加硬件中安裝剛才考到C盤(pán)下的鏡像文件Giveio,完成硬件的安裝。</p><p>  將sjf2410-s.exe燒寫(xiě)文件和以上生成的可執(zhí)行文件uboot.bin一同放在D盤(pán)下,打開(kāi)開(kāi)發(fā)板的電源。進(jìn)入Doc命令對(duì)話框D:\>sjf2410-s.exe /f:u-boot.bin出現(xiàn)圖3-1信息。</p><p>  選擇flash,輸入的參數(shù)為

23、0</p><p>  Select the function to test:0</p><p><b>  信息如下:</b></p><p>  [K9S1208 NAND Flash JTAG Programmer]</p><p>  K9S1208 is detected. ID=0xec76</p&g

24、t;<p>  0:K9S1208 Program 1:K9S1208 Pr BlkPage 2:Exit</p><p>  選擇對(duì)flash的兩種功能,同樣選擇0</p><p>  Select the function to test :0</p><p><b>  圖 3-1</b></p>

25、<p><b>  信息如下:</b></p><p>  [SMC(K9S1208V0M) NAND Flash Writing Program]</p><p>  Source size:0h~21237h</p><p>  Available target block number: 0~4095</p>

26、<p>  選擇起始地址,同樣選擇0</p><p>  Input target block number:0</p><p><b>  信息如圖3-2:</b></p><p><b>  圖 3-2</b></p><p>  選擇參數(shù)2,退出燒寫(xiě)</p><

27、p>  Select the function to test :2</p><p>  此時(shí)完成了對(duì)Uboot的燒寫(xiě)工作。重啟開(kāi)發(fā)板,可以發(fā)現(xiàn)按空格鍵則進(jìn)入了Uboot環(huán)境下,可以輸入相應(yīng)的命令進(jìn)行相應(yīng)的操作。顯示如圖3-3:</p><p><b>  圖 3-3</b></p><p>  3.1.2內(nèi)核的裁剪與移植</p&

28、gt;<p>  所謂Linux 移植就是把Linux 操作系統(tǒng)源碼針對(duì)具體的目標(biāo)平臺(tái)做必要改寫(xiě)之后,安裝到該目標(biāo)平臺(tái)使其正確的運(yùn)行起來(lái)。在Linux 移植的過(guò)程中可以通過(guò)裁減、修改源碼等達(dá)到增強(qiáng)新系統(tǒng)的實(shí)時(shí)性或者減小新系統(tǒng)的體積等目的。</p><p>  主要步驟:主要包括配置、編譯內(nèi)核(包括配置系統(tǒng)硬件處理器、配置LCD驅(qū)動(dòng)、配置系統(tǒng)啟動(dòng)LOGO、配置網(wǎng)卡驅(qū)動(dòng)、配置文件系統(tǒng)支持、編譯內(nèi)核、生成

29、uImage文件)燒寫(xiě)內(nèi)核、引導(dǎo)內(nèi)核。</p><p><b>  (1)配置內(nèi)核</b></p><p>  在linux虛擬機(jī)下建立kernel目錄 mkdir kernel,將kernel源碼解壓至kernel目錄下,tar -xjvf linux-2.6.24.4.tar.bz2,進(jìn)入解壓目錄用make menuconfig命令對(duì)內(nèi)和進(jìn)行配置。</p&g

30、t;<p>  配置系統(tǒng)硬件處理器:</p><p>  -> System Type </p><p>  -> S3C2410 Machines</

31、p><p><b>  配置LCD驅(qū)動(dòng)</b></p><p>  -> Device Drivers -> Graphics support -> Support for frame buffer devices (FB [=y])

32、 </p><p>  配置系統(tǒng)啟動(dòng)LOGO</p><p>  -> Device Drivers -> Graphics support -> Bootup logo (LOGO [=y])

33、 </p><p><b>  配置網(wǎng)卡驅(qū)動(dòng):</b></p><p>  

34、-> Device Drivers -> Network device support (NETDEVICES [=y]) </p><p>  -> Ethernet (10 or 100Mbit) (NET_ETHERNET [=y])</p><p><b>  配置文件系統(tǒng)支持:</b></p><p>

35、  ->File systems ->Miscellaneous filesystems</p><p>  NFS文件系統(tǒng)支持: </p><p>  -> File sys

36、tems -> Network File Systems (NETWORK_FILESYSTEMS [=y])</p><p>  選擇第一項(xiàng)NFS file system support</p><p>  此時(shí),最基本的內(nèi)核就配置好了。</p><p><b>  (2)編譯內(nèi)核:</b></p><p&g

37、t;  進(jìn)入內(nèi)核源碼跟目錄下輸入make命令編譯內(nèi)核,成功編譯后會(huì)在內(nèi)核arch/arm/boot目錄下生成內(nèi)核文件zImage。使用由u-boot生成的工具mkimage,生成uImage文件。執(zhí)行腳本程序make_uImage。</p><p><b>  (3)燒寫(xiě)內(nèi)核</b></p><p>  打開(kāi)arm端電源,打開(kāi)arm終端進(jìn)入uboot環(huán)境下。修改arm

38、機(jī)的IP地址命令:setenv ipaddr 192.168.1.13,修改PC機(jī)得到IP地址命令:setenv serverip 192.168.1.11,保存修改后的IP地址命令:saveenv。</p><p>  Windows平臺(tái)下tftp服務(wù)的配置:</p><p>  把tftpd32.exe文件和生成的uImage文件放在同一個(gè)文件夾下,打開(kāi)tftpd32.exe,選擇IP

39、地址為192.168.1.11。</p><p>  在arm終端下輸入命令:tftp flash kernel uImage,顯示如圖3-4:</p><p><b>  圖3-4</b></p><p>  擦出nandflash空間:nand erase 0x80000 0x200000</p><p>  寫(xiě)入

40、nandflash</p><p>  nand write 0x30008000 0x80000 0x200000</p><p>  這樣就把內(nèi)核文件固化到flash中了,arm重啟之后會(huì)點(diǎn)擊非空格鍵出現(xiàn)如圖3-5:</p><p><b>  圖3-5</b></p><p>  3.1.3 文件系統(tǒng)的移植與燒寫(xiě)&

41、lt;/p><p>  Linux是通過(guò)把系統(tǒng)支持的各種文件系統(tǒng)鏈接到一個(gè)單獨(dú)的樹(shù)形層次結(jié)構(gòu)中,來(lái)實(shí)現(xiàn)對(duì)多文件系統(tǒng)的支持的。該樹(shù)形層次結(jié)構(gòu)把文件系統(tǒng)表示成一個(gè)整個(gè)的獨(dú)立實(shí)體。無(wú)論什么類(lèi)型的文件系統(tǒng),都被裝配到某個(gè)目錄上,由被裝配的文件系統(tǒng)的文件覆蓋該目錄原有的內(nèi)容。</p><p><b>  (1)配置文件系統(tǒng)</b></p><p>  創(chuàng)建實(shí)

42、驗(yàn)?zāi)夸況ootfs mkdir rootfs ,解壓實(shí)驗(yàn)壓縮包 tar xjvf busybox-1.12.2.tar.bz2,進(jìn)入busybox源碼目錄,修改該目錄下Makefile文件中的ARCH和CROSS_COMPIL,指定交叉編譯器和目標(biāo)系統(tǒng),與本機(jī)的路徑一致:</p><p>  CROSS_COMPILE ?= arm-linux- </p><p><b>  .

43、..</b></p><p>  ARCH ?= arm</p><p>  編譯busybox。先make menuconfig對(duì)其進(jìn)行配置。</p><p><b> ?。?)編譯文件系統(tǒng)</b></p><p>  保存退出,直接make,make install。以看到生成的目錄_install。使用

44、mkcramfs工具將rootfs文件系統(tǒng)目錄制作成CRAMFS根文件系統(tǒng)映像 mkcramfs rootfs root.cramfs,生成root.cramfs根文件系統(tǒng)文件。</p><p>  (3)燒寫(xiě)根文件系統(tǒng)</p><p>  拷貝剛剛生生成的根文件系統(tǒng)文件root.cramfs和本機(jī)(宿主機(jī))TFTP服務(wù)器tftpd32.exe文件放在同一文件夾下,打開(kāi)arm終端,進(jìn)入ub

45、oot控制臺(tái) tftp flash root root.cramfs,顯示如下:</p><p>  擦除NANDFLASH空間:nand erase 280000 400000</p><p>  寫(xiě)入NANDFLASH:nand write 30008000 280000 400000</p><p>  重啟arm終端點(diǎn)擊非空格鍵,顯示如圖3-6:</p

46、><p><b>  圖3-6</b></p><p>  此時(shí)可以輸入相關(guān)命令,入ls可以顯示相關(guān)目錄及文件。</p><p>  此時(shí),linux系統(tǒng)移植與燒寫(xiě)任務(wù)基本上完成,它們的每一部分少燒寫(xiě)到arm開(kāi)發(fā)板的flash相應(yīng)地址中。</p><p><b>  4 設(shè)計(jì)體會(huì)</b></p&

47、gt;<p>  通過(guò)自己動(dòng)手實(shí)踐,學(xué)會(huì)了很多嵌入式綜合方面的知識(shí).同時(shí)也遇到了很多的問(wèn)題,在發(fā)現(xiàn)問(wèn)題和解決問(wèn)題的過(guò)程中,又得到了提高.</p><p>  剛開(kāi)始實(shí)驗(yàn)時(shí),做的是Linux系統(tǒng)燒寫(xiě),一開(kāi)始雖然看了很多資料,但還是完全找不著頭緒,于是找到指導(dǎo)老師咨詢(xún)了一下,經(jīng)老師一介紹,感覺(jué)輕松了許多,就很自信的走進(jìn)了實(shí)驗(yàn)室,這對(duì)后來(lái)實(shí)驗(yàn)的順利開(kāi)展奠定了基礎(chǔ),無(wú)論做什么事情,心態(tài)最重要!只要通過(guò)自己學(xué)

48、習(xí)研究深入了解,問(wèn)題最終都會(huì)解決的!</p><p>  這次實(shí)驗(yàn)是對(duì)我的又一次考驗(yàn),相信在不斷努力下,一定會(huì)飛得更高、走得更遠(yuǎn)、站得更穩(wěn)。</p><p>  再次感謝指導(dǎo)老師—張明老師!</p><p><b>  參考文獻(xiàn)</b></p><p>  [1] 孫天澤,袁文菊,張海峰.嵌入式設(shè)計(jì)及Linux驅(qū)動(dòng)開(kāi)發(fā)

49、指南[M].北京:電子工業(yè)出版社,2005.138-142</p><p>  [2] 田磊.Linux體系結(jié)構(gòu)及嵌入式Linux的移植與應(yīng)用[J].西安郵電學(xué)院學(xué)報(bào),2009年5月第14卷第3期</p><p>  [3] Daniel P.Bovet,Understanding the Linux Kernel(2nd Edition)[M].Oreily,2002.67-98&l

溫馨提示

  • 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ù)僅提供信息存儲(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)論