




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、linux系統的裁剪與移植裝訂線摘 要 嵌入式系統是以應用為中心,以計算機技術為基礎、軟硬件均可裁剪、適應應用系統對功能、可靠性、成本、體積、功耗嚴格要求的專用計算機系統。其發展已有二十多年的歷史,國際上也出現了一些著名的嵌入式操作系統,如VxWorks,Palm OS,Windows CE等等,但這些操作系統均屬于商品化產品,價格昂貴且由于源代碼不公開導致了諸如對設備的支持 ,應用軟件的移植等一系列的問題。而Linux作為一種優秀的Free OS,近幾年在嵌入式領域異軍突起,成為了最有潛力的嵌入式操作系統。 Linux從1991年問世到現在,短短的十幾年時間已經發展成為功能強大、設計完善的操
2、作系統之一;可運行在X86、Alpha、Sparc、MIPS、PPC、Motorola、NEC、ARM等多種硬件平臺,而且開放源代碼,可以定制;可與各種傳統的商業操作系統分庭抗爭。越來越多的企業和研發機構都轉向嵌入式Linux的開發和研究上,在新興的嵌入式操作系統領域內也獲得了飛速發展。關鍵詞:嵌入式;Linux; 操作系統Linux system of cutting and transplantation裝訂線abstractEmbedded system is used as the center, take the computer technology as the foundati
3、on, the software and hardware can be cut, adapt to function, application system 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, but
4、 these operating system belong to product, the price is expensive and commercialization of open source is not due to the support of equipment such as the transplant, application software and so on a series of problems. But as a kind of excellent Linux in different areas in the embedded OS, bouncy, b
5、ecame the most potential embedded operating system.Linux from 1991 to now, was a decade has become a powerful, perfect design of 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 kind
6、s of traditional commercial operation system Chambers. 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.Keywords:embedded;Linux;Operating system目 錄1 引言12主要術語解析22.1交叉編譯器2裝
7、訂線2.2linux剪裁23設計流程33.1linux系統的剪裁與移植3Uboot燒寫3內核的裁剪與移植5文件系統的移植與燒寫64 設計體會8參考文獻91 引言隨著linux功能不斷加強,靈活多樣的實現加上其可定制的特性以及開放源碼的優勢, Linux 在各個領域的應用正變得越來越廣泛。而隨著嵌入式領域,的興起更是為Linux 的長足發展提供了無限廣闊的空間,現在出現了越來越多的標準LINUX 在各個硬件體系結構的移植版本。裝訂線主要是通過把uboot、內核、文件系統的源文件先在linux環境下進行相應的配置(比如通過menuconfig命令),之后通過相應的編譯生成可執行的文件(bin文件)
8、,最后通過相應的命令把這些可執行的文件燒寫到arm端的flash中,重啟arm可以發現相應的變化。用開機之后先進入Bootloader,通過bootloder引導進入內核再進行相應的文件讀寫操作。如下流程:根文件系統Bootloader啟動參數內 核圖1-1 實驗流程圖它們在移植到arm端flash中固定的地址上,uboot:0x300000000x30008000,內核:0x300080400x33f80000。 2 主要術語解析2.1 交叉編譯器交叉編譯環境的建立最重要的就是要有一個交叉編譯器。所謂的交叉編譯就是:利用運行在某機器上的編譯器編譯某個源程序生成在另一臺機器上運行的目標代碼的過
9、程。這里我主要用到的編譯器是arm-linux-gcc,它是gcc 的arm 改版。gcc 是個功能強大的c語言編譯工具,其年齡比Linux 還長。裝訂線2.2 linux剪裁Linux裁剪看上去只是對配置菜單的簡單選擇。但是配置菜單本身結構龐大,內容復雜。因此熟悉與了解該菜單的各項具體含義就顯得比較重要。Linux編譯菜單主要有:1)make config:進入命令行,可以一行一行的配置,這不好使用所以我們不具體介紹。2)make menuconfig:進入我們熟悉的menuconfig 菜單,相信很多人對此都不陌生。3)make xconfig:在以及以前版本中xconfig 菜單是基于T
10、CL/TK 的圖形庫的。3 設計流程3.1 linux系統的剪裁與移植裝訂線一個完整的系統主要5部分組成:硬件、Bootloader 、操作系統內核、操作系統服務和用戶應用程序。用戶應用程序是指那些字處理程序、互聯網應用程序或其它用戶自行編制的各種應用程序;操作系統服務程序是指向用戶提供的系統調用等接口程序, Bootloader 主要完成硬件檢測和系統引導。操作系統內核是操作系統的主要核心部分,是整個系統的靈魂。操作系統服務程序、操作系統內核及Bootloader 被看作是操作系統部分。3.1.1 Uboot燒寫主要包括編譯Uboot和燒寫Uboot(1)編譯UbootLinux虛擬機下建立
11、Uboot目錄mkdir uboot把Uboot源碼包壓縮到uboot目錄下tar xivf u-boot-.tar.bz2進入解壓后的目錄,清除原來編譯環境的依賴關系make disclean配置開發板make uptech_2410class_configclass boardmake編譯完成后會在當前目錄下生成u-boot二進制文件uboot.bin。(2)燒寫Uboot把整個GIVEIO目錄拷貝到c:/windows下,并把該目錄下的giveio.sys文件拷貝到c:/windows/system32/drivers下。在控制面板的添加硬件中安裝剛才考到C盤下的鏡像文件Giveio,完
12、成硬件的安裝。將sjf2410-s.exe燒寫文件和以上生成的可執行文件uboot.bin一同放在D盤下,打開開發板的電源。進入Doc命令對話框D:>sjf2410-s.exe /f:u-boot.bin出現圖3-1信息。選擇flash,輸入的參數為0Select the function to test:0信息如下:K9S1208 NAND Flash JTAG ProgrammerK9S1208 is detected. ID=0xec76 0:K9S1208 Program 1:K9S1208 Pr BlkPage 2:Exit選擇對flash的兩種功能,同樣選擇0Select t
13、he function to test :0+-+| SEC JTAG FLASH(SJF) v 0.7 | (S3C2410X & SMDK2410 B/D) | PROVIDED BY KENT 20050628 | kentup- |+-+Usage: SJF /f:<filename> /d=<delay>> S3C2410X(ID=0x0032409d) is detected.SJF Main Menu 0:K9S1208 prog 1:K9F2808 prog 2:28F128J3A prog 3:AM29LV800 Prog 4:Memor
14、y Rd/Wr 5:Exit裝訂線圖 3-1信息如下:SMC(K9S1208V0M) NAND Flash Writing ProgramSource size:0h21237hAvailable target block number: 04095選擇起始地址,同樣選擇0Input target block number:0信息如圖3-2:target start block number =0target size (0x4000*n) =0x24000STATUS:EppppppppppppppppppppppppppppppppEpppppppppppppppppppppppppppp
15、ppppEppppppppppppppppppppppppppppppppEppppppppppppppppppppppppppppppppEppppppppppppppppppppppppppppppppEppppppppppppppppppppppppppppppppEppppppppppppppppppppppppppppppppEppppppppppppppppppppppppppppppppEpppppppppppppppppppppppppppppppp0:K9S1208 Program 1:K9S1208 Pr BlkPage 2:Exit圖 3-2選擇參數2,退出燒寫Selec
16、t the function to test :2此時完成了對Uboot的燒寫工作。重啟開發板,可以發現按空格鍵則進入了Uboot環境下,可以輸入相應的命令進行相應的操作。顯示如圖3-3:U-Boot 1.3.2 (Dec 5 2008 - 10:35:38)DRAM: 64 MBFlash: 512 kBNAND: 64 MiB* Warning - bad CRC or NAND, using default environmentIn: serialOut: serialErr: serialHit any key to stop autoboot: 0UP-2410-S #圖 3-3裝
17、訂線 內核的裁剪與移植所謂Linux 移植就是把Linux 操作系統源碼針對具體的目標平臺做必要改寫之后,安裝到該目標平臺使其正確的運行起來。在Linux 移植的過程中可以通過裁減、修改源碼等達到增強新系統的實時性或者減小新系統的體積等目的。主要步驟:主要包括配置、編譯內核(包括配置系統硬件處理器、配置LCD驅動、配置系統啟動LOGO、配置網卡驅動、配置文件系統支持、編譯內核、生成uImage文件)燒寫內核、引導內核。(1)配置內核在linux虛擬機下建立kernel目錄 mkdir kernel,將kernel源碼解壓至kernel目錄下,tar -xjvf linux-,進入解壓目錄用ma
18、ke menuconfig命令對內和進行配置。配置系統硬件處理器:-> System Type -> S3C2410 Machines配置LCD驅動-> Device Drivers -> Graphics support -> Support for frame buffer devices (FB =y) 配置系統啟動LOGO-> Device Drivers -> Graphics support -> Bootup logo (LOGO =y) 配置網卡驅動:-> Device Drivers -> Network devic
19、e support (NETDEVICES =y) -> Ethernet (10 or 100Mbit) (NET_ETHERNET =y)配置文件系統支持:->File systems ->Miscellaneous filesystemsNFS文件系統支持: -> File systems -> Network File Systems (NETWORK_FILESYSTEMS =y)選擇第一項NFS file system support此時,最基本的內核就配置好了。(2)編譯內核:進入內核源碼跟目錄下輸入make命令編譯內核,成功編譯后會在內核arch/
20、arm/boot目錄下生成內核文件zImage。使用由u-boot生成的工具mkimage,生成uImage文件。執行腳本程序make_uImage。(3)燒寫內核打開arm端電源,打開arm終端進入uboot環境下。修改arm機的IP地址命令:setenv .13,保存修改后的IP地址命令:saveenv。Windows平臺下tftp服務的配置:把tftpd32.exe。在arm終端下輸入命令:tftp flash kernel uImage,顯示如圖3-4: 裝訂線Found DM9000 ID:90000a46 at address 10000000 !DM9000 work in 16
21、 bus widthbd->bi_entaddr: 08:00:3e:26:0a:5beth_initMAC:8:0:3e:26:a:5b:TFTP from server 40; our IP address is 99Filename 'uImage'.Load address: 0x30008000Loading: T # #doneBytes transferred = 1814104 (1bae58 hex) 圖3-4擦出nandflash空間:nand erase 0x80000 0x200000寫入nandflas
22、hnand write 0x30008000 0x80000 0x200000這樣就把內核文件固化到flash中了,arm重啟之后會點擊非空格鍵出現如圖3-5:Starting kernel . test:machid:805306624test: bi_boot_params:0x33f5bfb8test:starting 1Uncompressing Linux. done, booting the kernel.圖3-53.1.3 文件系統的移植與燒寫Linux是通過把系統支持的各種文件系統鏈接到一個單獨的樹形層次結構中,來實現對多文件系統的支持的。該樹形層次結構把文件系統表示成一個整個
23、的獨立實體。無論什么類型的文件系統,都被裝配到某個目錄上,由被裝配的文件系統的文件覆蓋該目錄原有的內容。(1)配置文件系統創建實驗目錄rootfs mkdir rootfs ,解壓實驗壓縮包 tar xjvf busybox-.tar.bz2,進入busybox源碼目錄,修改該目錄下Makefile文件中的ARCH和CROSS_COMPIL,指定交叉編譯器和目標系統,與本機的路徑一致:CROSS_COMPILE ?= arm-linux- .ARCH ?= arm編譯busybox。先make menuconfig對其進行配置。(2)編譯文件系統裝訂線保存退出,直接make,make install。以看到生成的目錄_install。使用mkcramfs工具將rootfs文件系統目錄制作成CRAMFS根文件系統映像 mkcramfs rootfs root.cramfs,生成root.cramfs根文件系統文件。(3)燒寫根文件系統拷貝剛剛生生成的根文件系統文件root.cramfs和本機(宿主機)TFTP服務器tftpd32.exe文件放在同一文件夾下,打開arm終端,進入uboot控制臺 tftp flash root root.cramfs,顯示如下:擦除NANDFLASH空間:nand erase 280000 400000寫入NANDF
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年度浙江省護師類之主管護師押題練習試卷B卷附答案
- 幼兒園消防逃生安全教育指南
- DB43-T 2856.3-2023 社會保障卡一卡通應用技術規范 第3部分:應用系統接入規范
- 子宮肌瘤中醫培訓
- 幼兒園小班社會教案《一起玩》
- 力學持久測試題及答案
- 育嬰員考試題型及答案
- 監測監控面試題及答案
- java面試題及答案單例模式
- transientjava面試題及答案
- 天津市部分區2023-2024學年高一下學期期末考試語文試題(解析版)
- 貴州省黔西南州2023-2024學年英語八下期末教學質量檢測試題含答案
- 中醫頭部刮痧技術
- 江蘇省南通市海安市2023-2024學年七年級下學期期末數學試卷(含答案詳解)
- DL∕T 2602-2023 電力直流電源系統保護電器選用與試驗導則
- 河南省許昌市2023-2024學年三年級下學期期末質量檢測語文試卷
- 2024年全國“紅旗杯”班組長大賽(復賽)備考試題庫(簡答、案例分析題)
- 全國住房城鄉建設行業職業技能大賽各賽項技術文件 C1-建筑信息模型技術員LS技術文件
- 北京大學2024年強基計劃筆試數學試題(解析)
- 畜禽屠宰企業獸醫衛生檢驗人員考試試題
- 醫療廢物污水培訓課件
評論
0/150
提交評論