嵌入式Linux試題及答案_第1頁(yè)
嵌入式Linux試題及答案_第2頁(yè)
嵌入式Linux試題及答案_第3頁(yè)
嵌入式Linux試題及答案_第4頁(yè)
嵌入式Linux試題及答案_第5頁(yè)
已閱讀5頁(yè),還剩2頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、嵌入式開(kāi)發(fā)期中試卷試卷適用范圍:2011級(jí)計(jì)算機(jī)科學(xué)與技術(shù)(本)1、2班一、填空題(每空1分,共46分)習(xí) 題 11填空題(1)嵌入式系統(tǒng)是以應(yīng)用為中心、以 計(jì)算機(jī)技術(shù) 為基礎(chǔ),軟、硬件可裁剪,適應(yīng)于應(yīng)用系統(tǒng)對(duì)功能、可靠性、成本、體積、功耗等方面有特殊要求的專用計(jì)算機(jī)系統(tǒng)。(2)嵌入到對(duì)象體系中的專用計(jì)算機(jī)系統(tǒng)。 嵌入性 、 專用性 與 計(jì)算機(jī)系統(tǒng) 是嵌入式系統(tǒng)的三個(gè)基本要素。 對(duì)象系統(tǒng) 是指嵌入式系統(tǒng)所嵌入的宿主系統(tǒng)。(3)嵌入式系統(tǒng)按形態(tài)可分為設(shè)備級(jí)(工控機(jī))、板級(jí)(單板、模塊)、 芯片級(jí)(MCU、SOC)。(4)嵌入式系統(tǒng)由 硬件 和 軟件 兩大部分組成,硬件一般由高性能微處理器和外圍接

2、口電路組成,軟件一般由操作系統(tǒng)和應(yīng)用程序構(gòu)成,軟件和硬件之間由所謂的中間層(BSP層,板級(jí)支持包)連接。(5)嵌入式系統(tǒng)從組織層次上看,嵌入式系統(tǒng)一般由 硬件層 、 中間層 、 軟件層 和功能層組成。(6)在專用的嵌入式板子上面運(yùn)行GNU/Linux系統(tǒng)已經(jīng)變得越來(lái)越流行。一個(gè)嵌入式Linux系統(tǒng)從軟件的角度看通??梢苑譃樗膫€(gè)層次: 引導(dǎo)加載程序 、 Linux內(nèi)核 、 文件系統(tǒng) 、用戶應(yīng)用程序。(7)嵌入式系統(tǒng)硬件的核心部件是各種類型的 嵌入式處理器 。(8)嵌入式系統(tǒng)的核心部件是嵌入式處理器,一般把嵌入式處理器分成4類,即 微處理器 、 微控制器 、 數(shù)字信號(hào)處理器 、和嵌入式片上系統(tǒng)。(

3、9)ARM公司首創(chuàng)了 chipless 的生產(chǎn)模式,專門(mén)從事基于RISC技術(shù)芯片的設(shè)計(jì)開(kāi)發(fā),公司本身并不生產(chǎn)芯片,而是設(shè)計(jì)出高效的IP內(nèi)核,授權(quán)給半導(dǎo)體公司使用。(10)ARM7TDMI中,T表示 支持Thump指令集 。D表示支持片上調(diào)試(Debug)。M表示內(nèi)嵌硬件乘法器(Multiplier)。I表示支持片上斷點(diǎn)和調(diào)試點(diǎn)。(11)ARM9系列微處理器包含 ARM920T 、ARM922T和ARM940T三種類型,以適用于不同的應(yīng)用場(chǎng)合。(12)ARM微處理器有兩種工作狀態(tài): Thump狀態(tài) 、 ARM狀態(tài) 。(13)通用寄存器分為三類:未分組寄存器、 分組寄存器 、 程序計(jì)數(shù)器(PC)

4、。(14) 異常 是由內(nèi)/外部源引起的需要處理器干預(yù)的一個(gè)事件。(15)精簡(jiǎn)指令集計(jì)算機(jī)RISC(Reduced Instruction Set Computer)和 復(fù)雜指令集計(jì)算機(jī)CISC 是當(dāng)前CPU的兩種架構(gòu)。(16)ARM微處理器的在較新的體系結(jié)構(gòu)中支持兩種指令集: ARM指令集 、 Thump指令集 。(17)MMU的作用有兩個(gè): 將虛擬地址轉(zhuǎn)化為物理地址 、 對(duì)存儲(chǔ)器訪問(wèn)的控制 。習(xí) 題 21填空題(1) 交叉開(kāi)發(fā)環(huán)境 是由開(kāi)發(fā)主機(jī)和目標(biāo)板兩套計(jì)算機(jī)系統(tǒng)構(gòu)成的。(2)OK2440-II開(kāi)發(fā)板采用 核心板 + 底板 的模式,核心板為6層,底板為2層。(3)交叉編譯的主要特征是某機(jī)器

5、中執(zhí)行的程序代碼不是在本機(jī)編譯生成,而是由另一臺(tái)機(jī)器編譯生成的,一般把前者稱為 目標(biāo)機(jī) ,后者稱為 宿主機(jī) 。(4)基于ARM平臺(tái)的交叉編譯工具鏈主要有: arm-linux-* 和 arm-elf-* 。(5)arm-linux-*是針對(duì) linux程序 的開(kāi)發(fā)環(huán)境的(6)arm-elf-*是針對(duì) uCLinux程序 的開(kāi)發(fā)環(huán)境(7)2002年11月,清華大學(xué)計(jì)算機(jī)系的博士后 陳渝 提出了用軟件實(shí)現(xiàn)嵌入式開(kāi)發(fā)板硬件模擬器的想法,在模擬器上可以運(yùn)行各種操作系統(tǒng),這樣就可以在沒(méi)有開(kāi)發(fā)板的情況下學(xué)習(xí)和研究操作系統(tǒng)。于是借鑒了ARMulator的實(shí)現(xiàn),提出了 SkyEye 項(xiàng)目。(8)SkyEye是

6、一個(gè) 指令級(jí) 模擬器,可以模擬多種嵌入式開(kāi)發(fā)板,可支持多種CPU指令集,在SkyEye上運(yùn)行的操作系統(tǒng)意識(shí)不到它是在一個(gè)虛擬的環(huán)境中運(yùn)行,而且開(kāi)發(fā)人員可以通過(guò)SkyEye調(diào)試操作系統(tǒng)和系統(tǒng)軟件。(9)SkyEye模擬的硬件配置和模擬執(zhí)行行為由配置文件 skyeye.conf 中的選項(xiàng)確定。(10)skyeye.conf的選項(xiàng)主要由兩種組成: 單參數(shù)選項(xiàng)行 、 多參數(shù)選項(xiàng)行 。(11) TFTP 是TCP/IP協(xié)議族中的一個(gè)用來(lái)在客戶機(jī)與服務(wù)器之間進(jìn)行文件傳輸?shù)暮?jiǎn)單協(xié)議,主要基于UDP協(xié)議來(lái)實(shí)現(xiàn)。(12) NFS 是由Sun開(kāi)發(fā)并發(fā)展起來(lái)的文件系統(tǒng),用于在不同機(jī)器,不同操作系統(tǒng)之間通過(guò)網(wǎng)絡(luò)互相分

7、享各自的文件。習(xí) 題 31填空題(1)目前,在嵌入式系統(tǒng)開(kāi)發(fā)中,使用的主要編程語(yǔ)言是 C 和 匯編 。(2)從程序員的角度看, 函數(shù)庫(kù) 實(shí)際上就是一些頭文件(.h)和庫(kù)文件(.so或.a)的集合。(3)Linux下大多數(shù)函數(shù)默認(rèn)將頭文件放到 /usr/include 目錄下,而庫(kù)文件放到 /usr/lib 目錄下。(4) 靜態(tài)庫(kù) 也叫做檔案(archive),可以認(rèn)為是一些目標(biāo)代碼的集合,靜態(tài)庫(kù)的文件名按慣例以“.a”作為文件后綴名。(5) 共享庫(kù) 是在程序啟動(dòng)時(shí)被加載到執(zhí)行程序中的,并且可以被多個(gè)執(zhí)行程序共享使用。(6)GCC(GNU Compiler Collection)是 一組編譯工具

8、 的總稱,主要的任務(wù)是預(yù)處理和編譯,并且提供了與編譯器緊密相關(guān)的運(yùn)行庫(kù)(libgcc_s.so、libstdc+.so等)的支持。(7)Makefile文件規(guī)則包含兩個(gè)部分: 依賴關(guān)系 和 生成目標(biāo)的方法 。(8) 編程庫(kù) 是指始終可以被多個(gè)Linux軟件項(xiàng)目重復(fù)使用的代碼集。(9)在匯編語(yǔ)言中,用 助記符 代替操作碼,用 地址符號(hào) 代替地址碼。(10)PC機(jī)上,對(duì)于x86系列的處理器,有 AT&T 和 Inter 兩種語(yǔ)法格式。(11)目前常用的ARM編譯環(huán)境有2種: ARM ASM 、GNU ARM ASM。 。(12) 偽操作 是ARM匯編語(yǔ)言源程序里的一些特殊助記符,其作用主要

9、是為完成匯編程序做各種準(zhǔn)備工作,在源程序匯編期間由 匯編程序 處理。(13) 宏指令 是由用戶按照宏定義格式編寫(xiě)的一段程序,其中語(yǔ)句可以是指令、偽操作、偽指令,甚至是已定義的宏指令。(14)用戶可以通過(guò) AREA 偽操作來(lái)定義一個(gè)段。(15)匯編源程序的缺省入口是 start 標(biāo)號(hào),用戶也可以在鏈接腳本文件中用 ENTRY 標(biāo)志指明其它入口點(diǎn)。(16)為了使C語(yǔ)言程序和匯編程序之間能夠互相調(diào)用,必須為子程序間的調(diào)用制定規(guī)則,在ARM處理器中,這個(gè)規(guī)則被稱為 ATPCS規(guī)則 。(17)一般地,當(dāng)參數(shù)個(gè)數(shù)不超過(guò)4個(gè)時(shí),使用 R0-R3 這4個(gè)寄存器來(lái)傳遞參數(shù)。(18)在ARM處理器平臺(tái)上的底層驅(qū)動(dòng)

10、開(kāi)發(fā),通常會(huì)有兩種方式:一種是脫離操作系統(tǒng)的裸機(jī)驅(qū)動(dòng)設(shè)計(jì)方法,這與以前在8位機(jī)和16位機(jī)上的常用開(kāi)發(fā)方式類同。另一種就是 基于_操作系統(tǒng)的底層驅(qū)動(dòng)設(shè)計(jì)方法 。(19) asm 用來(lái)聲明一個(gè)內(nèi)聯(lián)匯編表達(dá)式,所以任何一個(gè)內(nèi)聯(lián)匯編表達(dá)式都是以它開(kāi)頭的,是必不可少的。(20)在ARM匯編語(yǔ)言程序中,子程序的調(diào)用一般是通過(guò) BL 指令實(shí)現(xiàn)。(21)ELF格式文件有3類:可重定位的目標(biāo)文件、 可執(zhí)行文件 、共享庫(kù)。(22)可從兩個(gè)視角了解ELF文件格式:程序鏈接的視角、 程序執(zhí)行的視角 。(23)每一個(gè)鏈接過(guò)程都由 鏈接腳本 控制。二、簡(jiǎn)答題(共54分)(13)簡(jiǎn)述ARM指令集和Thumb指令集各自的特點(diǎn)

11、。l ARM指令集和Thumb指令集具有以下共同點(diǎn):較多的寄存器,可以用于多種用途。對(duì)存儲(chǔ)器的訪問(wèn)只能通過(guò)Load/Store指令。項(xiàng)目ARM指令Thumb指令指令工作標(biāo)志CPSR的T位=0CPSR的T位=1操作數(shù)尋址方式大多數(shù)指令為3地址大多數(shù)指令為2地址指令長(zhǎng)度32位16位內(nèi)核指令58條30條條件執(zhí)行大多數(shù)指令只有分支指令數(shù)據(jù)處理指令訪問(wèn)桶形移位器和ALU獨(dú)立的桶形移位器和ALU指令寄存器使用15個(gè)通用寄存器+PC8個(gè)通用低寄存器+7個(gè)高寄存器+PC程序狀態(tài)寄存器特權(quán)模式下可讀可寫(xiě)不能直接訪問(wèn)異常處理能夠全盤(pán)處理不能處理(14)簡(jiǎn)述嵌入式操作系統(tǒng)的種類與特點(diǎn)。uC/OS-II:可應(yīng)用于8位

12、,16、32位單片機(jī)或DSP windowsCE :微軟開(kāi)發(fā)的一個(gè)開(kāi)放的,可升級(jí)的32位嵌入式系統(tǒng),是基于掌上型電腦類的電子設(shè)備操作系統(tǒng)VxWorks:專門(mén)為實(shí)時(shí)嵌入式系統(tǒng)設(shè)計(jì)開(kāi)發(fā)的 Linux:類似于UNIX的操作系統(tǒng) Palm OS:是一個(gè)32位的嵌入式操作系統(tǒng)(15)列出一些知名的嵌入式Linux版本。ETLinux 設(shè)計(jì)用于在小型工業(yè)計(jì)算機(jī),尤其是 PC/104 模塊上運(yùn)行的 Linux 的完全分發(fā)版。 LEM 運(yùn)行在 386 上的小型(<8 MB)多用戶、網(wǎng)絡(luò) Linux 版本。 LOAF “Linux On A Floppy”分發(fā)版,運(yùn)行在 386 上。 uClinux 在沒(méi)

13、有 MMU 的系統(tǒng)上運(yùn)行的 Linux。目前支持 Motorola 68K、MCF5206 和 MCF5207 ColdFire 微處理器。 uLinux 在 386 上運(yùn)行的 tiny Linux 分發(fā)版。 ThinLinux 面向?qū)S玫恼障鄼C(jī)服務(wù)器、X-10 控制器、MP3 播放器和其它類似的嵌入式應(yīng)用的最小化的 Linux 分發(fā)版。(16)簡(jiǎn)述嵌入式系統(tǒng)的結(jié)構(gòu)。1嵌入式系統(tǒng)的硬件架構(gòu)2嵌入式系統(tǒng)的軟件結(jié)構(gòu) 圖1.2 嵌入式系統(tǒng)硬件結(jié)構(gòu)圖1.3 嵌入式系統(tǒng)軟件結(jié)構(gòu)(17)簡(jiǎn)述嵌入式系統(tǒng)開(kāi)發(fā)流程、開(kāi)發(fā)要點(diǎn)。(1)系統(tǒng)需求分析。(2)體系結(jié)構(gòu)設(shè)計(jì)。(3)硬件/軟件協(xié)同設(shè)計(jì)?;隗w系結(jié)構(gòu),對(duì)系統(tǒng)

14、的軟件、硬件進(jìn)行詳細(xì)設(shè)計(jì)。(4)系統(tǒng)集成。(5)系統(tǒng)測(cè)試。(1)通過(guò)模擬器進(jìn)行嵌入式學(xué)習(xí),有哪些優(yōu)點(diǎn)?1.學(xué)習(xí)的成本降低,使開(kāi)發(fā)人員比較容易進(jìn)入嵌入式軟件開(kāi)發(fā)的廣闊領(lǐng)域2.可以模擬多種嵌入式開(kāi)發(fā)板,可以支持多種CPU指令集3.更加方便開(kāi)發(fā)人員調(diào)試操作系統(tǒng)和系統(tǒng)軟件(2)交叉開(kāi)發(fā)環(huán)境主要由哪些工具組成?交叉調(diào)試環(huán)境包括宿主機(jī)端的交叉調(diào)試器和目標(biāo)機(jī)端的調(diào)試代理。(3)簡(jiǎn)述采用交叉編譯的主要原因?采用交叉編譯的主要原因有兩個(gè):首先,在嵌入式系統(tǒng)開(kāi)發(fā)的起始階段,目標(biāo)平臺(tái)尚未建立,因此需要做交叉編譯,來(lái)生成所需的BootLoader以及操作系統(tǒng)內(nèi)核;其次,當(dāng)目標(biāo)平臺(tái)能夠啟動(dòng)之后,由于目標(biāo)機(jī)資源的限制,不

15、能提供足夠的資源供編譯過(guò)程使用,因而只好將編譯工程轉(zhuǎn)移到高性能的宿主機(jī)中進(jìn)行(1)簡(jiǎn)述GCC軟件包里包含哪些工具,他們的作用是什么?1.源代碼預(yù)處理程序cpp cpp02.C編譯器cc,ccl cclplus gcc3.C+編譯器c+,cclplus g+4.庫(kù)文件(2)簡(jiǎn)述編譯C語(yǔ)言源程序時(shí)的基本流程。源程序-預(yù)處理器-編譯器-匯編器-鏈接器-可執(zhí)行程序(6)使用編程庫(kù)的主要優(yōu)點(diǎn)?1.可以簡(jiǎn)化編程,實(shí)現(xiàn)代碼重復(fù)使用,進(jìn)而減小應(yīng)用程序的大小2.可以直接使用比較穩(wěn)定的代碼(9)簡(jiǎn)述匯編分類。X86下的AT&T和INTERARM系列的ARM ASM和 GNU ARM ASM(11)在C中嵌入?yún)R編的格式?asm (“匯編語(yǔ)句”:輸出寄存器:輸入寄存器:會(huì)被修改的寄存器) ;(12)簡(jiǎn)述C語(yǔ)言與匯編語(yǔ)言混合編程應(yīng)遵守的規(guī)則。AT

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論