嵌入式試卷整理_第1頁(yè)
嵌入式試卷整理_第2頁(yè)
嵌入式試卷整理_第3頁(yè)
嵌入式試卷整理_第4頁(yè)
嵌入式試卷整理_第5頁(yè)
已閱讀5頁(yè),還剩4頁(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、一選擇題1X86系列PC,引導(dǎo)操作系統(tǒng)的程序是: BA. BIOS B. 引導(dǎo)盤(pán)第一物理扇區(qū)中的引導(dǎo)代碼 C.用戶程序 D.內(nèi)存中的系統(tǒng)程序2在uCOS-II操作系統(tǒng)中,下面的哪個(gè)選項(xiàng)可以做任務(wù)的標(biāo)識(shí): AA. 任務(wù)的優(yōu)先級(jí) B. 控制塊鏈表C. 空控制塊鏈表D. 中斷號(hào)3下面的操作系統(tǒng)中,占用存儲(chǔ)空間最小的操作系統(tǒng)是; DA. WindowsXB. LinuxC. WinCE D. uCOS-II4 X86系列微處理器堆棧的增長(zhǎng)方向是: AA. 向下 B.不變C. 向上 D. 由SP決定5在嵌入式ARM處理器中,中斷方式優(yōu)先級(jí)最高的是: D A. IRQ B. 數(shù)據(jù)中止C. FIQ D. R

2、eset6在uCOS-II操作系統(tǒng)中,定義變量OSRdydGrp,通過(guò)OSRdydGrp再訪問(wèn)任務(wù)就緒表,是為了查詢就緒表中任何一個(gè)任務(wù)的狀態(tài)時(shí)能夠: CA.時(shí)間相等;B. 延長(zhǎng)查詢時(shí)間;C. 快速查詢; D. 增加調(diào)度可靠性 7在uCOS-II操作系統(tǒng)中使用內(nèi)存時(shí),下面4個(gè)選項(xiàng)中,正確答案是:AA. 先分區(qū),區(qū)內(nèi)分塊;B. 先分塊,塊內(nèi)分區(qū); C. OS_MEM定義內(nèi)存分區(qū)分塊數(shù)據(jù)結(jié)構(gòu);D.內(nèi)存控制塊鏈表記錄內(nèi)存使用情況8在uCOS-II操作系統(tǒng)中,要申請(qǐng)一個(gè)內(nèi)存塊,正確函數(shù)是:BA. OSMemCreat() ; B. OSMemGet(); C. OSMemPut();D. OSMemQ

3、uery()9在將uCOS-II操作系統(tǒng)移植到非X86 處理器上時(shí),需要修改的文件是:CA. OS_CORE.C;B. OSTimeGet( ) ;C. OS_CPU.H;D. OSTaskInit10在uCOS-II操作系統(tǒng)中,下面哪個(gè)函數(shù)與時(shí)間無(wú)關(guān)。CA. OSTimeDly( ) B. OSTimeGet( ) C. OSIntNesting( ) D. OSTimeDlyHMSM( )1. 在uCOS-II操作系統(tǒng)中,下面的選項(xiàng)_A_可以做任務(wù)的標(biāo)識(shí)。A. 任務(wù)的優(yōu)先級(jí) B. 控制塊鏈表C. 空控制塊鏈表D. 中斷號(hào)2. 下面的操作系統(tǒng)中,占用存儲(chǔ)空間最小的操作系統(tǒng)是_C_。A. Wi

4、ndowsXB. LinuxC. ucos-2D. WinCE3. X86系列微處理器堆棧的增長(zhǎng)方向是_C_。A. 向上 B.不變 C. 向下 D. 由SP決定4. 在嵌入式ARM處理器中,中斷方式優(yōu)先級(jí)最高的是A_。A. Reset B. 數(shù)據(jù)中止C. FIQ D. IRQ5. 在uCOS-II操作系統(tǒng)中,定義變量OSRdydGrp,通過(guò)OSRdydGrp再訪問(wèn)任務(wù)就緒表,是為了查詢就緒表中任何一個(gè)任務(wù)的狀態(tài)時(shí)C_。A.時(shí)間相等;B. 延長(zhǎng)查詢時(shí)間;C. 快速查詢; D. 增加調(diào)度可靠性 6. 下面的嵌入式操作系統(tǒng)中,哪個(gè)很少用在手機(jī)上_D_。A. Symbian B. linuxC. Wi

5、n CE D. VxWorks7、在uCOS-II操作系統(tǒng)中,下面4個(gè)選項(xiàng)中,不正確答案是_B_。A. 先分區(qū),區(qū)內(nèi)分塊;B. 先分塊,塊內(nèi)分區(qū); C. OS_MEM定義內(nèi)存分區(qū)分塊數(shù)據(jù)結(jié)構(gòu);D.內(nèi)存控制塊鏈表記錄內(nèi)存使用情況8、在uCOS-II操作系統(tǒng)中,要申請(qǐng)一個(gè)內(nèi)存塊,正確函數(shù)是_B_。A. OSMemCreat() ; B. OSMemGet(); C. OSMemPut();D. OSMemQuery()9、在將uCOS-II操作系統(tǒng)移植到ARM處理器上時(shí),需要修改的文件是_C_。 A. OS_CORE.C;B. OSTimeGet( ) ;C. OS_CPU.H;D. OSTask

6、Init10、在uCOS-II操作系統(tǒng)中,下面哪個(gè)函數(shù)與時(shí)間無(wú)關(guān)_C_。A. OSTimeDly( ) B. OSTimeGet( ) C. OSIntNesting( ) D. OSTimeDlyHMSM( )二判斷題1嵌入式系統(tǒng)可以采用提供不同的時(shí)鐘頻率技術(shù)來(lái)降低功耗。2嵌入式系統(tǒng)是嵌入到對(duì)象體系內(nèi)部的專用計(jì)算機(jī)系統(tǒng)。3嵌入式系統(tǒng)開(kāi)發(fā)環(huán)境和運(yùn)行環(huán)境不一致。4請(qǐng)求消息郵箱需要調(diào)用函數(shù)OSMboxDel()函數(shù)。×5定義MYTASKSTKTASK_STK_SIZE為任務(wù)MYTASK的堆棧,使用的CPU遵守堆棧的增長(zhǎng)方向是增地址的,則初始化堆棧時(shí),堆棧的棧頂指針是&MYTASK

7、STKTASK_STK_SIZE 。×6PC_DOSSaveReturn( )是保存windows環(huán)境向量函數(shù)。×7PC_VectSet(uCOS, OSCtxSw)是安裝DOS中斷向量函數(shù)。×8OSStart( )是啟動(dòng)多任務(wù)管理函數(shù)。9.OSStatInit( )是初始化統(tǒng)計(jì)任務(wù)的函數(shù)。10OSTaskCreate(StartTask,(void*)0, &StartTaskStkTASK_STK_SIZE - 1, 0)這個(gè)函數(shù)創(chuàng)建了MyTask任務(wù),給任務(wù)傳遞參數(shù)是0,設(shè)置任務(wù)堆棧棧頂是&StartTaskStkTASK_STK_SIZE

8、- 1,MyTask任務(wù)的優(yōu)先級(jí)別為0。 2不需將軟件引導(dǎo)到RAM中而是讓其直接在NorFlash上運(yùn)行,這種方式啟動(dòng)最快( X )3X86采用的體系結(jié)構(gòu)是馮.諾依曼結(jié)構(gòu)( )6創(chuàng)建消息郵箱需要調(diào)用函數(shù)OSMboxCreate()函數(shù)()7向消息郵箱發(fā)送消息需要調(diào)用函數(shù)OSMboxPost()函數(shù)()8請(qǐng)求消息郵箱需要調(diào)用函數(shù)OSMboxPend()函數(shù)()9查詢消息郵箱的狀態(tài)需要調(diào)用函數(shù)OSMboxQuery()函數(shù)()10查詢消息郵箱的狀態(tài)需要調(diào)用函數(shù)OSMboxDel()函數(shù)()12uCOS_II.C文件內(nèi)容是uCOS_II的C文件()13OSInit( )是初始化uCOS_II函數(shù)(

9、)14PC_DOSSaveReturn( )是保存Dos環(huán)境函數(shù)( )15PC_VectSet(uCOS, OSCtxSw)是安裝uCOS_II中斷函數(shù)( )19所有的電子設(shè)備都屬于嵌入式設(shè)備( X )20CISC將被RISC所取代( X )三填空題1uCOS-II的任務(wù)結(jié)構(gòu)由3個(gè)部分構(gòu)成:任務(wù)控制塊、(任務(wù)程序代碼任務(wù)堆棧)、任務(wù)程序代碼;2系統(tǒng)軟件的定義是(控制和協(xié)調(diào)計(jì)算機(jī)及外部設(shè)備,支持應(yīng)用軟件開(kāi)發(fā)和運(yùn)行的系統(tǒng),是無(wú)需用戶干預(yù)的各種程序的集合,主要功能是調(diào)度,監(jiān)控和維護(hù)計(jì)算機(jī)系統(tǒng) ); 3任務(wù)控制塊中OSTCBNext、(OSTCBPrev)兩個(gè)變量使任務(wù)能構(gòu)成雙向鏈表;4內(nèi)核負(fù)責(zé)管理各

10、個(gè)任務(wù),或者為每個(gè)任務(wù)分配CPU時(shí)間,并且負(fù)責(zé)任務(wù)之間的通信,內(nèi)核的基本服務(wù)是(任務(wù)程序代碼任務(wù)調(diào)度);5在uCOS-II中,用信號(hào)量實(shí)現(xiàn)任務(wù)之間通信,信號(hào)量的管理文件是(OS_SEM.C);6在uCOS-II中,用消息郵箱實(shí)現(xiàn)任務(wù)之間通信, 消息郵箱的管理文件是(OS_MBOX. C);7在uCOS-II中,用互斥信號(hào)量實(shí)現(xiàn)任務(wù)之間通信, 互斥信號(hào)量的管理文件是(OS_MUTEX.C);8在uCOS-II中,用消息隊(duì)列實(shí)現(xiàn)任務(wù)之間通信, 消息隊(duì)列的管理文件是(OS_Q.C);9uCOS-II為了實(shí)現(xiàn)不同層次的管理,系統(tǒng)提供了基于分區(qū)分塊的存儲(chǔ)器訪問(wèn)方式。創(chuàng)建內(nèi)存分區(qū)的原函數(shù)名是(OS_MEM

11、 *OSMemCreate(void *addr,INT32U nblks, INT32U blksize, INT8U *err);) ;10存儲(chǔ)器內(nèi)存控制塊OS_MEM的數(shù)據(jù)結(jié)構(gòu)是采用結(jié)構(gòu)體定義的,結(jié)構(gòu)體的名字是(OS_MEM );四簡(jiǎn)答題1.已知任務(wù)A的優(yōu)先級(jí)是prio,簡(jiǎn)述將其置為就緒態(tài)的算法和過(guò)程,寫(xiě)出示意代碼。答:設(shè)Prio=00D5 D4 D3 D2 D1 D0OSRdyGrp中的第y位(D5 D4 D3位)或1(不管原來(lái)是1或0,該位置1);第y組即元素OSRdyTbly(第y行)的第x位(D2 D1 D0位)置即1;首先使OSRdyGrp中的第y位置1:OSRdyGrp|=O

12、SMapTblPrio>>3; 再使第y行的第x位(D2 D1 D0位)置即1OSRdyTblPrio>>3 |=OSMapTblPrio&0x072.已知OSRdTbl和OSRdGrp值,敘述查找任務(wù)就緒表中最高優(yōu)先級(jí)任務(wù)的方法和過(guò)程,寫(xiě)出示意代碼。答:(1)獲得優(yōu)先級(jí)別的D5、D4、D3位;(2)獲得優(yōu)先級(jí)別的D2、D1、D0位(3)(y << 3) + x獲得就緒任務(wù)的優(yōu)先級(jí)別y = OSUnMapTblOSRdyGrp;/獲得優(yōu)先級(jí)別的D5、D4、D3位 x = OSUnMapTblOSRdyTbly; /獲得優(yōu)先級(jí)別的D2、D1、D0位 O

13、SPrioHighRdy = (INT8U)(y << 3) + x);/獲得就緒任務(wù)的優(yōu)先級(jí)別3uCOS-II系統(tǒng)中有13個(gè)文件,其中有2個(gè)文件與應(yīng)用程序相關(guān),請(qǐng)你寫(xiě)出這13個(gè)文件的名稱,解釋每個(gè)文件在系統(tǒng)中所起的作用(解釋要全面);答:OS_CORE.C;在系統(tǒng)中所起的作用-核OS_Q.C; 在系統(tǒng)中所起的作用-消息隊(duì)列OS_FLAG.C; 在系統(tǒng)中所起的作用-信號(hào)量集OS_SEM.C; 在系統(tǒng)中所起的作用-信號(hào)量OS_MBOX.C; 在系統(tǒng)中所起的作用-消息郵箱OS_TASK.C; 在系統(tǒng)中所起的作用-任務(wù)OS_TIME.C; 在系統(tǒng)中所起的作用-時(shí)間OS_MEM.C; 在系

14、統(tǒng)中所起的作用-存儲(chǔ)器OS_MUTEX.C; 在系統(tǒng)中所起的作用-互斥型信號(hào)量uCOS.C; 在系統(tǒng)中所起的作用-定義9個(gè)C文件和一個(gè)頭文件uCOS.H; 在系統(tǒng)中所起的作用-定義常數(shù)OS_CFG.H; 在系統(tǒng)中所起的作用-實(shí)現(xiàn)可裁剪性INCLUDES.H;在系統(tǒng)中所起的作用-文件中定義了9個(gè)頭文件4. 簡(jiǎn)述uCOS-II的中斷響應(yīng)過(guò)程答:中斷請(qǐng)求、關(guān)中斷、轉(zhuǎn)到中斷向量、保存CPU寄存器、通知內(nèi)核進(jìn)入5寫(xiě)出實(shí)時(shí)操作系統(tǒng)中任務(wù)調(diào)度器的思想;答:void OSSched (void) reentrant INT8U y; OS_ENTER_CRITICAL(); if (OSLockNesting

15、 | OSIntNesting) = 0) / y = OSUnMapTblOSRdyGrp; OSPrioHighRdy = (INT8U)(y << 3) + OSUnMapTblOSRdyTbly); if (OSPrioHighRdy != OSPrioCur) OSTCBHighRdy = OSTCBPrioTblOSPrioHighRdy; OSCtxSwCtr+; OS_TASK_SW(); OS_EXIT_CRITICAL();五代碼題1.設(shè)計(jì)一個(gè)有2個(gè)任務(wù)的應(yīng)用程序,這兩個(gè)任務(wù)是mytask和youtask, 在mytask中創(chuàng)建youtask,當(dāng)程序運(yùn)行后,任務(wù)

16、mytask的工作在顯示器上顯示一個(gè)M; 任務(wù)youtask的工作在顯示器上顯示一個(gè)Y;運(yùn)行結(jié)果是:請(qǐng)你編寫(xiě)這個(gè)程序。/*Test*/#include "includes.h"#define TASK_STK_SIZE 512/任務(wù)堆棧長(zhǎng)度OS_STK MyTaskStkTASK_STK_SIZE;/定義任務(wù)堆棧區(qū)OS_STK YouTaskStkTASK_STK_SIZE;/定義任務(wù)堆棧區(qū)INT16S key;/用于退出uCOS_II的鍵INT8U x=0,y=0;/字符顯示位置void MyTask(void *data);/聲明任務(wù)void YouTask(void

17、*data);/聲明任務(wù)/*主函數(shù)*/void main (void) char* s_M="M"/定義要顯示的字符 OSInit( );/初始化uCOS_II PC_DOSSaveReturn( );/保存Dos環(huán)境 PC_VectSet(uCOS, OSCtxSw);/安裝uCOS_II中斷 OSTaskCreate(MyTask,/創(chuàng)建任務(wù)MyTasks_M,/給任務(wù)傳遞參數(shù)&MyTaskStkTASK_STK_SIZE - 1,/設(shè)置任務(wù)堆棧棧頂指針0/任務(wù)的優(yōu)先級(jí)別為0); OSStart( );/啟動(dòng)多任務(wù)管理/*任務(wù)MyTask*/void MyTas

18、k (void *pdata) char* s_Y="Y"/定義要顯示的字符#if OS_CRITICAL_METHOD = 3 OS_CPU_SR cpu_sr;#endif pdata = pdata; OS_ENTER_CRITICAL( );PC_VectSet(0x08, OSTickISR);/安裝時(shí)鐘中斷向量 PC_SetTickRate(OS_TICKS_PER_SEC);/設(shè)置時(shí)鐘頻率 OS_EXIT_CRITICAL( ); OSStatInit( );/初始化統(tǒng)計(jì)任務(wù) OSTaskCreate(YouTask,s_Y,&YouTaskStkTA

19、SK_STK_SIZE - 1,2); for (;) if (x>50) x=0;y+=2; PC_DispChar(x, y,*(char*)pdata,DISP_BGND_BLACK+DISP_FGND_WHITE ); x += 1; if (PC_GetKey(&key) = TRUE)/如果按下Esc鍵則退出uCOS_II if (key = 0x1B) PC_DOSReturn( );/恢復(fù)Dos環(huán)境 OSTimeDlyHMSM(0, 0, 3, 0);/等待3秒/*任務(wù)YouTask*/void YouTask (void *pdata)#if OS_CRITIC

20、AL_METHOD = 3 OS_CPU_SR cpu_sr;#endif pdata = pdata; for (;) if (x>50) x=0;y+=2; PC_DispChar(x, y,*(char*)pdata,DISP_BGND_BLACK+DISP_FGND_WHITE ); x += 1; OSTimeDlyHMSM(0, 0, 1, 0);/等待1秒/*End*/2. 程序分析題(共20分)1指出程序中的共享資源和信號(hào)量 答:“ac_key”是信號(hào)量,S是共享資源2分析程序執(zhí)行過(guò)程,按程序執(zhí)行的先后順序,用箭頭連接語(yǔ)句標(biāo)號(hào),例如: 答:1 2 3 4 5 6 7 8

21、9 10 11 12 13若干次2 3 413若干次2 3 4OSTime>=500 2 3 4 5 6 7 8 9 10 11 12 13若干次2 3 413若干次2 3 4OSTime>=5003寫(xiě)出打印屏幕的結(jié)果:答案,參考教材P1074對(duì)屏幕打印的結(jié)果做詳細(xì)解釋:答案,MyTask打印的行數(shù)是YouTask行數(shù)的一半;#include "includes.h"#define TASK_STK_SIZE 512OS_STK MyTaskStkTASK_STK_SIZE;OS_STK YouTaskStkTASK_STK_SIZE;INT16S key;IN

22、T8U y1=0,y2=0;BOOLEAN ac_key;char* s="原始數(shù)據(jù)"void MyTask(void *data);void YouTask(void *data);void main (void) OSInit( );ac_key=1; ( 1 )PC_DOSSaveReturn( );PC_VectSet(uCOS, OSCtxSw);OSTaskCreate(MyTask, (void*)0,&MyTaskStkTASK_STK_SIZE - 1, 0);OSStart( );void MyTask (void *pdata) (2 )#if

23、 OS_CRITICAL_METHOD = 3 OS_CPU_SR cpu_sr;#endifINT8U err; pdata = pdata; OS_ENTER_CRITICAL( );PC_VectSet(0x08, OSTickISR);PC_SetTickRate(OS_TICKS_PER_SEC); OS_EXIT_CRITICAL( );OSStatInit( );OSTaskCreate(YouTask,(void*)0,&YouTaskStkTASK_STK_SIZE - 1,2); for (;) (3 ) if(ac_key) (4 ) ac_key=FALSE;

24、(5 ) s="MyTask訪問(wèn)共享數(shù)據(jù)s" (6 ) PC_DispStr(5, +y1,s,ISP_BGND_BLACK+DISP_FGND_WHITE);ac_key=TRUE; (7 )if (PC_GetKey(&key) = TRUE) if (key = 0x1B) PC_DOSReturn( ); OSTimeDly(20); void YouTask (void *pdata) (8 )#if OS_CRITICAL_METHOD = 3 OS_CPU_SR cpu_sr;#endif INT8U err; pdata = pdata; for (

25、;) if(ac_key) (9 )ac_key=FALSE; (10 ) s="YouTask訪問(wèn)共享數(shù)據(jù)s" (11 ) PC_DispStr(28, +y2,s, DISP_BGND_BLACK+DISP_FGND_WHITE ); OSTimeSet(0); (12 )while(OSTime<500) (13 )PC_DispStr(55, y2,s, DISP_BGND_BLACK+DISP_FGND_WHITE ); ac_key=TRUE; (14 ) OSTimeDly(10); 3.結(jié)合實(shí)時(shí)操作系統(tǒng)創(chuàng)建任務(wù)和任務(wù)之間通信的實(shí)驗(yàn),編寫(xiě)一個(gè)創(chuàng)建2-3個(gè)任務(wù),并實(shí)現(xiàn)任務(wù)之間通信的程序,程序盡可能完整,丟失關(guān)鍵代碼扣分#include "includes.h"#define TASK_STK_SIZE 512/任務(wù)堆棧長(zhǎng)度OS_STK TaskStartStkTASK_S

溫馨提示

  • 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)論