版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
嵌入式操作系統(tǒng)實驗報告姓名
王威
學號
SA12226437
所在班級
系統(tǒng)芯片實驗名稱
實驗一隊友:張圣苗亞實驗內容1、準備工作工作:安裝virtualbox虛構機工具,并安裝ubuntu10.10系統(tǒng)、加強型工具,實現(xiàn)共享文件夾的自動掛載。2、利用crosstool供給的腳本安裝和有關資源編譯面向的ARM的GCC工具。詳盡內容1:安裝虛構機軟件和虛構機時要達成的主要步驟有:安裝virtualbox,成立一臺虛構機,分派內存和硬盤,指定共享文件夾(主機和虛構機可共同操作),指定操作系統(tǒng)鏡像文件路徑(相當于光盤,第一次啟動時安裝),安裝虛構操作系統(tǒng),安裝加強工具包,實現(xiàn)共享文件夾的自動掛載。有幾點需要注意:1、虛構硬盤盡量分派大一些,以后再擴就比較麻煩。2、共享文件夾不要有中文路徑,否則掛載后看不到中文名稱文件。3、安裝操作系統(tǒng)時,不可以斷網(wǎng),需要下載各樣資源,否則會異樣。詳盡內容2:安裝gcc-4.1替代操作系統(tǒng)中的,用它編譯交錯編譯器和庫文件、gdb-6.5。為了達成這樣的目標,我們需要安裝與腳真有關的工具,需要改正crosstool中的配置文件arm.dat以指定編譯的目標位arm-linux。需要改正crosstool中的腳本文件,指定編譯的源文件和目的文件夾(以后成立),指定配置文件為,在該配置文件中,指定了交錯編譯器和調試器、C庫的版本。最后運轉腳本,實現(xiàn)了對GCC工具包的安裝,包含gcc預辦理器、匯編器、編譯器、鏈接器、調試器、反匯編工具等等。整個實驗中我們需要的資源是、、,將擱置在共享文件夾的crosstool工具拷貝到主文件夾下并解壓,將gbd和linux文件拷貝到crosstool文件夾,拷貝是因為編譯時需要內核文件。實驗步驟實驗準備:在實驗準備中,在安裝完加強工具包(安裝vmwaretools實現(xiàn)與XP文件共享)并重啟以后,需要實現(xiàn)對共享文件夾的自動掛載,只需要改正etc目錄中的配置文件rc.local,rc.local是好多l(xiāng)inux系統(tǒng)管理員的獨愛,因為凡是需要隨系統(tǒng)自動啟動的服務、程序等,都能夠放在里面。$sudomkdir/mnt/share$sudomount-tvboxsfembedded/mnt/shared上邊三句話實現(xiàn)了將共享文件夾embeded掛載到了share上。gedit/etc/rc.local將第2句命令增添在exit以前,實現(xiàn)了自動掛載功能。實驗一一、搭建編譯環(huán)境1、安裝于腳本運轉有關及其余的工具bison、flex、build-essential、patch、libncurses5-dev。$sudoapt-getinstallbisonflexbuild-essentialpatchlibncurses5-dev運轉以下:有關:Linux下有一個SUDO命令,使得一般用戶能夠履行超級用戶的部份權益,在/etc/sudoers中設置了可履行sudo指令的用戶。若其未經(jīng)受權的用戶妄圖使用sudo,則會發(fā)出警示的郵件給管理員。用戶使用sudo時,一定先輸入密碼,以后有5分鐘的有效限期,超出限期則一定從頭輸入密碼。apt-get一個下載的命令參數(shù)有install安裝update更新remove移除check檢查。比方:sudoapt-getinstallsamba-3.0-7下載并安裝一個名字為samba-3.0-7的程序在UNIX初期時代,編寫一個編譯器是一件特別耗時的工作。人們?yōu)榱撕喕_發(fā)過程,開發(fā)了Lex和YACC程序來解決第一個任務,依據(jù)用戶描繪的語言,生成能夠解決問題的C/C++語言代碼,供開發(fā)者使用。將源代碼文件分解為各樣詞匯(Lex);找到這些詞匯的構成方式(YACC);GNU軟件協(xié)會開發(fā)了Flex和BISON,其功能與LEX和YACC基本兼容,并且在Lex和YACC供給的功能的基礎長進行了各樣擴展。FLex能夠將輸入數(shù)據(jù)流分類為各種詞匯,為以后的語法剖析做準備Bison該文件實質上就是一個C語言的源代碼,作用就是對輸入文件進行語法剖析。GNUBison在Linux下的安裝特別簡單。你能夠去它的官方網(wǎng)站上下載安裝包自行安裝,ubuntu系統(tǒng)下更簡單的方法相同是直接在命令行敲入命令實現(xiàn)。Ubuntu缺省狀況下,并無供給C/C++的編譯環(huán)境,所以還需要手動安裝。假如單獨安裝gcc以及g++比較麻煩,好運的是,Ubuntu供給了一個build-essential軟件包。查察該軟件包的依靠關系,能夠看到以下內容:$apt-cachedepends"build-essential"build-essentialDepends:libc6-devDepends:<libc-dev>libc6-devDepends:gccDepends:g++Depends:makeDepends:dpkg-dev也就是說,安裝了該軟件包,編譯
c/c++
所需要的軟件包也都會被安裝。
所以假如想在Ubuntu
中編譯
c/c++
程序,只需要安裝
build-essential
軟件包就能夠了。能夠推斷我們實驗中的
就是在安裝這個軟件包時安裝的
。用
makemenuconfig
配置
linux
內核,要安裝
libncurses5-dev
套件。2、改換sh改換shell語言解說器$sudomv/bin/sh/bin/sh.old//備份解說器$sudoln-sfbash/bin/sh//改正軟鏈接,規(guī)定使用bash對腳本進行解說$echo$SHELL運轉以下://顯示環(huán)境變量的值ln是linux中一個特別重要命令。它的功能是為某一個文件在此外一個地點成立一個同不的鏈接,這個命令最常用的參數(shù)是-s,詳細用法是:ln-s源文件目標文件。當我們需要在不一樣的目錄,用到相同的文件時,我們不需要在每一個需要的目錄下都放一個一定相同的文件,我們只需在某個固定的目錄,放上該文件,而后在其余的目錄下用ln命令鏈接(link)它就能夠,不用重復的占用磁盤空間。我們輸入gcc時,履行的就是它的鏈接。用ls-l命令去觀察,能夠看到link的路徑了。Ubuntu默認使用dash,而不是bash,這是因為因為dash更小,運轉更快,還與POSIX兼容而crosstool腳本運轉需要用bash進行解說。需要把Ubuntu默認的dash改為bash。表現(xiàn)為/bin/sh軟鏈接到了/bin/dash,而不是傳統(tǒng)的/bin/bash。echo$SHELL功能是顯示獲知環(huán)境變量$SHELL的值。何謂環(huán)境變量?在所處的環(huán)境中,那些供系統(tǒng)或應用程序取用而固定存在的一種特別變量。稱之.環(huán)境變量可由系統(tǒng)預約或由您自行定義及改正,又稱為整體變量.也就是說:不論你身處何方,這些變量的值都隨著你的環(huán)境而存在。常有的環(huán)境變量:$SHELL使用哪一種shell$TERM終端機的型態(tài)$MAIL郵件收件地點$PATH程序找尋路徑。3、改換gcc$gcc-v//查察目前的GCC版本信息顯示以下:我們需要用gcc-4.1版原來生成交錯編譯器。$sudoapt-getinstallgcc-4.1//獲得并安裝gcc-4.1lsgcc*//使用通配符,顯示usr/bin目錄下與gcc有關的目錄Filegcc//file是檢測文件種類的命令,顯示目前的gcc指向gcc-4.4編譯器rmgcc//刪除gcc命令lsgcc*//看到,已經(jīng)沒有了gccln-sgcc-4.1gcc//成立從gcc到gcc-4.1的鏈接Lsgcc*//新的gccgcc-v/查察新的編譯器版本信息,顯示已經(jīng)改換到了gcc-4.1二、準備有關資源$mkdir/home/ww/embedded//在主文件夾下成立一個文件夾$cd/home/ww/embedded//進入該文件夾$cp/mnt/shared/crosstool-0.43.tar.gz./將crosstool工具拷貝到這個文件夾并解壓$cdcrosstool-0.43$cp/mnt/shared/gdb-6.5.tar.bz2./$cp/mnt/shared/linux-2.6.8.tar.bz2.///進入工具文件夾,并把gdb和內核文件拷貝進來,以供腳本運轉時使用。三、改正配置文件Crosstol工具要想在本機上順利運轉一定改正其配置文件,也就是做一下移植。表現(xiàn)為改正編譯的目標,告訴它源文件在哪,編譯到什么地方,編譯什么版本的gcc和C庫函數(shù)。1、改正arm.dat,指定編譯目標為:TARGET=arm-linuxgeditarm.dat//使用gedit比使用vi要方便的多2、改正demo-arm.sh。指定源文件所在的地點和編譯結果寄存的地點Geditdemo-arm.sh在履行過程中創(chuàng)立這個文件夾會出現(xiàn)權限錯誤,需要用管理員權限創(chuàng)立目標文件夾,并改正文件屬性,命令以下:$sudomkdir/opt/crosstool//成立文件夾$sudochmod777/opt/crosstool//改正讀寫屬性Ubuntu的很多操作是在終端中進行的在圖形界面上,我們能夠經(jīng)過屬性中的權限選項夾進行操作??墒且坏┪募膶傩燥@示目前用戶沒有讀寫權益時,無法在圖形界面上修改權限。,經(jīng)過sudo命令管理的文件是由root擁有權限的,一般用戶是無法改變的。常用方法以下:sudochmod600×××(只有全部者有讀和寫的權限)sudochmod644×××(全部者有讀和寫的權限,組用戶只有讀的權限)sudochmod700×××(只有全部者有讀和寫以及履行的權限)sudochmod666×××(每個人都有讀和寫的權限)sudochmod777×××(每個人都有讀和寫以及履行的權限)3、改正要編譯的gcc版本和庫文件版本。采納,在最后一行前加上#表示說明。查察要編譯的gcc/glibc/gbd版本四、開始編譯備份腳本$./arm.sh/開始運轉腳本,編譯。過一段時間以后,查察安裝了哪些工具:相當于手工安裝了gcc、庫文件、二進制開發(fā)包binutil、gbd等工具五、配置環(huán)境變量為了不使你每次使用交錯編譯工具的時候都要輸入絕對路徑,你需要配置環(huán)境變量,將你的交錯編譯工具寄存的地點的路徑增添到PATH變量中:$vim~/.bashrc用VI編寫器翻開bashrc文件增添以下一行:Export增添程序搜尋路徑。近似于在編譯環(huán)境中增添頭文件路徑相同,系統(tǒng)自動會在增添的路徑中自動找尋目標。刷新bashrc$source~/.bashrc六、編譯程序,測試安裝的正確性1.編寫hello.c$arm-linux-gcchello.c//編譯該源程序可看到輸出了ARM系統(tǒng)構造下的可履行文件,格式為ELF,目前的X86是無法辦運轉的,交錯編譯,面向不一樣的辦理器。收獲:1、虛構機的安裝流程,共享文件夾的自動掛載,及增添自啟動指令的方法。2、學會了怎樣利用crosstool腳本安裝交錯編譯環(huán)境,講堂上講了怎樣手工安裝gcc/庫文件/binutil開發(fā)包,加上嵌入式系統(tǒng)設計實驗課上直接獲得GUN工具鏈,基本掌握了三種成立交錯編譯環(huán)境的方法。3、Linux的基本指令如:cdlscprmmkdirexittarfile連結指令ln超級用戶指令sudo獲得安裝指令apt-getinstallmv更新系統(tǒng)指令sudoaptitudeupdate、獲得變量值echo通配符的使用,cd+..tab、4、設置環(huán)境變量的方法,能夠大大方便開發(fā),并且對指令的運轉,有了更深的認識。能夠想象,cd/ls/cp等這些在usr/bin中的基本應用程序的路徑已經(jīng)增添在了PATH中。這樣用戶在中止中輸入的時候,內核能夠找到這個程序并履行。5、接觸了兩種不一樣的腳本命令解說器。6、利用ln鏈接和環(huán)境變量都能夠方便開發(fā),可是降低了可讀性,增添了理解難度7、學會使用sudochmod改正文件夾的屬性8、VI指令:i插入、dd刪去一行,shift+zz保留并退出。Delete刪除字符。9、關于編寫類的工作,gdit更好用10、新建虛構機就是新買了一臺機器,其實就是在硬盤里多了兩個文件夾,一個配置文件夾,一個虛構機文件夾,刪掉以后就什么都沒了。11、為何使用交錯開發(fā)?嵌入式系統(tǒng)多采納交錯編譯的方式,在本機編譯好的程序是不可以在本機運轉的,需要經(jīng)過特定的手段(例如燒寫,下載等)安裝到目標系統(tǒng)上履行。這類編譯運轉的方法比較繁瑣,是遇到實質條件限制的。大多數(shù)的嵌入式系統(tǒng)目標板系統(tǒng)資源都很有限,不論是儲存空間仍是CPU辦理能力,都很難達到編譯程序的要求。并且好多目標板是沒有操作系統(tǒng)的,需要經(jīng)過其余的機器編譯操作系統(tǒng)和應用程序。12、交錯開發(fā)又為何選擇
LINUX
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度個人創(chuàng)業(yè)無息貸款支持合同(二零二五版)3篇
- 2025年度個人房屋抵押貸款合同標準范本4篇
- 2025年度勞動合同終止及離職員工離職手續(xù)辦理協(xié)議4篇
- 建筑用木材采購合同(2篇)
- 工廠交叉作業(yè)安全管理協(xié)議書(2篇)
- 2025年消防設施技術改造合作協(xié)議范本3篇
- 2024年咨詢工程師(經(jīng)濟政策)考試題庫(a卷)
- 水管檢修口施工方案
- 二零二五年度門窗行業(yè)市場調研與分析合同7篇
- 春節(jié)最幸福的描寫作文四篇
- 化學-河南省TOP二十名校2025屆高三調研考試(三)試題和答案
- 智慧農(nóng)貿(mào)批發(fā)市場平臺規(guī)劃建設方案
- 2023年水利部黃河水利委員會招聘考試真題
- 2022年袋鼠數(shù)學競賽真題一二年級組含答案
- 生物教學數(shù)字化設計方案
- 半導體工藝用膠帶全球市場、份額、市場規(guī)模、趨勢、行業(yè)分析報告2024-2030年
- 建筑施工中常見的安全問題及解決方法
- 乳腺導管原位癌
- 冷庫管道應急預案
- 《學習教育重要論述》考試復習題庫(共250余題)
- 網(wǎng)易云音樂用戶情感畫像研究
評論
0/150
提交評論