




已閱讀5頁,還剩6頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
中國地質(zhì)大學(xué)(北京)實(shí) 驗(yàn) 報(bào) 告 課程名稱: 嵌入式系統(tǒng) 實(shí)驗(yàn)名稱: 嵌入式linux系統(tǒng)構(gòu)建 姓 名: xxxx 學(xué) 號(hào): 1010092229 班 級(jí): 10100922 指導(dǎo)教師: xxxxxxxxxx 評(píng) 分: 實(shí)驗(yàn)時(shí)間: 實(shí)驗(yàn)題目:嵌入式linux系統(tǒng)構(gòu)建一、 實(shí)驗(yàn)?zāi)康?、了解ARM9嵌入式開發(fā)板的基本結(jié)構(gòu);2、掌握linux交叉編譯環(huán)境的建立;3、掌握編譯和移植linux系統(tǒng)的基本方法;二、 實(shí)驗(yàn)器材 1. 安裝有windows 7或者xp系統(tǒng)的且能聯(lián)網(wǎng)的pc一臺(tái)(如直接裝linux,則可以省略步驟一);2. 采用Atmel公司基于ARM9架構(gòu)的處理器at91rm9200的開發(fā)板一塊;3. 網(wǎng)線一條,USB轉(zhuǎn)串口線PL2303一條,電源一只。三、 實(shí)驗(yàn)步驟安裝Ubuntu 11.10 鑒于對(duì)linux操作系統(tǒng)不是很熟悉,所以本次試驗(yàn)采用虛擬機(jī)的安裝方式,也即在Windows7環(huán)境下運(yùn)行Ubuntu。 1.安裝VMware 首先下載得到VMware8.0的安裝文件,安裝成功并破解后運(yùn)行VMware,如下圖所示: 2.新建linux虛擬機(jī) 點(diǎn)擊主界面“Create a New Virtual Machine”或直接使用菜單file新建,如沒有特殊需要?jiǎng)t選擇“typical”然后選擇Ubuntu 11.10的系統(tǒng)鏡像所在的路徑,然后填寫虛擬機(jī)名以及Ubuntu用戶名及密碼,最后選擇虛擬機(jī)安裝的路徑(默認(rèn)C盤,建議不安裝在C盤),確認(rèn)之后打開虛擬機(jī),之后則由VMware自動(dòng)安裝Ubuntu,安裝完成后如下圖: 輸入剛才設(shè)置的用戶名及密碼即可進(jìn)入并使用系統(tǒng)了,但此時(shí)為普通用戶,權(quán)限有限。 3. 進(jìn)入超級(jí)用戶 在普通用戶界面下按快捷鍵Ctrl+Alt+T進(jìn)入終端,輸入命令sudo passwd root,系統(tǒng)提示輸入密碼,此時(shí)設(shè)置自己的密碼(注意,終端不會(huì)顯示輸入),確認(rèn)之后則超級(jí)用戶root密碼設(shè)置成功。在終端下輸入命令su,再輸入密碼則可進(jìn)入超級(jí)用戶,此時(shí)符號(hào)由“$”變成“#”或者直接點(diǎn)擊右上角“Switch User Account”輸入用戶名“root”和密碼即可進(jìn)入超級(jí)用戶,進(jìn)入后如下圖:安裝交叉編譯器 搭建交叉編譯環(huán)境是嵌入式開發(fā)的第一步,也是必備的一步。搭建交叉編譯環(huán)境的方法很多,不同的體系結(jié)構(gòu)、不同的操作內(nèi)容甚至是不同版本的內(nèi)核,都會(huì)用到不同的交叉編譯器,而且,有些交叉編譯器經(jīng)常會(huì)有部分的bug,這都會(huì)導(dǎo)致最后的代碼無法正常地運(yùn)行。因此,選擇合適的交叉編譯器對(duì)于嵌入式開發(fā)是非常重要的。鑒于此,我們慎重選擇了arm-linux-gcc-2.95.3 ;arm-softfloat-linux-gnu-gcc;arm-linux-gcc-4.4.3三種編譯器,經(jīng)測(cè)試,這三種編譯器能夠編譯成功。 1.下載交叉編譯工具如上所述,本實(shí)驗(yàn)需要三種交叉編譯工具,分別是arm-linux-gcc-2.95.3 ; arm-softfloat-linux-gnu-gcc; arm-linux-gcc-4.4.3。arm-linux-gcc-2.95.3 用于編譯boot.bin; arm-softfloat-linux-gnu-gcc 用于編譯u-boot.bin; arm-linux-gcc-4.4.3 用于編譯linux-2.6.38 kernel和busybox-1.19.2; 2.安裝細(xì)則 進(jìn)入終端, 在/usr/local下新建一個(gè)文件夾arm,命令為mkdir /usr/local/arm 安裝路徑 arm-linux-gcc-2.95.3 解壓至/usr/local/arm/ (先拷貝到/usr/local/arm/目錄下再解壓) arm-softfloat-linux-gnu-gcc 解壓至/usr/local/arm/ (先拷貝到/usr/local/arm/目錄下再解壓) arm-linux-gcc-4.4.3 解壓至/ (先拷貝到/目錄下再解壓) 解壓命令為: tar -jxvf arm-softfloat-linux-gnu.tar.gz 安裝后將arm-linux-gcc-2.95.3和arm-softfloat-linux-gnu-gcc和arm-linux-gcc-4.4.3 工具目錄下的bin加到$PATH即可 在終端下輸入gedit /etc/profile 在profile文件末尾加上: export PATH=/usr/local/arm/2.95.3/bin:$PATH export PATH=/usr/local/arm/arm-softfloat-linux-gnu/bin:$PATH export PATH=/opt/FriendlyARM/toolschain/4.4.3/bin/:$PATH 設(shè)置好PATH后重啟ubuntu或直接在命令行執(zhí)行:source /etc/profile命令也可。 交叉編譯器安裝完成后如下圖所示:交叉編譯 1. 編譯boot(用arm-linux-gcc-2.95.3編譯)下載并拷貝boot.tar.bz2到arm下,進(jìn)入arm文件夾(cd /usr/local/arm),解壓boot.tar.bz2得到boot文件夾(tar -jxvf boot.tar.bz2)。進(jìn)入boot(cd boot)。修改文件用gedit命令。編譯后得到boot.bin。2. 編譯u-boot(用arm-softfloat-linux-gnu-gcc編譯) 下載并拷貝u-boot-1.3.4.tar.bz2到/home/at9200下,進(jìn)入/home/at9200 (cd /home/at9200)解壓得到u-boot-1.3.4文件夾(tar -jxvf u-boot-1.3.4.tar.bz2)。進(jìn)入u-boot-1.3.4(cd u-boot-1.3.4)。完成后產(chǎn)生u-boot.bin.gz文件。(壓縮過程中一度出現(xiàn)亂碼,壓縮不成功,通過查閱gzip的help后,發(fā)現(xiàn)可能是參數(shù) -c的原因,用gzip -9 u-boot.bin則能壓縮成功)。 3.編譯kernel(用arm-linux-gcc-4.4.3編譯)下載并拷貝linux-2.6.38.tar.bz2到/home/at9200下,進(jìn)入/home/at9200,解壓得到linux-2.6.38文件夾(tar -jxvf linux-2.6.38.tar.bz2),如需打補(bǔ)丁則需要用zcat命令。編譯步驟: 修改Makefile截圖:第四部既是配置內(nèi)核,是內(nèi)核編譯所有步驟中最重要的,它決定了生成的內(nèi)核的所有參數(shù)在做第四步的時(shí)候,出現(xiàn)如下錯(cuò)誤: 后經(jīng)查閱,發(fā)現(xiàn)是編譯比較老的版本的u-boot時(shí)需要一個(gè)組件沒裝上,用命令apt-get install libncurses5-dev,安裝上該組件即可,進(jìn)入menuconfig界面如下:根據(jù)實(shí)際需要選擇需要編譯的部分,項(xiàng)目前面有“*”符號(hào)表示選中了。配置好后退出,然后執(zhí)行make命令,編譯器開始編譯,等待一段時(shí)間如果不出錯(cuò)誤的話會(huì)在arch/arm/boot/生成zImage和Image 。然后用命令mkimage -e 0x20008040 -d arch/arm/boot/zImage uImage2638生成內(nèi)核鏡像文件uImage2638,但是執(zhí)行此命令時(shí)仍然需要安裝一個(gè)組件,用命令apt-get install u-boot-tools安裝。查看生成的uImage2638,信息如下:4. 編譯busybox(用arm-linux-gcc-4.4.3編譯)下載并拷貝busybox-1.19.2.rar到/home/at9200下,并解壓(此處解壓rar文件仍然需要額外安裝組件,否則會(huì)出錯(cuò),命令為apt-get install rar),由于本人不知道解壓rar文件的命令參數(shù),故采用手動(dòng)解壓方法,用右鍵“extract here”選項(xiàng)。解壓后生成busybox-1.19.2文件夾,進(jìn)入該文件夾。編譯步驟:A. 修改Makefile(gedit Makefile) 修改如下: ARCH= arm CROSS_COMPILE= arm-linux-B.make menuconfig根據(jù)需要選擇需要編譯的命令,選擇方法和kernel一樣,按空格鍵即可選擇,如下圖:(做到這里,真后悔當(dāng)初沒學(xué)好英語啊,這么多的選項(xiàng)全看蒙了,很多不知道什么意思)。C.保存退出之后,執(zhí)行make clean命令,然后執(zhí)行make 命令,等待一段時(shí)間編譯成功, 在_install文件夾下生成一系列文件以及文件夾;5.制作根文件系統(tǒng)A.安裝make install PREFIX=/home/at9200/busybox-1.19.2/cramfs 其中,PREFIX用于指定安裝目錄,如果不設(shè)置該選項(xiàng),則默認(rèn)在當(dāng)前目錄下創(chuàng)建_install目錄。創(chuàng)建的安裝目錄的內(nèi)容如下所示:rootubuntu:/home/at9200/busybox-1.19.2# ls bin linuxrc sbin usr從此可知,使用busybox軟件包所創(chuàng)建的文件系統(tǒng)還缺少很多東西。下面我們通過創(chuàng)建系統(tǒng)所需要的目錄和文件來完善一下文件系統(tǒng)的內(nèi)容。 rootubuntu:/home/at9200/busybox-1.19.2# mkdir mnt root var tmp proc boot etc lib rootubuntu:/home/at9200/busybox-1.19.2# mkdir /mnt/chenhongzhchC.mkcramfs rootfs rootfs.cramfs 將準(zhǔn)備好的根文件系統(tǒng)打包生成rootfs.cramfs移植系統(tǒng)A. 需要的軟件:SecureCRT,tftpd32;B. 需要燒寫的文件:老師給的加上編譯過程中生成的9200loader.bin-boot.bin-u-boot.bin-uImage2638-rootfs.cramfsC. 連接實(shí)驗(yàn)板,此處用到了SecureCRT(與超級(jí)終端類似),具體步驟如下:1.安裝串口轉(zhuǎn)usb線PL2303的驅(qū)動(dòng);(裝好之后在windows設(shè)備管理中找到端口號(hào),我pc上是com3)2.打開SecureCRT新建一個(gè)連接,該連接參數(shù)設(shè)置如下: 3.連接,裸板連接上主機(jī)以后,在SecureCRT主界面上會(huì)連續(xù)出現(xiàn)CCC字樣: D.燒寫: * 以上過程需要配置tftpserver才能實(shí)現(xiàn),具體配置如下: 1.U-boot運(yùn)行起來之后,設(shè)置環(huán)境變量,setenv serverip 8;-主機(jī)ip; setenv ipaddr 7;安裝交叉編譯器-編譯-燒寫。其中最主要也是最艱難的是編譯過程,需要編譯bootloader,kernel以及busybox,每個(gè)步驟都要修改Makefile,最主要的是修改編譯器版本。編譯kernel和busybox過程中一度出現(xiàn)很多錯(cuò)誤,有時(shí)是編譯器版本的問題,有時(shí)是需要安裝額外的組件,有時(shí)是Makefile沒有修改正確,反正就是不通過。最終經(jīng)過很多次嘗試后總算都能編譯成功,但是燒寫進(jìn)去后啟動(dòng)也出現(xiàn)失敗,原因未知。關(guān)于編譯kernel和busybox用到的
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 財(cái)務(wù)資訊及時(shí)共享機(jī)制計(jì)劃
- 2025屆黑龍江省五常市部分學(xué)校七下數(shù)學(xué)期末檢測(cè)模擬試題含解析
- 問題解決能力提升的方案計(jì)劃
- 財(cái)務(wù)年度預(yù)算編制方案計(jì)劃
- 提升團(tuán)隊(duì)協(xié)作能力的方案計(jì)劃
- 企業(yè)管理模式對(duì)戰(zhàn)略目標(biāo)的支持試題及答案
- 城市交通樞紐換乘設(shè)計(jì)重點(diǎn)基礎(chǔ)知識(shí)點(diǎn)
- 2025屆常州市重點(diǎn)中學(xué)八下數(shù)學(xué)期末監(jiān)測(cè)模擬試題含解析
- 制定企業(yè)發(fā)展戰(zhàn)略的路徑計(jì)劃
- 2024年山西師范大學(xué)輔導(dǎo)員考試真題
- 造口術(shù)前定位
- 廣東省高等學(xué)?!扒О偈こ獭钡诹^續(xù)培養(yǎng)對(duì)象和第
- 人教版三年級(jí)數(shù)學(xué)上冊(cè)口算題卡
- 小數(shù)乘整數(shù)的教學(xué)設(shè)計(jì) 小數(shù)乘整數(shù)教學(xué)設(shè)計(jì)一等獎(jiǎng)(十四篇)
- 玻璃鋼管道施工方案
- 錐坡工程量計(jì)算(支持斜交、溜坡計(jì)算)
- 康復(fù)醫(yī)學(xué)-康復(fù)治療技術(shù)
- 企業(yè)清產(chǎn)核資工作底稿
- LY/T 1675-2006馬尾松毛蟲監(jiān)測(cè)與防治技術(shù)規(guī)程
- GB/T 708-2006冷軋鋼板和鋼帶的尺寸、外形、重量及允許偏差
- GB/T 14337-2008化學(xué)纖維短纖維拉伸性能試驗(yàn)方法
評(píng)論
0/150
提交評(píng)論