《嵌入式LInux設(shè)計(jì)與開發(fā)》練習(xí)題_第1頁
《嵌入式LInux設(shè)計(jì)與開發(fā)》練習(xí)題_第2頁
《嵌入式LInux設(shè)計(jì)與開發(fā)》練習(xí)題_第3頁
《嵌入式LInux設(shè)計(jì)與開發(fā)》練習(xí)題_第4頁
《嵌入式LInux設(shè)計(jì)與開發(fā)》練習(xí)題_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

./練習(xí)題〔一一、填空題1.嵌入式系統(tǒng)一般包括_____________、嵌入式操作系統(tǒng)和。2.Arm7核采用的是體系結(jié)構(gòu)。3.S3C2410X芯片包含通道PWM定時(shí)器和____________通道部計(jì)時(shí)器。4.gcc的編譯流程分為預(yù)處理、編譯、和______________。5.C語言中的預(yù)處理語句是以符號(hào)開頭的。6.多任務(wù)系統(tǒng)中有3個(gè)功能單位:任務(wù)、和____________。二、選擇題1.下列操作系統(tǒng)中,具有Windows圖形界面的是〔A.VxWorksB.QNXC.WindowsCED.Linux2.使vi編輯器處于可編輯狀態(tài)的命令是〔A.rB.pC.iD.b3.下列選項(xiàng)中,能幫助用戶生成makefile的工具是〔A.gccB.a(chǎn)utotoolsC.gdbD.vi4.可以使用TFTP通過網(wǎng)絡(luò)下載文件的命令是〔A.runB.tftpbootC.sleepD.mv5.下列不屬于Linux系統(tǒng)中線程的是〔A.用戶級(jí)現(xiàn)程B.網(wǎng)絡(luò)級(jí)線程C.輕量級(jí)線程D.核級(jí)線程6.下列選項(xiàng)中,常用于網(wǎng)絡(luò)中不同機(jī)器之間的進(jìn)程間通信的是〔A.套接字B.管道C.信號(hào)D.信號(hào)量7.使用有關(guān)線程操作的函數(shù)時(shí)必須包含的頭文件是〔A.pthread.hB.stdio.hC.time.hD.string.h8.TCP/IP參考模型包含幾層〔A.4B.5C.6D.79.在TCP中,用于發(fā)送數(shù)據(jù)的函數(shù)是〔A.bind〔B.send〔C.a(chǎn)ccept〔D.recv〔10.下列選項(xiàng)中,不屬于Linux系統(tǒng)的設(shè)備分類的是〔A.字符設(shè)備B.?dāng)?shù)據(jù)設(shè)備C.塊設(shè)備D.網(wǎng)絡(luò)設(shè)備三、判斷對(duì)錯(cuò)1.Arm9采用的是5級(jí)指令流水線?!?.Vi編輯器有4種模式:標(biāo)準(zhǔn)模式、插入模式、命令行模式和可視模式。〔3.NFS文件系統(tǒng)的目的是讓不同的機(jī)器、不同的操作系統(tǒng)之間可以共享文件。〔4.一個(gè)線程可以包含多個(gè)進(jìn)程。〔5.TCP和UDP都是面向可靠的傳輸服務(wù)?!?.設(shè)備驅(qū)動(dòng)程序可以使用模塊的方式動(dòng)態(tài)加載到核去。〔7.標(biāo)準(zhǔn)I/O提供了3種類型的緩沖存儲(chǔ):全緩沖、行緩沖、不帶緩沖?!?.交叉編譯操作需要在安裝交叉編譯器后才能進(jìn)行。〔9.Linux環(huán)境下不能同時(shí)打開多個(gè)終端?!?0.進(jìn)程具有動(dòng)態(tài)性、交互性和異步性,但不具有并發(fā)性?!菜?、問答題1.簡述并行通信和串行通信的概念及各自的特點(diǎn)。并行通信是指利用多條數(shù)據(jù)傳輸線將一個(gè)字?jǐn)?shù)據(jù)的各比特位同時(shí)傳送。它的特點(diǎn)是傳輸速度快,適用于傳輸距離短且傳輸速度較高的通信。串行通信是指利用一個(gè)傳輸線將數(shù)據(jù)以比特位為單位順序傳送。特點(diǎn)是通信線路簡單,利用簡單的線纜就可以實(shí)現(xiàn)通信,成本低,適用于傳輸距離長且傳輸速度較慢的通信。2.闡述什么是交叉編譯,并解釋為什么要進(jìn)行交叉編譯。所謂交叉編譯就是在一個(gè)平臺(tái)上生成可以在另一個(gè)平臺(tái)上執(zhí)行的代碼。由于一般通用計(jì)算機(jī)擁有非常豐富的系統(tǒng)資源、使用方便的集成開放環(huán)境和調(diào)試工具等,而嵌入式系統(tǒng)的系統(tǒng)資源非常緊缺,無法在其上運(yùn)行相關(guān)的編譯工具,因此,嵌入式系統(tǒng)的開發(fā)需要借助宿主機(jī)〔通用計(jì)算機(jī)來編譯出目標(biāo)機(jī)的可執(zhí)行代碼。3.畫出OSI參考模型與TCP/IP參考模型的對(duì)應(yīng)關(guān)系。五、程序填空題1.在書寫makefile時(shí),適當(dāng)使用變量替換會(huì)使其進(jìn)一步得到簡化。題中給出了一個(gè)makefile的原始寫法,隨后給出了經(jīng)變量替換后的前三行語句,請(qǐng)?jiān)谙聞澗€上填寫后續(xù)語句。完整的makefile原始寫法如下:david:kang.oyul.o gcckang.oyul.o–odavidkang.o:kang.ckang.h gcc–Wall–g–ckang.c–okang.oyul.o:yul.cyul.h gcc–Wall–g–cyul.c–oyul.o經(jīng)過變量替換后的makefile如下:OBJS=kang.oyul.oCC=gccCFLAGS=-Wall–g<1><2><3><4><5><6>2.已知hello.h和hello.c兩個(gè)文件,按要求將所需命令寫在下劃線上。預(yù)處理階段的命令是:〔1編譯階段的命令是:〔2匯編階段的命令是:〔3階段的命令是:〔4運(yùn)行可執(zhí)行文件的命令是:〔5六、綜合題〔共34分1.用QT編寫一個(gè)顯示"welcomelinux"的窗口程序。2.有如下二叉樹,寫出它的先序序列、中序序列和后序序列。3.編程實(shí)現(xiàn)如下功能:使用fork〔函數(shù)創(chuàng)建一個(gè)子進(jìn)程,根據(jù)其返回值result判斷函數(shù)fork〔的返回情況,并進(jìn)行錯(cuò)誤處理。練習(xí)題〔二一、填空題1.嵌入式系統(tǒng)一般具備的三個(gè)基本要素是:"計(jì)算機(jī)系統(tǒng)"、__________和。2.ARM<AdvancedRISCMachines>有3種含義,它是一個(gè)_______的名稱,也是一類_________的通稱,還是一種技術(shù)的名稱。3.S3C2410X芯片提供通道的DMA,并具有_________請(qǐng)求引腳。4.Vim有________種模式,在其他任何模式下按下________按鍵都可以回到命令模式。5.一個(gè)makefile文件常包含三方面容:_________、dependency_file和_____________。二、單項(xiàng)選擇題1.下列選項(xiàng)中,不屬于嵌入式系統(tǒng)特點(diǎn)的是〔A.面向特定應(yīng)用B.量體裁衣C.對(duì)代碼要求低D.不具備二次開發(fā)功能2.使vi編輯器處于標(biāo)準(zhǔn)模式的命令是〔A.CtrlB.pC.EscD.b3.嵌入式Linux開發(fā)中常用到的一種調(diào)試工具是〔A.gccB.gdbC.a(chǎn)rm-linux-gccD.kernal4.單向鏈表的最后一個(gè)節(jié)點(diǎn)的指針域?yàn)椤睞.nextB.NULLC.FirstD.prev5.可以讓不同的機(jī)器、不同的操作系統(tǒng)直接進(jìn)行彼此共享文件的文件系統(tǒng)是〔A.SMBAB.NFSC.TFTPD.根文件系統(tǒng)6.下列Linux源碼頂層目錄的文件夾中,存放有關(guān)體系結(jié)構(gòu)代碼的是〔A.ArchB.driverC.fsD.Net7.在對(duì)文件的操作中,既可以對(duì)文件施加建議性鎖,又可以施加強(qiáng)制鎖的函數(shù)是〔A.fcntl<>B.lockf<>C.lseek<>D.select<>8.下列選項(xiàng)中,不屬于Unix進(jìn)程間通信的方式是〔A.變量B.管道C.FIFOD.信號(hào)9.下列選項(xiàng)中,不屬于設(shè)備驅(qū)動(dòng)程序特點(diǎn)的是〔A.可裝載B.可移植C.可設(shè)置D.動(dòng)態(tài)性10.下列選項(xiàng)中,用于在核空間向控制臺(tái)輸出信息的函數(shù)是〔A.printf〔B.printk〔C.print〔D.putchar〔三、判斷對(duì)錯(cuò)1.在S3C2410芯片中,對(duì)核的供電電壓和對(duì)存儲(chǔ)器的供電電壓可以不同。〔2.gcc的編譯流程可分為4個(gè)步驟:預(yù)處理、編譯、匯編、?!?.tftp服務(wù)中使用的tftp協(xié)議是基于UDP實(shí)現(xiàn)的?!?.BootLoader是不依賴硬件平臺(tái)的,所以在新電路板上無需移植U-boot程序。〔5.在Linux中,所有的設(shè)備文件一般都位于"/dev"下,其中串口一和串口對(duì)應(yīng)的設(shè)備名是相同的,都是"/dev/ttyS"?!?.設(shè)備驅(qū)動(dòng)程序既可以用靜態(tài)方式編譯在核中,也可以動(dòng)態(tài)加載到核中?!?.TCP協(xié)議適于可靠傳輸,UDP協(xié)議適于不可靠傳輸。〔8.嵌入式Linux驅(qū)動(dòng)的設(shè)備號(hào)是一個(gè)數(shù)字,由主設(shè)備號(hào)和次設(shè)備號(hào)組成?!?.嵌入式Linux系統(tǒng)中控制一個(gè)LED小燈,直接對(duì)其操作即可,無需編寫驅(qū)動(dòng)?!?0.進(jìn)程具有動(dòng)態(tài)性、交互性和異步性,但不具有并發(fā)性。〔四、問答題1.簡述vim編輯器的幾種工作模式。Vim編輯器的使用按不同的使用方式可以分為4種模式:標(biāo)準(zhǔn)模式、插入模式、命令行模式和可視模式。 標(biāo)準(zhǔn)模式:在此模式下任何鍵盤的輸入都是作為命令來對(duì)待。命令的輸入通常是不回顯的,只顯示執(zhí)行的結(jié)果。在此模式下用戶可以輸入命令來控制屏幕光標(biāo)的移動(dòng),字符、子或行的刪除等操作,也可進(jìn)入到其它3種模式下。在其它任何模式下按下"Esc"鍵都可以回到此模式。 插入模式:用戶只有在此模式下才可以進(jìn)行文字輸入和修改等編輯工作,因此也稱此模式為編輯模式。在標(biāo)準(zhǔn)模式下輸入"i"即可進(jìn)入此模式。 命令行模式:在此模式下,用戶可以將文件保存或退出vim,也可設(shè)置編輯環(huán)境,比如查找字符、列出行號(hào)等。在命令模式中輸入":"〔一般命令、"/"〔正向搜索或"?"〔反向搜索進(jìn)入該模式,在此模式下輸入的命令會(huì)在底行顯示,這些命令輸入后要按"Enter"鍵才執(zhí)行。 可視模式:在命令模式中輸入"v"〔按字符選擇、"V"〔按行選擇、"ctrl"+"v"〔按塊選擇進(jìn)入該模式。在此模式下,通過移動(dòng)光標(biāo)來選擇文本,選擇的文本將反白顯示。2.簡述嵌入式Linux中I/O處理的五種模型。I/O處理的模型有以下五種?!?阻塞I/O模型:在此模型下,若調(diào)用的I/O函數(shù)沒有完成相關(guān)的功能,則會(huì)使進(jìn)程掛起,直到相關(guān)數(shù)據(jù)到達(dá)才會(huì)返回?!?非阻塞模型:在此模型下,當(dāng)請(qǐng)求的I/O操作不能完成時(shí),不讓進(jìn)程睡眠,而且立即返回。非阻塞I/O使用戶可以調(diào)用不會(huì)阻塞的I/O操作,如open〔、write〔、read〔。如果該操作不能完成,則會(huì)立即返回出錯(cuò)或者返回0?!?I/O多路轉(zhuǎn)接模型:此模型下,如果請(qǐng)求的I/O操作阻塞,且它不是真正阻塞I/O,而是讓其中一個(gè)函數(shù)等待,期間,I/O還能進(jìn)行其他操作。〔4信號(hào)驅(qū)動(dòng)I/O模型:此模型下,通過安裝一個(gè)信號(hào)處理程序,系統(tǒng)可以自動(dòng)捕獲特定信號(hào),從而啟動(dòng)I/O。這是由核通知用戶何時(shí)啟動(dòng)一個(gè)I/O操作決定的?!?異步I/O模型:此模型下,當(dāng)一個(gè)描述符已準(zhǔn)備好,可以啟動(dòng)I/O時(shí),進(jìn)程會(huì)通知核。3.列舉并簡述嵌入式Linux中使用較多的進(jìn)程間通信的幾種工作方式?,F(xiàn)在在Linux中使用較多的進(jìn)程間通信方式主要有以下幾種。〔1管道及有名管道:管道可用于具有親緣關(guān)系進(jìn)程間的通信,有名管道除具有管道所有的功能外,還允許無親緣關(guān)系進(jìn)程間的通信。〔2信號(hào):信號(hào)是在軟件層次上對(duì)中斷機(jī)制的一種模擬,它是比較復(fù)雜的通信方式,用于通知進(jìn)程有某事件發(fā)生,一個(gè)進(jìn)程收到一個(gè)信號(hào)與處理器收到一個(gè)中斷請(qǐng)求效果上可以說是一樣的?!?消息隊(duì)列:消息隊(duì)列是消息的表,包括POSIX消息隊(duì)列,SystemV消息隊(duì)列。它克服了前兩種通信方式息量有限的缺點(diǎn),具有寫權(quán)限的進(jìn)程可以按照一定的規(guī)則向消息隊(duì)列中添加新消息;對(duì)消息隊(duì)列有讀權(quán)限的進(jìn)程則可以從消息隊(duì)列中讀取消息。〔4共享存:它使得多個(gè)進(jìn)程可以訪問同一塊存空間,不同進(jìn)程可以及時(shí)看到對(duì)方進(jìn)程中對(duì)共享存中數(shù)據(jù)的更新,這種通信方式需要依靠某種同步機(jī)制,如互斥鎖或信號(hào)量等?!?信號(hào)量:主要作為進(jìn)程之間以及同一進(jìn)程的不同線程之間的同步或互斥手段。〔6套接字:用于網(wǎng)絡(luò)中不同機(jī)器之間的進(jìn)程通信。4.畫出設(shè)備驅(qū)動(dòng)程序流程圖。五、程序填空題1.在嵌入式Linux開發(fā)過程中,為了驅(qū)動(dòng)LED小燈,需要編寫LED驅(qū)動(dòng),在驅(qū)動(dòng)中實(shí)現(xiàn)對(duì)端口寄存器的配置,對(duì)端口數(shù)據(jù)寄存器的操作,以及設(shè)備的注冊(cè)、打開、各種I/O操作和注銷等。下面是一個(gè)LED驅(qū)動(dòng)的框架,請(qǐng)?jiān)谙聞澗€上填寫合適的語句。#include<linux/fs>#defineDEVICE_NAME"led"#defineDEVICE_MAJOR231staticstructfile_operationsled_fops={<1><2><3><4>};staticintled_init<void>{;register_chrdev_region<>;}staticintled_release<structinode*node,structfile*file>{}staticintled_ioctl<structinode*inode,structfile*file,unsignedintcmd,unsignedlongarg>{}staticintled_open<structinode*inode,structfile*file>{}staticvoidled_cleanup<void>{unregister_chrdev_region<>;}<5>;<6><7>;<8

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論