嵌入式Linu系統(tǒng)開發(fā)教程很完整的習(xí)題答案_第1頁
嵌入式Linu系統(tǒng)開發(fā)教程很完整的習(xí)題答案_第2頁
嵌入式Linu系統(tǒng)開發(fā)教程很完整的習(xí)題答案_第3頁
嵌入式Linu系統(tǒng)開發(fā)教程很完整的習(xí)題答案_第4頁
嵌入式Linu系統(tǒng)開發(fā)教程很完整的習(xí)題答案_第5頁
已閱讀5頁,還剩35頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

參考答案第一章一、填空題。1、嵌入式系統(tǒng)主要融合了計算機(jī)軟硬件技術(shù)、通信技術(shù)和微電子技術(shù),它是將計算機(jī)直接嵌入到應(yīng)用系統(tǒng)中, 利用計算機(jī)的高速處理能力以實現(xiàn)某些特定的功能。2、目前國內(nèi)對嵌入式系統(tǒng)普遍認(rèn)同的定義是:以應(yīng)用為中心、以計算機(jī)技術(shù)為基礎(chǔ)、軟硬件可裁剪、適應(yīng)應(yīng)用系統(tǒng)對功能、可靠性、成本、體積、功耗嚴(yán)格要求的專用計算機(jī)系統(tǒng)。3、嵌入式系統(tǒng)一般由嵌入式計算機(jī)和執(zhí)行部件組成,其中嵌入式計算機(jī)主要由四個部分組成,它們分別是: 硬件層、中間層、系統(tǒng)軟件層以及應(yīng)用軟件層。4、嵌入式處理器目前主要有ARMMIPSPowerPC68K等,其中arm

處理器有三大特點:體積小、低功耗、的成本和高性能,16/32位雙指16/32位雙指5、常見的嵌入式操作系統(tǒng)有: Linux、Vxworks、WinCEPalm、uc/OS-II和eCOS6、嵌入式系統(tǒng)開發(fā)的一般流程主要包括系統(tǒng)需求分析、 體系結(jié)構(gòu)設(shè)計、軟硬件及機(jī)械系統(tǒng)設(shè)計、系統(tǒng)集成、系統(tǒng)測試,最后得到最終產(chǎn)品。二、選擇題1、嵌入式系統(tǒng)中硬件層主要包含了嵌入式系統(tǒng)重要的硬件設(shè)備:、存儲器(SDRAMROM?)、設(shè)備I/O接口等。(A)A、嵌入式處理器 B、嵌入式控制器C、單片機(jī) D、集成芯片2、20世紀(jì)90年代以后,隨著系統(tǒng)應(yīng)用對實時性要求的提高,系統(tǒng)軟件規(guī)模不斷上升,實時核逐漸發(fā)展為—,并作為一種軟件平臺逐步成為目前國際嵌入式系統(tǒng)的主流。( D)A、分時多任務(wù)操作系統(tǒng) B、多任務(wù)操作系統(tǒng)C、實時操作系統(tǒng) D、實時多任務(wù)操作系統(tǒng)3、由于其高可靠性,在美國的火星表面登陸的火星探測器上也使用的嵌入式操作系統(tǒng)是。(B)A、Palm B、VxWorksC、Linux D 、WinCE4、嵌入式系統(tǒng)設(shè)計過程中一般需要考慮的因素不包括:( D)A、性能 B 、功耗C、價格 D、大小5、在嵌入式系統(tǒng)中比較流行的主流程序有:( A)BlobA、AngelBlobC、RedBootD 、U-Boot三、敘述題1、舉例說明身邊常用的嵌入式系統(tǒng)。生活中最常見的嵌入式系統(tǒng)恐怕要數(shù)智能手機(jī)了,包括 Symbian、WindowsMobile、Android等手機(jī)嵌入式系統(tǒng)。還有,如路由器也是一個典型的嵌入式系統(tǒng) 。2、如何理解嵌入式系統(tǒng),談?wù)勛约旱睦斫?。嵌入式系統(tǒng)是指:以應(yīng)用為中心、以計算機(jī)技術(shù)為基礎(chǔ)、軟硬件可裁剪、適應(yīng)應(yīng)用系統(tǒng)對功能、可靠性、成本、體積、功耗嚴(yán)格要求的專用計算機(jī)系統(tǒng)。他具有如下特點:1、嵌入式系統(tǒng)是面向產(chǎn)品、面向用戶、面向應(yīng)用的。2、嵌入式系統(tǒng)是一個技術(shù)密集、集成度高、需要不斷創(chuàng)新的集成系統(tǒng)。 3、嵌入式系統(tǒng)必須根據(jù)應(yīng)用場合對軟硬件進(jìn)行必要的裁剪已實現(xiàn)需要的功能3、簡述嵌入式系統(tǒng)的開發(fā)方法有哪幾種。目前,嵌入式系統(tǒng)的開發(fā)有模擬開發(fā)調(diào)試、 嵌入式在線仿真和遠(yuǎn)程調(diào)試等幾種方法。4、結(jié)合當(dāng)前嵌入式系統(tǒng)的發(fā)展,想象一下嵌入式系統(tǒng)的應(yīng)用前景。嵌入式系統(tǒng)技術(shù)有著非常廣泛的應(yīng)用前景,其領(lǐng)域包括:工業(yè)控制領(lǐng)域、信息家電領(lǐng)域、機(jī)器人領(lǐng)域、 POS網(wǎng)絡(luò)及電子商務(wù)領(lǐng)域、家庭智能管理系統(tǒng)、交通管理領(lǐng)域、環(huán)境工程與自然領(lǐng)域等。第二章一、填空題。1、Linux具有UNIX的所有特性并且具有自己獨特的魅力, 主要表現(xiàn)在:開放性、多用戶、多任務(wù)、友好的用戶界面、設(shè)備獨立性 、豐富的網(wǎng)絡(luò)功能、文件傳輸、遠(yuǎn)程訪問、可靠的安全性、良好的可移植性、XWindow系統(tǒng)、內(nèi)存保護(hù)模式。2、Linux一般包括四個主要部分: 內(nèi)核(Kernel)、命令解釋層(Shell或其他操作環(huán)境)、文件結(jié)構(gòu)(FileStructure)?口實用工具。3、目前幾乎所有的Linux發(fā)行版本中都包含了GnomesKDE兩種圖形操作環(huán)境。4、在當(dāng)前目錄下建立目錄,應(yīng)使用命令:mkdirlinux;查看當(dāng)前路徑應(yīng)使用命令:pwd;chmod765的作用是:使文件的擁有者權(quán)限、文件組權(quán)限和其他用戶擁有相應(yīng)的權(quán)限 。5、Linux內(nèi)核主要由:進(jìn)程調(diào)度,內(nèi)存管理,虛擬文件系統(tǒng),網(wǎng)絡(luò)接旦,進(jìn)程間通信五個子系統(tǒng)組成。二、選擇題1、下列(D)系列處理器是Ubuntu不支持的。

AMDA、ARMAMDC、X86 D、51單片機(jī)2、啟動 shell環(huán)境時,屏幕上顯示“ [arm@wwwhome]$”,其中的arm的意義是(B)。A、arm架構(gòu) B、用戶名C、文件夾 D 、路徑3、使用ls命令時,如果想對文件名中的不可顯示字符用八進(jìn)制逃逸字TOC\o"1-5"\h\z符顯示,則應(yīng)該選用的參數(shù)是( A)。A、-b B 、-aC、-l D 、-R4、解壓文件可使用命令( C)。A、tarjxvfA、tarjxvftarjxvf、tarzxvfD、tarczvf、Linux用的文件系統(tǒng)是( D)。A、ext2 B 、ext3C、nfs D、ntfs三、敘述題、簡述linux與windows的主要異同。Windows操作系統(tǒng)是在個人計算機(jī)上發(fā)展起來的,在許多方面受到個人計算機(jī)硬件條件的限制,這些操作系統(tǒng)必須不斷地升級才能跟上個人計算機(jī)硬件的進(jìn)步;而 Linux操作系統(tǒng)卻是以另外一種形式發(fā)展起來的,Linux是UNIX操作系統(tǒng)用于個人計算機(jī)上的一個版本,UNIX操作系統(tǒng)已經(jīng)在大型機(jī)和小型機(jī)上使用了幾十年, 直到現(xiàn)在仍然是工作站操作系統(tǒng)的首選平臺。Linux給個人計算機(jī)帶來了能夠與 UNIX系統(tǒng)相比的速度、效率和靈活性,使個人計算機(jī)所具有的潛力得到了充分發(fā)揮。Linux與Windows工作方式存在一些根本的區(qū)別,這些區(qū)別只有在用戶對兩者都很熟悉之后才能體會到,但它們卻是 Linux思想的核心。2、目前主流的圖形界面環(huán)境有哪些?它們各有什么有缺點?目前主流的圖形界面環(huán)境有 KDE和GNOME種圖形環(huán)境。KDE與GNOME5目擁有相同的目標(biāo),就是為 Linux開發(fā)一套高價值的圖形操作環(huán)境,兩者都采用GPL公約發(fā)行,不同之處在于KDE基于雙重授權(quán)的Qt,而GNOME用遵循GPL的GTK發(fā)開發(fā)一后者擁有更廣泛的支持。不同的基礎(chǔ)決定兩者不同的形態(tài): KDE包含大量的應(yīng)用軟件、項目規(guī)模龐大,因為沒有太多的第三方開發(fā)者為KDE開發(fā)重量級軟件;由于自帶軟件眾多,KDE比GNOME富多彩,加上使用習(xí)慣接近Windows,會更容易上手一些。但KDE的毛病在于運行速度相對較慢,且部分程序容易崩潰(當(dāng)然整個KD現(xiàn)潰的情況極少出現(xiàn))。GNOME目專注于桌面環(huán)境本身,由于軟件較少、運行速度快,且穩(wěn)定性相當(dāng)出色,完全遵循GPL公約的屬性讓它贏得重量級廠商的支持。從當(dāng)前的情況來看,GNOM舊經(jīng)成為Novell、RedHat企業(yè)發(fā)行版的默認(rèn)桌面,更偏向于商務(wù)領(lǐng)域;而豐富多彩的KDE有朝向家用和娛樂方向發(fā)展的趨勢,它比GNOME然更有趣味性一些。3、在 linux中如何使用mount命令掛載首先使用fdisk-l查看一下磁盤分區(qū)情況:然后使用命令: mount-tvfat/dev/sdb1/mnt/USB、如何設(shè)置 linux操作系統(tǒng)的網(wǎng)絡(luò)參數(shù) ?使用類似的命令:ifconfigeth0:netmask其中為ip,為子網(wǎng)掩碼。、簡要分析 linux內(nèi)核的各個組成部分。Linux內(nèi)核主要由五個子系統(tǒng)組成:進(jìn)程調(diào)度,內(nèi)存管理,虛擬文件系統(tǒng),網(wǎng)絡(luò)接口,進(jìn)程間通信。其中,進(jìn)程調(diào)度(SCHED控制進(jìn)程對CPU的訪問;內(nèi)存管理(MM允許多個進(jìn)程安全的共享主內(nèi)存區(qū)域;虛擬文件系統(tǒng) (VirtualFileSystem,VFS)隱藏了各種硬件的具體細(xì)節(jié),為所有的設(shè)備提供了統(tǒng)一的接口, VFS提供了多達(dá)數(shù)十種不同的文件系統(tǒng);進(jìn)程間通訊(IPC)?支持進(jìn)程間各種通信機(jī)制。 ?第三章一、填空題。1、ARM源列微處理器在高性能和低功耗方面提供最佳的性能:它具有3_級整數(shù)流水線,指令執(zhí)彳f效率更高;提供 MHz的哈佛總線結(jié)構(gòu);支持32位ARM旨令集不口16位Thumb指令集;支持塞位的高速AMBAg、線接口。2、ARM芯片的內(nèi)核一般包括以下幾個單元: ARM9TDMI32RISCb理器、數(shù)據(jù)緩存器(DataCache)指令緩存(InstructionCache)、指令存儲管理單元(InstructionMMU、數(shù)據(jù)存儲管理單元(DataMMU、寫緩沖(WriteBuffer)矛口回寫存儲單元(WriteBackPATAGRAM)。3、ARMfe理器共有3r個寄存器,其中31為通用寄存器,6個狀態(tài)寄存器,這些寄存器都是黛位4、ARM系統(tǒng)中尋址方式主要有立即尋址、寄存器尋址、寄存器間接尋址、基址變址尋址、多寄存器尋址、相對尋址和堆棧尋址。5、ARM微處理器的指令集可以分為以下六大類:跳轉(zhuǎn)指令、數(shù)據(jù)處理指令、程序狀態(tài)寄存器(PSR)處理指令、加載/存儲(Load/Store)指金、協(xié)處理器指令和異常中斷產(chǎn)生指令。二、選擇題.指令A(yù)DDRO,R0,#1第三個操作數(shù)得尋址方式是(AA.立即尋址B.寄存器尋址C.寄存器間接尋址D.基址變址尋址.指令LERR3,[R4]第二個操作數(shù)的尋址方式是( C)A.立即尋址B.寄存器尋址C.寄存器間接尋址D.基址變址尋址R0,[R1,#4]第二個操作數(shù)的尋址方式是(D)A.立即尋址B.寄存器尋址C.寄存器間接尋址D.基址變址尋址4.假設(shè)R0和R1寄存器中的值分別為8和6,執(zhí)行指令:LDRRQ[R1,#8]!,則寄存器R0和R1中的值分別為(B)A.8,6B.14,6C.14,14D.16,14棧是一種數(shù)據(jù)結(jié)構(gòu),本質(zhì)上是內(nèi)存中一段連續(xù)的地址,對其最常見的操作為“壓?!保≒USH和“出?!保≒OP,以臨時保存數(shù)據(jù)。其出入棧規(guī)則是(B)。A.先進(jìn)先出B.先進(jìn)后出C.只進(jìn)不出D.只出不進(jìn)三、敘述題1、ARM&理器的運行模式有哪幾種,各有什么特點?ARM1處理器的運行模式有7種,分別為:用戶模式(User,usr):正常程序執(zhí)行時,ARM&理器所處的狀態(tài)??焖僦袛嗄J剑‵IQ,fiq):用于快速數(shù)據(jù)傳輸和通道處理。外部中斷模式( IRQ,irq):用于通常的中斷處理。特權(quán)模式(Supervisor,sve):供操作系統(tǒng)使用的一種保護(hù)模式。數(shù)據(jù)訪問中止模式(Abort,abt):當(dāng)數(shù)據(jù)或指令預(yù)取終止時進(jìn)入該模式,用于虛擬存儲及存儲保護(hù)。未定義指令終止模式(Undefined,und):用于支持硬件協(xié)處理器軟件仿真。系統(tǒng)模式(System,sys):用于運行特權(quán)級的操作系統(tǒng)任務(wù)。2、ARMS儲器的組織主要有哪些類型,各有什么特點?ARM儲存器的組織最要有 2大類型,分別為小端格式和大端格式,也稱為小端次序(Littleendian)和大端次序 (Bigendian)的字節(jié)序(byteorder)。兩種儲存類的區(qū)別在于一個 32位的數(shù)據(jù)存放到儲存器中的時候,到底是高位字節(jié)放在高地址還是低地址的區(qū)別。3、ARM微處理器選型時應(yīng)注意:1、ARM微處理器內(nèi)核的選擇2、系統(tǒng)的工作頻率3、芯片內(nèi)存儲器的容量4、片內(nèi)外圍電路的選擇第四章0一、填空題。1、在ARM/ThumbT編語言程序中,程序是以程序段的形式呈現(xiàn)的。程序段是具有特有名稱的相對獨立的指令或數(shù)據(jù)序號。 程序段有兩大類型代碼段、數(shù)據(jù)段。2、基于linux下GCCE編語言,代碼表號必須在一行的頂端,后面要加上二,注釋的內(nèi)容可以在前面加上@3、在ARM的匯編程序中,偽指令種類繁多,可以細(xì)分為以下幾種偽指令:符號定義偽指令(SymbolDefinition)、數(shù)據(jù)定義偽指令(DataDefinition)、匯編控制偽指令(AssemblyControl)、宏指令4、linux下的嵌入式程序開發(fā),主要需要的代碼編輯器,如V和gedit,另外還需要編譯器gcc、調(diào)試器gdb以及項目管理器make5、Vi編輯器基本上有三種基本狀態(tài), 分別是:命令模式(commandmod?、插入模式(insertmode)和底行模式(lastlinemode)。6、使用gcc編譯文件生成可執(zhí)行文件要經(jīng)歷四個相互關(guān)聯(lián)的步驟: 預(yù)處理(也稱預(yù)編譯,Preprocessing)、編譯(Compilation)、匯編(Assembly)和連接(Linking)。二、選擇題1、1.假如使用偽指令定義一個局部的數(shù)據(jù)量,變量名為 temp,然后給其賦值為8,匯編代碼為(A)A.LCLAtemp;tempSETA0x08;B.LCLAtemp;tempSETL0x08;C.GBLAtemp;tempSETA0x08;D.GBLAtemp;tempSETL0x08;、在vi處于命令行模式時,如果需要對文本進(jìn)行修改,欲在光標(biāo)所在位置的下一個位置開始輸入文字,則(B)A、按下字母“i”進(jìn)入插入模式B、按下字母“a”進(jìn)入插入模式C、按下字母“o”進(jìn)入插入模式D、按下字母“n”進(jìn)入插入模式、當(dāng)前vi處于插入模式,先放棄對文本的修改,即不保存退出vi,則( C)。A使用“:q!”命令B、使用“:wq!”命令C、先按下“ESC后,再使用“:q!”命令D、先按“ESC'后,再使用“:wq!”命令、經(jīng)過匯編之后,生成的目標(biāo)文件的后綴名為(C)。.sA、.c.sC、.o D 、.exe5、對代碼文件進(jìn)行調(diào)試的命令為( A)。A、$gcc-g-ocodeB、$gcc-ocodeC、$gcc-gcodeD、$gcc-gcode三、敘述題、匯編語言和 C的混合編程通常有以下幾種方式,各有什么特點?匯編語言與C的混合編程通常有以下幾種方式:在C代碼中嵌入?yún)R編指令;在匯編程序和C的程序之間進(jìn)行變量的互訪;匯編程序、C程序間的相互調(diào)用。、如何使用調(diào)試器 gdb進(jìn)行代碼調(diào)試,具體的調(diào)試方法有哪些?查看文件、設(shè)置和查看斷點、運行代碼、查看變量值、單步運行、恢復(fù)程序運行。3、項目管理器的作用主要是什么?make就是實現(xiàn)這樣的功能:它讀入一個文件,叫makefile,這個文件不僅決定了源文件之間的依賴關(guān)系, 而且還決定了源文件什么時候該編譯什么時候不應(yīng)該編譯。第五章一、填空題。1、SMDK2440平臺的開發(fā)板采用的處理器是 S3c2440,其主頻一般為400M2、windows軟件環(huán)境的設(shè)置一般包括以下幾部分:超級終端的設(shè)置、DNWfe置、GIVEIO驅(qū)動的設(shè)置和US明區(qū)動3、在windows系統(tǒng)上建立基于linux嵌入式開發(fā)環(huán)境一般有三種方案可以選擇分別是Windows系統(tǒng)下安裝虛擬機(jī)VmwareWindows+Linux雙系統(tǒng)安裝、基于Windows操作系統(tǒng)下的Cygwin4、UBUNTU]網(wǎng)絡(luò)設(shè)置可以采用命令行方式、也可以采用圖形界面操作方式來配置。5、開發(fā)板硬件平臺是基于三星S3c2440的SMDK244坪臺的目標(biāo)板,使用的刻錄軟件為SJF2440。二、選擇題1、為了通過PC的串口和開發(fā)板進(jìn)行交互,需要使用( C)。A、USB設(shè)置 B 、同步C、超級終端 D、網(wǎng)絡(luò)連接2、在嵌入式linux的開發(fā)中,能實現(xiàn)上傳下載文件、刻錄文件、運行映像等功能工具是(D)o、FTPA、、FTPDDNWCTelnetDDNWTOC\o"1-5"\h\z3由普通用戶賬戶轉(zhuǎn)為管理員賬戶登錄,使用的命令為( D)。A$sudoroot B $sudoadministratorC$suadministrator D $suroot4、安裝FTP服務(wù)器時,在終端輸入的命令為( B)oA$apt-getinstall vsftpdB$sudoapt-getinstallvsftpdC$apt-getinstallftpD $sudoapt-getinstallftp5安裝Telnet服務(wù)時,在終端輸入的命令為( A)。A$sudoapt-getinstallxinetdtelnet dB $apt-getinstallxinetdtelnetdC$apt-getinstalltelnetd D $sudoapt-getinstalltelnetd三、敘述題1、建立基于Linux嵌入式開發(fā)環(huán)境一般有三種方案可以選擇:一是在Windows系統(tǒng)下安裝虛擬機(jī)Vmwara二是Windows系統(tǒng)和Linux系統(tǒng)同時安裝。三是基于Windows操作系統(tǒng)下的Cygwin。2、參看教材。3、參看教材。第六章一、填空題。()1、交叉開發(fā)工具鏈就是為了編譯、鏈接、處理和調(diào)試跨平臺體系結(jié)構(gòu)的程序代碼。每次執(zhí)行工具鏈軟件,通過帶有不同的參數(shù),可以實現(xiàn)編圣鏈接!處理、調(diào)試等不同的功能。2、linux經(jīng)常使用的工具鏈軟件有 Binutils、GccGlibc和Gdb3、分布構(gòu)建交叉編譯工具鏈的制作過程需要以下幾步: 編譯binutils、編譯輔助gcc編譯器、編譯glibc庫、重新編譯完整的gcc。4、使用crosstool構(gòu)建交叉編譯工具鏈的制作過程需要以下幾步:準(zhǔn)備工作、建立腳本文件、建立配置文件、執(zhí)行腳本文件和編譯gdb調(diào)試器。5、使用crosstool構(gòu)建交叉編譯工具鏈的制作過程中需要的配置文件,其主要作用是定義配置文件、定義生成編譯工具鏈的名稱、定義編譯選項等。二、選擇題.(B) 是二進(jìn)制程序處理工具,包括連接器,匯編器等目標(biāo)程序處理的工具。A.GccB.BinutilsC.GlibcD.Gdb.構(gòu)建交叉編譯器的第一個步驟是( D)A.下載工具 B.編譯所需文件C.實現(xiàn)平臺連接 D.確定目標(biāo)平臺3、分析以下代碼#exportPRJROOT=/home/arm/armlinux#exportTARGET=arm-linux#exportPREFIX=$PRJROOT/$TARGET其中,變量PREFIX代表的路徑為(B)oA、 /home/arm/armlinux B、/home/arm/armlinux/arm-linuxC、 /home/arm/arm-linux D、/home/arm/arm-linux/armlinuxBinutils是gnu工具之一,他包括連接器、匯編器和其他用于目標(biāo)

文件和檔案的工具,特使二進(jìn)制代碼的處理維護(hù)工具。其中包括(A文件和檔案的工具,特使二進(jìn)制代碼的處理維護(hù)工具。其中包括(A)命令,他是把一些目標(biāo)和歸檔文件結(jié)合在一起,重定位數(shù)據(jù),并連接符號引用。A.ldB.gprofC.arcD.as分布構(gòu)建交叉編譯鏈的過程有兩次變異gcc,其中第二次進(jìn)行編譯的作用是(獲得 glibc庫的支持)A.獲得newlib庫的支持 B.獲得glibe庫的支持C.獲得uClibe庫的支持D.獲得c庫的支持三、敘述題1、構(gòu)建交叉工具鏈有那幾種方法?通常構(gòu)建交叉工具鏈有三種方法:最終生方法一、分步編譯和安裝交叉編譯工具鏈所需要的庫和源代碼,成交叉編譯工具鏈。方法二、通過Crosstool腳本工具來實現(xiàn)一次編譯最終生生成交叉編譯工具鏈,該方法相對于方法一要簡單許多,并且出錯的機(jī)會也非常少,建議大多數(shù)情況下使用該方法構(gòu)建交叉編譯工具鏈; 方法三、直接通過網(wǎng)上下載已經(jīng)制作好的交叉編譯工具鏈。第七章一、填空題。1、Bootloader,亦稱引導(dǎo)加載程序,是系統(tǒng)加電后運行的第一段軟件代碼。2、一般Bootloader包含兩種不同的操作模式:啟動加載模式(Bootloading)和下載模式(Downloading)。3、Bootloader的主要功能是引導(dǎo)操作系統(tǒng)啟動,它的啟動方式有 網(wǎng)絡(luò)啟動、磁盤啟動和Flash啟動三種。4、Vivi運行的第一階段主要完成以下工作:屏蔽所有中斷、設(shè)置CPU的速度和時鐘頻率、 RAM9J始化、初始化LED和關(guān)閉CPU內(nèi)部指令/數(shù)據(jù)cache。二、選擇題1、在Bootloader的啟動方式中,F(xiàn)lash啟動方式通常有兩種,一種是可以直接從Flash啟動,另一種時可以將壓縮的內(nèi)存映像文件從 Flash中復(fù)制、解壓到“再從中啟動。A、ROMB、SDRAMC、RAMD、Flash2、在各種Bootloader中,B是以PPCBoot和ARMBoot為基礎(chǔ)的通用加載程序,并且在ARMPowerPC以及MIPS等多種平臺上運行。A、Vivi B、U-bootC、RedBootD、s-hboot3、在編譯Vivi之前將Vivi里所有的“*.o”和“*.”文件刪除,以確保文件編譯時沒有錯誤或者警告發(fā)生,使用的命令格式為(D)oA、makedistclean B、makecleanC、makemenuconfigA、makedistclean Bconfig4、編譯Vivi時,如果編譯成功,在/vivi里面會生成三個 vivi文件,其中不包括文件( D)。A、viviB、C、vivi-elf D、5、把二進(jìn)制文件載入 Flash或RAM?用的命令是(A)。A、loadB、partC、bootD、bon三、敘述題、簡述Bootloader的主要功能。BootLoader,亦稱引導(dǎo)加載程序,是系統(tǒng)加電后運行的第一段軟件代碼。它是整個系統(tǒng)執(zhí)行的第一步,所以它的地位在整個嵌入式軟件系統(tǒng)中是非常重要的。、Vivi作為一種Bootloader,其運行過程分成兩個階段,第一階段的代碼在Vivi/arch/s3c2440/ 中定義,大小不超過10KB,它包括從系統(tǒng)上電后在0x00000000地址開始執(zhí)行的部分。這部分代碼運行在 Flash中,它包括對 S3C2440的一些寄存器、時鐘等的初始化,然后跳轉(zhuǎn)到第二階段執(zhí)行;第二階段的代碼在中,主要進(jìn)行一些開發(fā)板初始化、內(nèi)存映射和內(nèi)存管理單元初始化等工作,最后會跳轉(zhuǎn)到boot_or_Vivi()函數(shù)中,接收命令并進(jìn)行處理。需要注意的是在 Flash中執(zhí)行完內(nèi)存映射后,會將Vivi代碼拷貝到SDRA忡執(zhí)行。3、U-Boot則支持大多CPU可以燒寫EXT2、JFFS2文件系統(tǒng)映象,支持串口下載、網(wǎng)絡(luò)下載,并提供了大量的命令。相對于Vivi,它的使用更復(fù)雜,但是可以用來更方便地調(diào)試程序;Vivi是Mizi公司針對SAMSUNGARM^CPU專門設(shè)計的,基本上可以直接使用,命令簡單方便。不過其初始版本只支持串口下載,速度較慢。在網(wǎng)上出現(xiàn)了各種改進(jìn)版本: 支持網(wǎng)絡(luò)功能、US時能、燒寫YAFFS文件系統(tǒng)映象等。第八章一、填空題。1、ARM-Linux內(nèi)核的配置系統(tǒng)由三個部分組成, 它們分別是Makefile、配置文件和配置工具。2、配置工具一般包括配置命令解釋器和配置用戶界面,前者主要作用是對配置腳本中使用的配置命令進(jìn)行解釋;而后者則是提供基于字符界面、基于Ncurses圖形界面以及基于XWindow圖形界面的用戶配置界面。3、Makefile文件主要包含注釋、編譯目標(biāo)定義和適配段。4、Linux內(nèi)核常用的配置命令有makeoldconfig、makeconfig、makemenuconfig和makexconfig。其中以字符界面配置的命令是 makeconfigo5、內(nèi)核編譯結(jié)束后,會在“/arch/arm/boot/”目錄下面和根目錄下面生成一個名為zImage的內(nèi)核鏡像文件。二、選擇題內(nèi)核中的makefile以及與makefile直接相關(guān)的文件不包括( C)。A.B.子目錄下的MakefileC.后綴名為.inD.后綴名為.config用戶通過makeconfig配置后,產(chǎn)生了后綴名為( A)。A.configB.inC.D.文件定義了許多變量,最重要的是那些編譯、連接列表變量,但不包括(D)。A.MX_OBJXB.O_TARGETC.O_OBJSD.O_OBJL在內(nèi)核配置過程中,如果需要設(shè)置 networkingsupport這個選項,進(jìn)入的菜單項是( D)。setupsystemC.BootoptionsD.Devicederives在linux系統(tǒng)中,我們既需要標(biāo)記變量的符號,有需要變量的物理地址,兩者同時需要的時候可以采用符號表的方式,其對應(yīng)的文件為(B)A.vmlinuxB.C.vmlinuzD.三、敘述題、Linux內(nèi)核各個部分與內(nèi)核源碼的各個目錄都是對應(yīng)起來的,比如有關(guān)驅(qū)動的內(nèi)容,內(nèi)核中就都組織到“drive”這個目錄中去,有關(guān)網(wǎng)絡(luò)的代碼都集中組織到“net”中。當(dāng)然,這里有的目錄是包含多個部分的內(nèi)容。具體各個目錄的內(nèi)容組成如下:arch:arch目錄包括了所有和體系結(jié)構(gòu)相關(guān)的核心代碼。include:include目錄包括編譯核心所需要的大部分頭文件,例如與平臺無關(guān)的頭文件在include/linux子目錄下;init:init目錄包含核心的初始化代碼(不是系統(tǒng)的引導(dǎo)代碼),有 和兩個文件; mm:mm目錄包含了所有的內(nèi)存管理代碼。與具體硬件體系結(jié)構(gòu)相關(guān)的內(nèi)存管理代碼位于arch/*/mm目錄下;drivers:drivers目錄中是系統(tǒng)中所有的設(shè)備驅(qū)動程序。它又進(jìn)一步劃分成幾類設(shè)備驅(qū)動,每一種有對應(yīng)的子目錄,如聲卡的驅(qū)動對應(yīng)于drivers/sound;ipc:ipc目錄包含了核心進(jìn)程間的通信代碼;modules:modules目錄存放了已建好的、可動態(tài)加載的模塊;fs:fs目錄存放Linux支持的文件系統(tǒng)代碼。不同的文件系統(tǒng)有不同的子目錄對應(yīng),如ext3文件系統(tǒng)對應(yīng)的就是 ext3子目錄;Kernel:Kernel內(nèi)核管理的核心代碼放在這里。同時與處理器結(jié)構(gòu)相關(guān)代碼都放在 arch/*/kernel目錄下;net:net目錄里是核心的網(wǎng)絡(luò)部分代碼,其每個子目錄對應(yīng)于網(wǎng)絡(luò)的一個方面;lib:lib目錄包含了核心的庫代碼,不過與處理器結(jié)構(gòu)相關(guān)的庫代碼被放在 arch/*/lib/目錄下;scripts:scripts目錄包含用于配置核心的腳本文件;documentation:documentation目錄下是一些文檔,是對每個目錄作用的具體說明。、將自己開發(fā)的內(nèi)核代碼加入到Linux內(nèi)核中,需要有三個步驟。首先確定把自己開發(fā)代碼放入到內(nèi)核的位置;其次,把自己開發(fā)的功能增加到Linux內(nèi)核的配置選項中,使用戶能夠選擇此功能;最后,構(gòu)建子目錄Makefile,根據(jù)用戶的選擇,將相應(yīng)的代碼編譯到最終生成的Linux內(nèi)核中去。主要步驟有:組織目錄結(jié)構(gòu),配置文件,修改makefile文件等。、Linux內(nèi)核的移植過程比較繁瑣,具體步驟如下:解壓內(nèi)核文件、修改機(jī)器碼、修改內(nèi)核源碼根目錄下的Makefile文件、修改“arch/arm/plat-s3c24xx/”文件,修改NandFlash的分區(qū)信息和NandFlash的硬件信息、修改時鐘頻率、增加 Yaffs2文件系統(tǒng)的支持、配置內(nèi)核、編譯內(nèi)核等。4、為什么要進(jìn)行內(nèi)核裁剪?內(nèi)核裁剪,主要作用就是為了適應(yīng)嵌入式系統(tǒng)的小體積、小存儲的特點,在內(nèi)核的大小方面進(jìn)行裁剪。內(nèi)核編譯之前,通過配置內(nèi)核的選項參數(shù)進(jìn)行設(shè)置,將不需要的功能刪掉,保留系統(tǒng)需要的部分,這樣就在一定程序上縮小了生成的鏡像文件大小。第九章一、填空題。1、Linux下的文件系統(tǒng)主要分為三個層次:上層用戶的應(yīng)用程序?qū)ξ募到y(tǒng)的系統(tǒng)調(diào)用、虛擬文件系統(tǒng)VFS和掛載到VFS中的各種實際文件系統(tǒng)。2、Linux中三常見的塊驅(qū)動程序: Blkmem驅(qū)動層、RAMdisk驅(qū)動層、MTN區(qū)動層3、基于Flash存儲常見的文件系統(tǒng)有JFFS2、Yaffs、Romfs和Cramfs。4、基于RAM勺文件系統(tǒng)常見的有Ramdisk和Ramfs/Tmpfs。5、SystemVinit、Busyboxinit二、選擇題1、(A)也支持在一塊Flash上建立多個Flash分區(qū),沒一個分區(qū)作為一個MTDblock設(shè)備,可以把系統(tǒng)軟件數(shù)據(jù)等分配到不同的分區(qū)上,同時也可以在不同的分區(qū)采用不同的文件系統(tǒng)格式。AMTN區(qū)動層B、Blkmem驅(qū)動層C、Romdisk驅(qū)動層D、Ramdisk驅(qū)動層2、在Linux系統(tǒng)中,因為Flash可以以分區(qū)為單位拆開或者合并后使用,所以文件系統(tǒng)是針對于(B)而言的。A存儲芯片B、存儲器分區(qū)C、FlashD、RAM3、(B)是可讀寫的、支持?jǐn)?shù)據(jù)壓縮的、基于哈希表的日志型文件系統(tǒng),并提供了崩潰 /掉電保護(hù),提供了“寫平衡”支持,是具有支持多種節(jié)點類型,提高了對 Flash的利用率等優(yōu)點的文件系統(tǒng)、A、CramfsB、YaffsC、RomfsD、JFFS24、(D)將一部分固定大小的內(nèi)存當(dāng)做分區(qū)來使用。它并非一個實際的文件系統(tǒng),而是一種將實際的文件系統(tǒng)裝入內(nèi)存的機(jī)制,并可以作為根文件系統(tǒng)。A、JFFS2B、YaffsC、RomfsD、Ramdisk5、目錄“ rc”(n表示運行級別,值分別取 0~6)下存放的文件則是用來定義每個運行級別將會執(zhí)行的應(yīng)用程序名,通常情況下它們都是符號鏈接,具體的文件則位于(B)目錄下。A、 B、C、rcD、三、敘述題1、在Linxu根文件系統(tǒng)中,一般包括這樣一些子目錄:/etc/、/dev/、/usr/、/usr/bin/、/bin/等。根文件系統(tǒng)的建立需要遵循一定的規(guī)則,包括目錄的位置及名字等 。用來建立根文件系統(tǒng)的規(guī)則被稱作文件系統(tǒng)分類標(biāo)準(zhǔn)(FilesystemHierarchyStandard,FHS),該規(guī)則定義了在構(gòu)建Linux根文件系統(tǒng)時文件和目錄的名字和存放位置的標(biāo)準(zhǔn)。2、簡述 Busybox的主要作用。Busybox能使用戶迅速方便的建立一套相對完整、功能豐富的文件系統(tǒng),其中包括大量常用的應(yīng)用程序。Busybox將許多常用的UNIX命令和工具結(jié)合到了一個單獨的可執(zhí)行程序中。它集成壓縮了Linux的許多工具和命令。雖然與相應(yīng)的 GNUE具比較起來,Busybox所提供的功能和參數(shù)略少,但在比較小的系統(tǒng)或者嵌入式系統(tǒng)中,這些已經(jīng)足夠用了。3、簡述NFS文件系統(tǒng)的制作過程般只要通過特殊的打包工具將文件系統(tǒng)打包,并刻錄到非易失性存儲器中中就可以了第十章一、填空題。1、Linux系統(tǒng)的設(shè)備文件分為四類: 塊設(shè)備文件、字符設(shè)備文件、網(wǎng)絡(luò)設(shè)備文件、雜項設(shè)備文件。2、設(shè)備號是一個數(shù)字,它是設(shè)備的標(biāo)志、如前所述,一個設(shè)備文件可以通過mknod命令來創(chuàng)建,其中指定了主設(shè)備號和次設(shè)備號。前者表明某一類設(shè)備,用于表示設(shè)備對應(yīng)的驅(qū)動程序,一般對應(yīng)著確定的驅(qū)動程序;后者一般用于區(qū)分標(biāo)明不同屬性, 它標(biāo)志著某個具體的物理設(shè)備。3、本章中的4種數(shù)據(jù)結(jié)構(gòu):file_operations

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論