嵌入式系統(tǒng)設(shè)計師練習(xí)題及答案解析_第1頁
嵌入式系統(tǒng)設(shè)計師練習(xí)題及答案解析_第2頁
嵌入式系統(tǒng)設(shè)計師練習(xí)題及答案解析_第3頁
嵌入式系統(tǒng)設(shè)計師練習(xí)題及答案解析_第4頁
嵌入式系統(tǒng)設(shè)計師練習(xí)題及答案解析_第5頁
已閱讀5頁,還剩266頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

TOC\o"1-1"\h\u1948嵌入式系統(tǒng)設(shè)計師練習(xí)題及答案第一套 127709嵌入式系統(tǒng)設(shè)計師練習(xí)題及答案第二套 531698嵌入式系統(tǒng)設(shè)計師練習(xí)題及答案第三套 165144嵌入式系統(tǒng)設(shè)計師練習(xí)題及答案解析第四套 2714311嵌入式系統(tǒng)設(shè)計師練習(xí)題及答案解析第五套 45389嵌入式系統(tǒng)設(shè)計師練習(xí)題及答案解析第六套 5921693嵌入式系統(tǒng)設(shè)計師練習(xí)題及答案解析第七套 677502嵌入式系統(tǒng)設(shè)計師練習(xí)題及答案解析第八套 7517821嵌入式系統(tǒng)設(shè)計師練習(xí)題及答案解析第九套 8111422嵌入式系統(tǒng)設(shè)計師練習(xí)題及答案解析第十套 9026112嵌入式系統(tǒng)設(shè)計師練習(xí)題及答案解析第十一套 991048嵌入式系統(tǒng)設(shè)計師練習(xí)題及答案解析第十二套 10619146嵌入式系統(tǒng)設(shè)計師練習(xí)題及答案解析第十三套 11521683嵌入式系統(tǒng)設(shè)計師練習(xí)題及答案解析第十四套 1266702嵌入式系統(tǒng)設(shè)計師練習(xí)題及答案解析第十五套 13926758嵌入式系統(tǒng)設(shè)計師練習(xí)題及答案解析第十六套 1542001嵌入式系統(tǒng)設(shè)計師練習(xí)題及答案解析第十七套 1615864嵌入式系統(tǒng)設(shè)計師練習(xí)題及答案解析第十八套 16916104嵌入式系統(tǒng)設(shè)計師練習(xí)題及答案解析第十九套 17712941嵌入式系統(tǒng)設(shè)計師練習(xí)題及答案解析第二十套 1894706嵌入式系統(tǒng)設(shè)計師練習(xí)題及答案解析第二十一套 1992438嵌入式系統(tǒng)設(shè)計師練習(xí)題及答案解析第二十二套 212嵌入式系統(tǒng)設(shè)計師練習(xí)題及答案第一套1、以下關(guān)于CPU的敘述中,錯誤的是A.CPU產(chǎn)生每條指令的操作信號并將操作信號送往相應(yīng)的部件進行控制B.程序計數(shù)器PC除了存放指令地址,也可以臨時存儲算術(shù)/邏輯運算結(jié)果C.CPU中的控制器決定計算機運行過程的自動化D.指令譯碼器是CPU控制器中的部件2、以下關(guān)于Cache的敘述中,正確的是A.在容量確定的情況下,替換算法的時間復(fù)雜度是影響Cache命中率的關(guān)鍵因素B.Cache的設(shè)計思想是在合理成本下提高命中率C.Cache的設(shè)計目標(biāo)是容量盡可能與主存容量相等D.CPU中的Cache容量應(yīng)大于cPu之外的Cache容量3、風(fēng)險預(yù)測從兩個方面評估風(fēng)險,即風(fēng)險發(fā)生的可能性以及A.風(fēng)險產(chǎn)生的原因B.風(fēng)險監(jiān)控技術(shù)C.風(fēng)險能否消除D.風(fēng)險發(fā)生所產(chǎn)生的后果4、許多程序設(shè)計語言規(guī)定,程序中的數(shù)據(jù)都必須具有類型,其作用不包括A.便于為數(shù)據(jù)合理分配存儲單元B.便于對參與表達(dá)式計算的數(shù)據(jù)對象進行檢查C.便于定義動態(tài)數(shù)據(jù)結(jié)構(gòu)D.使于規(guī)定數(shù)據(jù)對象的取值范圍及能夠進行的運算5、在計算機系統(tǒng)中,對程序員是透明的。A.磁盤存儲器B.高速緩存C.RAM存儲器D.flash存儲器6、下列計算機總線屬于串行總線的是A.PCIB.1394C.VMED.ISA7、按指令流和數(shù)據(jù)流的組織關(guān)系,計算機系統(tǒng)的結(jié)構(gòu)有以下不同類型,大規(guī)模并行處理機MPP屬于,結(jié)構(gòu)。A.SISD8.SIMDC.MISDD.MIMD8、不屬于按尋址方式劃分的一類存儲器。A.隨機存儲器B.順序存儲器C.相聯(lián)存儲器D.直接存儲器9、下列安全協(xié)議中,與TLs最接近的協(xié)議是A.PGPB.SSLC.HTTPSD.IPSec10、定義風(fēng)險參照水準(zhǔn)是活動常用的技術(shù)。A.風(fēng)險識別B.風(fēng)險預(yù)測C.風(fēng)險評估D.風(fēng)險控制閱讀以下關(guān)于嵌入式系統(tǒng)技術(shù)的說明,根據(jù)要求回答問題1至問題3。11、[說明]設(shè)有數(shù)組x和Y。X數(shù)組中有X1,X2、..、X10十個數(shù),Y中有Y1、Y2、..、Y10十個數(shù)。編制程序計算:Z1=X1+Y1Z2-X2+Y2Z3=X3-Y3Z4=X4-Y4Z5=X5-Y5Z6=X6+Y6Z7=X7-Y7Z8=X8-Y8Z9=X9+Y9Z10=X10+Y10設(shè)置一個10位的標(biāo)志尺:LOGICRULE,若它的每一位決定了當(dāng)前按順序該做加法(該位為0)或減法(該位為1)操作,則由上列等式可知LOGICRULE中的低10位應(yīng)是()。[匯編程序代碼]datareasegment;definedatasegmentx1,x2,x3,x4,x5,X6,x7,x8,x9,x10Y1,y2,y3,Y4,y5,Y6,Y7,Y8,y8,y10dwz1,z2,23,z4,z5,z6,z7,z8,z9,z10logicruledw(2);LOGICRULEinitialize網(wǎng)atareaendsprogramsegment;definecodesegmentmainproCfarassumecs:program,ds:datareastart:;startingexecutionaddress3);saveolddatasegmentSubax,ax;putzeroinAXpush;saveitonstack;setDSregistertocurrentdatasegmentmovax,datareamoVds,ax;MAINPARTOFPROGRAMGOESHEREmoVbx,0movex,10movdx,logicrulenext:movax,x[bx]shrdx,1jcsubtractjmpshortresultsubtract:subax,y[bx]result:;result=>Znaddbx,21oopnextret;returntoDoSmainendr;endofmainpartofprogramprogramends;endofcodesegmentendstart;endofassembly附:指令及寄存器說明。MOV傳送字或字節(jié)PUSH把字壓入堆棧SHR邏輯右移JC有進位時轉(zhuǎn)移JMP無條件轉(zhuǎn)移指令SUB減法ADD加法LOOPCx不為零時循環(huán)JNE/JNZ不等于時轉(zhuǎn)移CMP比較段寄存器2個:CS:代碼段寄存器DS:數(shù)據(jù)段寄存器數(shù)據(jù)寄存器4個:AX:累加器BX:基址寄存器CX:計數(shù)寄存器DX:數(shù)據(jù)寄存器答案:1、B2、B3、D4、C5、B6、B7、D8、C9、B10、C11、0011011100(2)00dch,或00DCH,或220,或等價的二進制形式(3)pushds(4)addax,y[bx](5)movz[bx],ax嵌入式系統(tǒng)設(shè)計師練習(xí)題及答案第二套試題一閱讀以下利用場景法設(shè)計測試用例的技術(shù)說明,回答問題1至問題5。閱讀以下關(guān)于某嵌入式系統(tǒng)設(shè)計方案的敘述。[說明]某公司承接了開發(fā)周期為6個月的某機載嵌入式系統(tǒng)軟件的研制任務(wù)。該機載嵌入式系統(tǒng)硬件由數(shù)據(jù)處理模塊、大容量模塊、信號處理模塊、FC網(wǎng)絡(luò)交換模塊和電源模塊組成,如圖所示。數(shù)據(jù)處理模塊和大容量模塊的處理器為PowerPC7447,數(shù)據(jù)處理模塊主要對機載數(shù)據(jù)進行處理,完成數(shù)據(jù)融合;大容量模塊主要存儲系統(tǒng)數(shù)據(jù),同時也有數(shù)據(jù)處理的能力;信號處理模塊的處理器為專用的數(shù)字信號處理器DSP,完成雷達(dá)數(shù)據(jù)處理,并將處理后的數(shù)據(jù)發(fā)送給數(shù)據(jù)處理模塊;FC網(wǎng)絡(luò)交換模塊為已開發(fā)的模塊,本次不需要開發(fā)軟件,主要負(fù)責(zé)系統(tǒng)的數(shù)據(jù)交換;電源模塊主要負(fù)責(zé)給其他模塊供電,電源模塊上沒有軟件。PowerPC7447和DSP是32位處理器,內(nèi)存按字節(jié)編址。PowerPC7447以大端方式(big_endian)存儲數(shù)據(jù),DSP以小端方式(1ittleendian)存儲數(shù)據(jù)。1、在數(shù)據(jù)處理模塊1中,需要使用A/D變換器對外部電源模塊的電壓進行檢測。當(dāng)前數(shù)據(jù)處理模塊中的A/p變換器為10位,當(dāng)A/D變換器的輸入模擬電壓最大為5.115V時,A/D輸出為3FFH。通過配置A/D變換器的中斷寄存器及比較寄存器(比較寄存器的值是用來和A/D轉(zhuǎn)換結(jié)果進行比較),可以將A/D變換器配置為輸入電壓大于一定值時產(chǎn)生中斷,也可以配置為輸入電壓小于一定值時產(chǎn)生中斷,通過此種方式向系統(tǒng)報警。請回答以下三個問題。(1)此A/D變換器的量化間隔為多少mv?(量化間隔為A/D變換器最低有效位1位所代表的模擬電壓值)(2)如果規(guī)定下限闕值為4.092v,要使用中斷檢測這個電壓,此時A/D變換器的比較寄存器應(yīng)配置為多少?(3)如果采用查詢方式實現(xiàn)電源電壓超限報警功能,程序如何判斷A/D變換器完成了單次數(shù)據(jù)轉(zhuǎn)換?2、李工負(fù)責(zé)該系統(tǒng)軟件的研發(fā)。在軟件策劃過程中,為了加快軟件的開發(fā),確保進度,李工將軟件分解為若干軟件配置項,每個軟件配置項指定一人開發(fā)。每個配置項的開發(fā)過程包括:軟件需求分析、軟件概要設(shè)計、軟件詳細(xì)設(shè)計、軟件編碼、軟件單元測試和部件級測試六個階段。李工的做法符合軟件工程的要求嗎?為什么?3、田工負(fù)責(zé)編寫信號處理模塊與數(shù)據(jù)處理模塊的通信程序,約定好的數(shù)據(jù)組織方式如表所示。以下是信號處理模塊端的一段程序:unsignedintmsgid=0x01;//表示從信號處理模塊發(fā)送到數(shù)據(jù)處理模塊2的消息IDtypedefstructFCSND-Datastruct{unsignedcharA;unsignedintB;unsignedshortC:unsignedcharD[16];}FCSNDDATA;FCSNDDATAsendData;Fi11fcData(&sendData);//將待發(fā)送數(shù)據(jù)賦值到sendData數(shù)據(jù)結(jié)構(gòu)中sendfc((msgid,&sendData,sizeof(FCSND_DATA.);//發(fā)送數(shù)據(jù)以下是數(shù)據(jù)處理模塊2端的一段程序:unsignedintmsgid=Ox00;//接收到的消息IDtypedefstructFCRCVDatastructunsignedcharA;unsignedintB;unsignedshortC;unsignedcharD[16];}FCRCV_DATA;FCRCVDATArecvData;recvfc((msgid,&recvData,sizeof(FCRCVDATA.);//接收數(shù)據(jù)請問以上程序是否存在問題?如果存在問題,請分析原因。試題二閱讀以下說明和x86匯編語言代碼,根據(jù)要求回答問題1至問題3。表6-3所示為x86系統(tǒng)指令及寄存器說明表。[說明]在計算機控制中,有些數(shù)據(jù)補償、計算及轉(zhuǎn)換等參數(shù)的計算非常復(fù)雜,編程難,程序長且運算費時,但是用數(shù)表卻比較容易實現(xiàn)。設(shè)有256個字節(jié)的數(shù)據(jù),已按從小到大的順序存放在以BINTAB為首地址的數(shù)據(jù)區(qū)單元中,現(xiàn)要求查找其中值為126的數(shù)據(jù),用對分查表法查詢的匯編程序如下:[匯編程序代碼]DATASEGMENTBINTABDB18,25,32,46,56,78,..…:第1~100個數(shù)據(jù)DB90,95,99,100,106,126,.…;第101~200個數(shù)據(jù)DB189,195,197,202,206,216,..…;第201~256個數(shù)據(jù)COUNTEQU256FLAGDWKEYEQU4DATAENDSSTAKSEGMENTSTPNDB20DUP(?)STAKENDSCODESEGMENTASSUMECS,CODE,DS,DATA,ES:DATA,SS:STAKBINSEATPROCFARSTART,MOVAX,DATAMOVDS,AXMOVES,AXLEASI,BINTABMOVCX,COUNTMOVDX,1MoVAX,SIADDAX,CXMOVDI,AXMOVAL,KEYLOPO,MOVBX,SIADDBX,DISHRBX,1CMPAL,[BX]JZFOUNDPUSHF5UZNFOUNDPOPFJLLESSMOVSI,BXJMPNEXTLESS,6NEXT,7JMPLOPONFOUND:MOVAX,DX;未找到,標(biāo)志全1送DXFOUND:MOVAX,DXMOVFLAG,AXRETBINSEATENDPCODEENDS84、[問題1]請根據(jù)試題的要求,將匯編程序代碼中(1)~(5)空缺處的內(nèi)容填寫完整。5、[問題2]請用MOv語句實現(xiàn)匯編程序代碼中“LEASI,BINTAB"語句的功能。6、[問題3]該匯編程序執(zhí)行后,F(xiàn)LAG存儲單元中的數(shù)值是什么?使用對分查表法查詢位于這256個字節(jié)數(shù)據(jù)表中的數(shù)據(jù)時,“CMPAL,[BX]”最多被執(zhí)行幾次?答案:試題一1、(1)SmV(2)0x332,或818(3)通過查詢狀態(tài)寄存器的對應(yīng)狀態(tài)位判斷2、李工的安排不合理。軟件開發(fā)和軟件測試不能為同一個人。一般情況下,每個軟件配置項的軟件需求分析、軟件設(shè)計與編碼、軟件測試的人員需要分開,不能由一人全部完成,以確保軟件的質(zhì)量。3、有問題。(1)數(shù)據(jù)結(jié)構(gòu)定義有邊界對齊問題;(2)接收和發(fā)送端的處理程序沒有對大小端轉(zhuǎn)換進行處理。試題二4、(1)126,或其對應(yīng)的二進制數(shù)形式(2)CMPBX,SI(3)MOVDI,BX(4)INCDX(5)ENDSTART這是一道要求讀者掌握對分查表法算法的程序分析題。本題的解答思路如下:①對分查表法用于有序表的查找。對一個字節(jié)長度為N的有序表(從小到大排列),先取N/2處的值與待找的數(shù)據(jù)x進行比較,若x大于N/2處的值,則下一次取N/2至N的中間值即3N/4處的值進行比較,反之下一次取0至N/2的中間值即N/4處的值進行比較。如此不斷對分查找,直到找出所需要的數(shù)據(jù)X。②結(jié)合以上算法思想,仔細(xì)分析試題的程序段。以下給出該程序段的每條語句的詳細(xì)解析。DATASEGMENT;DATA段定義偽指令③由以上分析可知,根據(jù)“MOVAL,KEY”、“CMPAL,[BX]”兩條語句可推理出,(1)空缺處應(yīng)填入題干中要求查詢的數(shù)據(jù)126。④CMPAL,[BX]”語句用于所查詢的數(shù)據(jù)與中項數(shù)據(jù)比較,JZFOUND”語句表示如果比較結(jié)果相同,則轉(zhuǎn)至找到后的處理標(biāo)號FOUND處,由此可判斷(2)空缺處填寫的內(nèi)容與所查詢的數(shù)據(jù)不等于中項數(shù)據(jù)處理過程相關(guān)。⑤(2)空缺處的后一條語句“JZNFOUND”語句表示如果比較結(jié)果相等,則轉(zhuǎn)至未找到處理標(biāo)號NFOUND處,由此可判斷,該空缺處填寫的內(nèi)容用于判斷查找過程是否可以結(jié)束,可通過比較中項指針是否等于數(shù)據(jù)表上指針的語句“CMPBX,SI”來完成此功能。⑥由(3)空缺處所在語句的標(biāo)號“LESS"可知,(3)空缺處填寫的內(nèi)容與“JLLESS"語句(判斷所查詢的數(shù)據(jù)是否小于中項數(shù)據(jù))相關(guān)。由對分查表法算法可知,當(dāng)所查詢的數(shù)據(jù)小于中項數(shù)據(jù)時,需修改數(shù)據(jù)表下指針,以使查找過程在前一半繼續(xù)進行。因此該空缺處需填入與數(shù)據(jù)表下指針D工相關(guān)的語句"MOVDI,BX”。⑦同理,由(4)空缺處所在語句的標(biāo)號“NEXT”可知,(4)空缺處填寫的內(nèi)容也與“JLLESS”語句(判斷所查詢的數(shù)據(jù)是否小于中項數(shù)據(jù))相關(guān)。由對分查表法算法可知,當(dāng)所查詢的數(shù)據(jù)大于中項數(shù)據(jù)時,通過“MoVSI,BX”語句修改數(shù)據(jù)表上指針,以使查找過程在后一半繼續(xù)進行??梢娫摽杖碧幨切薷臄?shù)據(jù)表下指針或上指針后繼續(xù)查找的公共執(zhí)行語句。再由“MOVDX,1”語句及“MOVAX,DX"、“MOVFLAG,AX"語句可推理出,(4)空缺處填寫的內(nèi)容是查找次數(shù)加1的“INCDX”語句。③由于(5)空缺處所填寫的語句是程序模塊的最后一條語句,因此由程序中啟動標(biāo)號"START”可推理出,該空缺處是一條與之相對應(yīng)的模塊結(jié)束偽指令“ENDSTART”,用于告訴匯編程序源文件結(jié)束,并給出執(zhí)行程序的入口位置。③另外,為了使讀者更深入掌握對分查表法的應(yīng)用,下面給出用對分查表法進行子程序設(shè)計的步驟:a.表的長度放在cx寄存器中。b.將BINTAB表的首地址放人sI寄存器中。c.將要搜索的關(guān)鍵字放在AL中。d.計算中點元素的地址(中項指針),并放入Bx寄存器中。e.將關(guān)鍵字AL與中點元素的值進行比較,若(AL)<[BX),則選低值的半個表(即SI為首地址,[BX]為尾地址),并轉(zhuǎn)步驟d;若(AL)>[BX],則選高值的半個表(即[BX]為首地址,DI為尾地址),并轉(zhuǎn)步驟d;若(AL)=[BX],則找到并將查找次數(shù)送人FLAG存儲單元。5、MOVSI,OFFSETBINTAB這是一道要求讀者掌握實現(xiàn)相同功能的匯編語句改寫的編程題。本題的解答思路如下:①在匯編程序代碼中“LEASI,BINTAB"語句用于實現(xiàn)將數(shù)據(jù)表BINTAB的首地址送源變址寄存器SI的功能,在第1次查詢時該地址被定義為數(shù)據(jù)表的上指針。②傳送指令MOV可實現(xiàn)CPU內(nèi)部寄存器之間的數(shù)據(jù)傳送、寄存器與內(nèi)存之間的數(shù)據(jù)傳送,以及將一個立即數(shù)送給CPU的內(nèi)部寄存器或內(nèi)存單元。③由于每個變量具有段屬性(SEG)、偏移量屬性(OFFSET)和類型屬性(TYPE),其中,段和偏移量兩個屬性可構(gòu)成變量的邏輯地址。由此與“LEASI,BINTAB"語句所實現(xiàn)的功能等價的語句是:MOVSI,OFFSETBINTAB"。6、FLAG存儲單元中的數(shù)值是7(或其對應(yīng)的二進制數(shù)形式)CMPAL,[BX]語句最多被執(zhí)行的次數(shù)為9次這是一道要求讀者掌握匯編程序分析的綜合理解題。本題的分析思路如下:①MOVAX,DX"、“MOVFLAG,AX"這兩條語句實現(xiàn)將查找次數(shù)送入FLAG單元的功能。而題干關(guān)鍵信息“現(xiàn)要求查找其中值為126的數(shù)據(jù)”,在數(shù)據(jù)段定義偽指令程序段中:BINTABDB18,25,32,46,56,78,.…;第1~100個數(shù)據(jù)DB90,95,99,100,106,126,..;第101~200個數(shù)據(jù)DB189,195,197,202,206,216,...;第201~256個數(shù)據(jù)由該定義可知,值為126的數(shù)據(jù)是數(shù)據(jù)表的第106個數(shù)據(jù)。過程才能找到所查詢的數(shù)據(jù)。因此,該匯編程序執(zhí)行后,F(xiàn)LAG存儲單元中的數(shù)值是7,即查詢到值為126的數(shù)據(jù)的查找次數(shù)。③由于對分查表法對數(shù)據(jù)表的要求是元素按從大到小或從小到大的順序排列,因此該算法對有序表的查找速度較快。假如數(shù)據(jù)表中有N個數(shù)據(jù),則該算法最多的比較次數(shù)是1bN+1。④比較語句“CMPAL,[Bx]”,通過比較所查詢的數(shù)據(jù)與中項數(shù)據(jù)兩者的值,可判斷是否已找到所要查找的數(shù)據(jù)值。⑤本試題要求查詢位于這256個字節(jié)數(shù)據(jù)表中的數(shù)據(jù),注意所查詢的數(shù)據(jù)是數(shù)據(jù)表中的一個元素。因此“CMPAL,[BX]"語句最多被執(zhí)行的次數(shù)為比N+1=1b256+1=8+1=9。嵌入式系統(tǒng)設(shè)計師練習(xí)題及答案第三套1、下列關(guān)于任務(wù)上下文切換的描述中,錯誤的是A.任務(wù)上下文是任務(wù)控制塊(TCB.的組成部分B.上下文切換是由一個特殊的任務(wù)完成C.上下文切換時間是影響RTOS性能的重要指標(biāo)D.上下文切換由RTos內(nèi)部完成2、以下關(guān)于校驗碼的敘述中,正確的是A.海明碼利用多組數(shù)位的奇偶性來檢錯和糾錯B.海明碼的碼距必須大于等于1C.循環(huán)冗余校驗碼具有很強的檢錯和糾錯能力D.循環(huán)冗余校驗碼的碼距必定為13、嵌入式軟件開發(fā)過程一般包括需求分析階段、軟件設(shè)計階段、編碼階段和集成階段,下面不屬于嵌入式軟件設(shè)計階段工作的是A.軟件體系結(jié)構(gòu)設(shè)計B.軟件外部接口定義C.軟件功能模塊劃分D.程序流程圖編制操作系統(tǒng)在4向用戶提供目錄管理類命令、文件操作類命令、文件管理類命令;操作系統(tǒng)在5向用戶提供創(chuàng)建文件、撤銷文件、打開文件、關(guān)閉文件、讀文件、寫文件等系統(tǒng)調(diào)用。4、A.物理級B.操作級C.存儲級D.編程級5、A.物理級B.操作級C.存儲級D.編程級6、風(fēng)險預(yù)測從兩個方面評估風(fēng)險,即風(fēng)險發(fā)生的可能性以及A.風(fēng)險產(chǎn)生的原因B.風(fēng)險監(jiān)控技術(shù)C.風(fēng)險能否消除D.風(fēng)險發(fā)生所產(chǎn)生的后果7、軟件能力成熟度模型(CapabilityMaturityMode1,CMM)將軟件能力成熟度自低到高依次劃分為A.初始級、已定義級、可重復(fù)級、已管理級、優(yōu)化級B.初始級、已定義級、已管理級、可重復(fù)級、優(yōu)化級C.初始級、可重復(fù)級、已管理級、已定義級、優(yōu)化級D.初始級、可重復(fù)級、已定義級、已管理級、優(yōu)化級8、多媒體中的“媒體"有兩重含義,一是指存儲信息的實體;二是指表達(dá)與傳遞信息的載體。是存儲信息的實體。A.文字、圖形、磁帶、半導(dǎo)體存儲器B.磁盤、光盤、磁帶、半導(dǎo)體存儲器C.文字、圖形、圖像、聲音D.聲卡、磁帶、半導(dǎo)體存儲器9、面向?qū)ο箝_發(fā)方法的基本思想是盡可能按照人類認(rèn)識客觀世界的方法來分析和解決問題,方法不屬于面向?qū)ο蠓椒ā.BoochB.CoadC.OMTD.Jackson10、將高級語言源程序翻譯為機器語言程序的過程中常引入中間代碼。以下關(guān)于中間代碼的敘述中,錯誤的是A.不同的高級程序語言可以產(chǎn)生同一種中間代碼B.使用中間代碼有利于進行與機器無關(guān)的優(yōu)化處理C.使用中間代碼有利于提高編譯程序的可移植性D.中間代碼與機器語言代碼在指令結(jié)構(gòu)上必須一致下列網(wǎng)絡(luò)互連設(shè)備中,屬于物理層的是11,屬于網(wǎng)絡(luò)層的是12。11、A.中繼器B.交換機C.路由器D.網(wǎng)橋12、A.中繼器B.交換機C.路由器D.網(wǎng)橋13、以下關(guān)于cache的敘述中,正確的是A.在容量確定的情況下,替換算法的時間復(fù)雜度是影響Cache命中率的關(guān)鍵因素B.Cache的設(shè)計思想是在合理成本下提高命中率C.Cache的設(shè)計目標(biāo)是容量盡可能與主存容量相等D.CPU中的Cache容量應(yīng)大于cPu之外的Cache容量14、以下關(guān)于CISC(ComplexInstructionSetComputer,復(fù)雜指令集計算機)和RISC(ReducedInstructionSetComputer,精簡指令集計算機)的敘述中,錯誤的是A.在CISC中,其復(fù)雜指令都采用硬布線邏輯來執(zhí)行B.采用cIsc技術(shù)的CPU,其芯片設(shè)計復(fù)雜度更高C.在RIsC中,更適合采用硬布線邏輯執(zhí)行指令D.采用RISC技術(shù),指令系統(tǒng)中的指令種類和尋址方式更少15、確定構(gòu)建軟件系統(tǒng)所需要的人數(shù)時,無需考慮A.系統(tǒng)的市場前景B.系統(tǒng)的規(guī)模C.系統(tǒng)的技術(shù)復(fù)雜性D.項目計劃16、以下關(guān)于C/C++語言指針變量的敘述中,正確的是A.指針變量可以是全局變量也可以是局部變量B.必須為指針變量與指針?biāo)赶虻淖兞糠峙湎嗤笮〉拇鎯臻gC.對指針變量進行算術(shù)運算是沒有意義的D.指針變量必須由動態(tài)產(chǎn)生的數(shù)據(jù)對象來賦值下列有關(guān)數(shù)據(jù)存儲結(jié)構(gòu)的相關(guān)描述中,正確的是:①_17:②1817、A.順序存儲方式只能用于存儲線性結(jié)構(gòu)B.順序存儲方式的優(yōu)點是存儲密度,插入、刪除運算效率高C.鏈表的每個結(jié)點中都恰好包含一個指針D.隊列的存儲方式既可以是順序方式,也可以是鏈接方式18、A.散列表的結(jié)點中只包含數(shù)據(jù)元素自身的信息,不包含任何指針B.負(fù)載因子(裝填因子)是散列法一個重要參數(shù),它反映散列表裝滿程度C.散列法存儲的基本思想是把關(guān)鍵字的值作為數(shù)據(jù)的存儲地址D.在散列法中,不同的關(guān)鍵字值對應(yīng)到不同的存儲地址稱作發(fā)生了沖突19、CPU加電時執(zhí)行的第一條指令的地址是由決定的。A.操作系統(tǒng)B.應(yīng)用軟件C.開發(fā)人員D.處理器廠商20、一個項目為了修正一個錯誤而進行了變更。但這個錯誤被修正后,卻引起以前可以正確運行的代碼出錯。最可能發(fā)現(xiàn)這一問題。A.單元測試B.接受測試C.回歸測試D.安裝測試21、為了提高嵌入式軟件的可移植性,應(yīng)注意提高軟件的A.使用的方便性B.安全性C.可靠性D.硬件無關(guān)性22、在采用對外部設(shè)備進行編址的情況下,不需要專門的I/0指令。A.統(tǒng)一編址法B.單獨編址法C.虛擬編址法D.統(tǒng)一編址法和單獨編址法23、操作系統(tǒng)中的Spooling技術(shù),實質(zhì)是將轉(zhuǎn)化為共享設(shè)備的技術(shù)。A.虛擬設(shè)備B.獨占設(shè)備C.脫機設(shè)備D.塊設(shè)備24、按指令流和數(shù)據(jù)流的組織關(guān)系,計算機系統(tǒng)的結(jié)構(gòu)有以下不同類型,大規(guī)模并行處理機MPP屬于,結(jié)構(gòu)。A.SISDB.SIMDC.MISDD.MIMD25、一般情況下,若磁盤轉(zhuǎn)速提高一倍,則A.平均尋道時間縮小一半B.存取速度也提高一倍C.平均尋道時間不會受到影響D.存取速度不變26、嵌入式操作系統(tǒng)中,不屬于任務(wù)間同步機制。A.信號量,B.事件C.定時器D.信號27、某SRAM芯片的容量為512×8位,除電源端和接地端外,該芯片引出線的最小數(shù)目應(yīng)為A.23B.25C.50D.1928、軟件過程改進(SPI)大多采用IDEAL模型,該模型將sPI過程分為A.啟動階段、建立階段、運行階段B.啟動階段、建立階段、診斷階段、運行階段C.啟動階段、診斷階段、建立階段、運行階段、學(xué)習(xí)階段D.啟動階段、建立階段、運行階段、診斷階段、恢復(fù)階段答案:1、B[解析]任務(wù)的上下文是指一個任務(wù)的狀態(tài),如堆棧指針、計數(shù)器、內(nèi)存字段和通用寄存器等,是任務(wù)控制塊(TCB)的組成部分。在多任務(wù)系統(tǒng)中,上下文切換指的是當(dāng)處理器的控制權(quán)由運行任務(wù)轉(zhuǎn)移到另外一個就緒任務(wù)時所執(zhí)行的操作,也叫做任務(wù)切換。當(dāng)運行的任務(wù)轉(zhuǎn)為就緒、掛起或刪除時,另一個被選定的就緒任務(wù)就成為當(dāng)前任務(wù)。上下文切換由RTos內(nèi)部完成,主要包括保存當(dāng)前任務(wù)的狀態(tài)、確定運行的任務(wù)以及恢復(fù)將要運行的任務(wù)的狀態(tài)。上下文切換時間是影響RTOs性能的重要指標(biāo)。2、A[解析]本題考查校驗碼基礎(chǔ)知識。一個編碼系統(tǒng)中任意兩個合法編碼(碼字)之間不同的二進數(shù)位數(shù)稱為這兩個碼字的碼距,而整個編碼系統(tǒng)中任意兩個碼字的最小距離就是該編碼系統(tǒng)的碼距。為了使一個系統(tǒng)能檢查和糾正一個差錯,碼間最小距離必須至少是3。海明碼是一種可以糾正一位差錯的編碼,是利用奇偶性宋檢錯和糾錯的校驗方法。海明碼的基本意思是給傳輸?shù)臄?shù)據(jù)增加r個校驗位,從而增加兩個合法消息(合法碼字)的不同位的個數(shù)(海明距離)。假設(shè)要傳輸?shù)男畔⒂衜位,則經(jīng)海明編碼的碼字就有n=m+r位。循環(huán)冗余校驗碼(CRC)編碼方法是在k位信息碼后再拼接r位的校驗碼,形成長度為n位的編碼,其特點是檢錯能力極強且開銷小,易于用編碼器及檢測電路實現(xiàn)。在數(shù)據(jù)通信與網(wǎng)絡(luò)中,通常k相當(dāng)大,由一千甚至數(shù)千數(shù)據(jù)位構(gòu)成一幀,而后采用cRC碼產(chǎn)生x位的校驗位。它只能檢測出錯誤,而不能糾正錯誤。一般取r=16,標(biāo)準(zhǔn)的16位生成多項式有。一般情況下,r位生成多項式產(chǎn)生的CRC碼可檢測出所有的雙錯、奇數(shù)位錯和突發(fā)長度小于等于r的突發(fā)錯。用于糾錯目的的循環(huán)碼的譯碼算法比較復(fù)雜。3、B[解析]需求分析階段一般包括規(guī)定結(jié)構(gòu)和軟件組成,明確外部接口和內(nèi)部接口,給出軟件功能要求,性能要求、適應(yīng)性要求、容量和時間要求、安全要求、保密要求、設(shè)計約束、合格性因素等,最終形成軟件需求文檔,并通過評審。軟件設(shè)計階段,根據(jù)軟件需求文檔對嵌入式軟件進行設(shè)計,主要包括軟件的總體設(shè)計、軟件的概要設(shè)計和軟件的詳細(xì)設(shè)計等。軟件外部接口定義屬于需求分析階段的工作。4、B5、D[解析]文件是操作系統(tǒng)管理的一類重要資源。文件系統(tǒng)將用戶的邏輯文件按照一定的組織方式轉(zhuǎn)換成物理文件存放到文件存儲器上,為每個文件與該文件在磁盤上的存放位置建立關(guān)系。在多用戶環(huán)境下,為了文件安全和保護起見,操作系統(tǒng)在操作級(命令級)向用戶提供目錄管理類命令、文件操作類命令(如復(fù)制、刪除和修改)和文件管理類命令(如設(shè)置文件權(quán)限)等,在編程級(系統(tǒng)調(diào)用和函數(shù))向用戶提供文件的系統(tǒng)調(diào)用類服務(wù),例如創(chuàng)建文件、撤銷文件、打開文件、關(guān)閉文件、讀文件和寫文件等。6、D[解析]本題考查風(fēng)險預(yù)測。風(fēng)險預(yù)測從風(fēng)險發(fā)生的可能性大小以及風(fēng)險發(fā)生所產(chǎn)生的后果是否嚴(yán)重兩個方面評估風(fēng)險。7、D[解析]軟件能力成熟度模型(CMM)是由美國卡內(nèi)基•;梅隆大學(xué)軟件工程研究所主持研究和開發(fā)的,為軟件工程過程管理開辟了一條新的途徑,被業(yè)界廣泛采用,現(xiàn)新版本為SEICMMI。CMM共分為5級,從第1級到第5級表明軟件過程成熟度不斷提高。這5級分別是初始級、可重復(fù)級、已定義級、已管理級和優(yōu)化級。8、B[解析]通常所說的“媒體(Media)"包括兩重含義:一是指信息的物理載體,即存儲和傳遞信息的實體,如手冊、磁盤、光盤、磁帶以及相關(guān)的播放設(shè)備等(本題只涉及存儲信息);二是指承載信息的載體即信息的表現(xiàn)形式(或者說傳播形式),如文字、聲音、圖像、動畫和視頻等,即CCITT定義的存儲媒體和表示媒體。表示媒體又可以分為三種類型:視覺類媒體(如位圖圖像、矢量圖形、圖表、符號、視頻和動畫等)、聽覺類媒體(如音響、語音和音樂等)和觸覺類媒體(如點、位置跟蹤,力反饋與運動反饋等)。視覺和聽覺類媒體是信息傳播的內(nèi)容,觸覺類媒體是實現(xiàn)人機交互的手段。9、D[解析]本題考查面向?qū)ο箝_發(fā)方法。面向?qū)ο箝_發(fā)方法有Booch方法、Coad方法和OMT方法。Jackson方法是一種面向數(shù)據(jù)結(jié)構(gòu)的開發(fā)方法。10、D[解析]本題考查程序語言基礎(chǔ)知識?!爸虚g代碼”是一種簡單且含義明確的記號系統(tǒng),與具體的機器無關(guān),可以有若干種形式??梢詫⒉煌母呒壋绦蛘Z言翻譯成同一種中間代碼。由于與具體機器無關(guān),使用中間代碼有利于進行與機器無關(guān)的優(yōu)化處理,以及提高編譯程序的可移植性。11、A12、C[解析]中繼器是網(wǎng)絡(luò)層設(shè)備,其作用是對接收的信號進行再生放大,以延長傳輸?shù)木嚯x。網(wǎng)橋是數(shù)據(jù)鏈路層設(shè)備,可以識別MAC地址,進行幀轉(zhuǎn)發(fā)。交換機是由硬件構(gòu)成的多端口網(wǎng)橋,也是一種數(shù)據(jù)鏈路層設(shè)備。路由器是網(wǎng)絡(luò)層設(shè)備,可以識別IP地址,進行數(shù)據(jù)包的轉(zhuǎn)發(fā)。13、B[解析]本題考查高速緩存基礎(chǔ)知識。Cache是一個高速小容量的臨時存儲器,可以用高速的靜態(tài)存儲器(SRAM)芯片實現(xiàn),可以集成到cPU芯片內(nèi)部,或者設(shè)置在cPu與內(nèi)存之間,用于存儲CPU最經(jīng)常訪問的指令或者操作數(shù)據(jù)。Cache的出現(xiàn)是基于兩種因素:首先是由于cPU的速度和性能提高很快而主存速度較低且價格高,其次是程序執(zhí)行的局部性特點。因此,才將速度比較快而容量有限的SRAM構(gòu)成Cache,目的在于盡可能發(fā)揮CPU的高速度。很顯然,要盡可能發(fā)揮CPU的高速度,就必須用硬件實現(xiàn)其全部功能。14、A[解析]本題考查指令系統(tǒng)和計算機體系結(jié)構(gòu)基礎(chǔ)知識。cIsc(ComplexInstructionsetcomputer,復(fù)雜指令集計算機)的基本思想是:進一步增強原有指令的功能,用更為復(fù)雜的新指令取代原先由軟件子程序完成的功能,實現(xiàn)軟件功能的硬件化,導(dǎo)致機器的指令系統(tǒng)越來越龐大而復(fù)雜。CISc計算機一般所含的指令數(shù)目至少300條以上,有的甚至超過500條。RISC(ReducedInstructionsetComputer,精簡指令集計算機)的基本思想是:通過減少指令總數(shù)和簡化指令功能,降低硬件設(shè)計的復(fù)雜度,使指令能單周期執(zhí)行,并通過優(yōu)化編譯提高指令的執(zhí)行速度,采用硬布線控制邏輯優(yōu)化編譯程序。在20世紀(jì)70年代末開始興起,導(dǎo)致機器的指令系統(tǒng)進一步精煉而簡單。15、A[解析]本題考查項目管理內(nèi)容。在對軟件開發(fā)資源進行規(guī)劃時,為了確定構(gòu)建軟件系統(tǒng)所需的人數(shù),需要考慮軟件系統(tǒng)的規(guī)模、系統(tǒng)的技術(shù)復(fù)雜性、項目計劃和開發(fā)人員的技術(shù)背景等方面,而與系統(tǒng)是否有市場前景無關(guān)。16、A[解析]本題考查程序語言基礎(chǔ)知識。變量是內(nèi)存單元的抽象,用于在程序中表示數(shù)據(jù)。當(dāng)變量存儲的是內(nèi)存單元地址時,稱為指針變量,或者說指針變量指向了另一個變量。指針變量可以定義在函數(shù)或復(fù)合語句內(nèi),也可以定義在所有的函數(shù)之外,即可以是全局變量,也可以是局部變量。需要區(qū)分指針變量與指針?biāo)赶虻淖兞?,無論指針變量指向何種變量,其存儲空間大小都是一樣的。當(dāng)指針變量指向數(shù)組中的一個元素時,對指針變量進行算術(shù)運算可以使其指向同一個數(shù)組中的其他元素。17、D18、B19、D[解析]本題考查計算機硬件方面的知識。CPU加電或者復(fù)位后會從一個固定的地址開始執(zhí)行,一般是ROM或者F1ash等固存地址,第一條指令就固化在那里。不同的處理器復(fù)位地址不同,比如ARM系統(tǒng)從0地址開始運行,POWERPC通常是從OxFFFO0100,如FreescaleMPC82XX系列。也有從0xFFFFFFFC啟動的,如IBM的PPC405GP和440,只有4個字節(jié),通常這里是一個跳轉(zhuǎn)指令。20、C[解析]本題考查軟件測試知識?;貧w測試是在軟件發(fā)生變更之后進行的測試,以發(fā)現(xiàn)在變更時可能引起的其他錯誤。21、D[解析]軟件的可移植性是指把軟件產(chǎn)品從一個硬件/軟件環(huán)境轉(zhuǎn)移到另一個硬件/軟件環(huán)境的難易與繁簡程度。為了提高軟件的可移植性,應(yīng)盡量使軟件與具體硬件設(shè)備無關(guān),即提高軟件的硬件無關(guān)性(或稱軟件的設(shè)備獨立性)。22、A[解析]本題考查計算機組成原理方面的基礎(chǔ)知識。計算機外設(shè)有兩種編址方式:單獨編址法和統(tǒng)一編址法。單獨編址即專用的工/o端口編址,存儲器和工/0端口在兩個獨立的地址空間。優(yōu)點是工/o端口的地址碼較短,譯碼電路簡單,程序比較清晰,存儲器和I/0端口的控制結(jié)構(gòu)相互獨立,可以分開設(shè)計。缺點是需要有專門的I/o指令,程序設(shè)計的靈活性較差。統(tǒng)一編址即存儲器映射編址,存儲器和I/O端口公用統(tǒng)一的地址空間,當(dāng)一個地址空間分配給I/0端口后,存儲器就不能再占有這一部分的地址空間。優(yōu)點是不需要專用的I/o指令,任何對存儲器數(shù)據(jù)進行操作的指令都可用于工/o端口的數(shù)據(jù)操作,程序設(shè)計比較靈活。由于I/o端口的地址空間是內(nèi)存空間的一部分,這樣I/0端口的地址空間可大可小,從而使外設(shè)的數(shù)量幾乎不受限制。缺點是I/0端口占用了內(nèi)存空間的一部分,影響了系統(tǒng)的內(nèi)存容量,訪問I/0端口也要同訪問內(nèi)存一樣,由于內(nèi)存地址較長,導(dǎo)致執(zhí)行時間增加。23、B[解析]系統(tǒng)中獨占設(shè)備的數(shù)量有限,往往不能滿足系統(tǒng)中多個進程的需要,故而成為系統(tǒng)中的瓶頸資源,使許多進程因等待它們而阻塞。另一方面,占有這些設(shè)備的進程卻不經(jīng)常使用,使這些設(shè)備利用率很低。為了克服這種缺點,通常通過共享設(shè)備來虛擬獨占設(shè)備,將獨占設(shè)備改造成為共享設(shè)備,從而提高了設(shè)備利用率和系統(tǒng)效率,這種技術(shù)稱為Spooling技術(shù)。24、D[解析]按指令流和數(shù)據(jù)流的組織關(guān)系,計算機系統(tǒng)的結(jié)構(gòu)分為單指令流單數(shù)據(jù)流(SISD)、單指令流多數(shù)據(jù)流(SIMD)、多指令流單數(shù)據(jù)流(MISD)和多指令流多數(shù)據(jù)流(MIMD)。由于高性能計算機多采用并行技術(shù),因此其結(jié)構(gòu)屬于SIMD或MIMD。大規(guī)模并行處理機(MPP)是多計算機系統(tǒng),由專門設(shè)計的可擴展性好的高帶寬低延遲互聯(lián)網(wǎng)絡(luò)將成千上萬個高性能微處理器構(gòu)成的處理器節(jié)點互連而成,所以屬于MIMD結(jié)構(gòu)。25、C[解析]本題考查磁盤工作方式方面的基礎(chǔ)知識。尋道速度和讀寫(數(shù)據(jù)傳輸)速度不是一個概念,尋道是指磁頭從一個磁道到另一個磁道,相當(dāng)于磁頭做圓的徑向運動,而讀寫磁道是圓周運動。因此磁盤轉(zhuǎn)速提高只是提高了讀寫(數(shù)據(jù)傳輸)速度,而磁頭的擺動速度并沒有提高。26、C[解析]本題考查操作系統(tǒng)方面的基礎(chǔ)知識。為了使于應(yīng)用開發(fā),操作系統(tǒng)提供了多種任務(wù)間同步機制,比如信號量、事件和信號等。定時器不屬于任務(wù)間同步機制。27、D[解析]本題考查計算機系統(tǒng)方面的基礎(chǔ)知識。根據(jù)題意,SRAM芯片的容量為512×8位,由于512=2°,需要9根地址線,表示尋址范圍為2°,即512。數(shù)據(jù)總線是8位的,所以對應(yīng)8位地址線,加上片選信號Cs、讀/寫控制信號E、電源線和地線,該芯片引出線的最小數(shù)目為21。因此,除電源端和接地端外,該芯片引出線的最小數(shù)目應(yīng)為19。28、C[解析]軟件過程改進(SP1)大多采用美國CarnegieMel1on大學(xué)軟件工程研究所提出的IDEAL模型。IDEAL模型將sPI過程分成5個階段:啟動階段、診斷階段、建立階段、運行階段和學(xué)習(xí)階段,這5個階段連續(xù)循環(huán),完成sPI過程需要的步驟。嵌入式系統(tǒng)設(shè)計師練習(xí)題及答案解析第四套試題一閱讀以下關(guān)于某嵌入式處理器和存儲器方面的說明,回答下列問題。[說明]在某嵌入式系統(tǒng)設(shè)計中,需要使用嵌入式主處理器對外圍模擬視頻信號進行采集、編碼、存儲和網(wǎng)絡(luò)傳輸。圖1為李工設(shè)計的該嵌入式系統(tǒng)的原理框圖:采用兩片TVP5146芯片進行兩路模擬視頻數(shù)據(jù)采集,在該處理器外圍采用MAX3232芯片進行串口擴展,以方便系統(tǒng)調(diào)試,同時在該原理圖中還設(shè)計了相應(yīng)的Flash存儲器接口,DDR存儲器,網(wǎng)絡(luò)及電源等電路。在該電路設(shè)計中,視頻采集芯片TVP5146需要主處理器通過I'C接口進行采集模式、亮度、對比度、增益等參數(shù)的調(diào)節(jié),但是主處理器只有一個I'c接口,因此需要將兩個TVP5146掛載的同一個I'C總線上,如圖2所示TVP5146的IC芯片地址選擇如表1所示,當(dāng)進行I’C讀時,Ic地址的最低位是1,當(dāng)進行寫操作時,IC地址最低位是0,A0由外圍電路的高低電平?jīng)Q定,高電平為1,低電平為0。1、(答案用十六進制表示,比如0xAA.根據(jù)圖2及表1所示,對圖2中的TVP5146(1)和TVP5146(2)兩個芯片分別進行I'C讀寫操作時,其對應(yīng)的地址依次是:TVP5146(1)讀操作時的IC地址:(1)TVP5146(1)寫操作時的C地址:(2)TVP5146(2)讀操作時的IC地址:(3)TVP5146(2)寫操作時的IC地址:(4)2、(答案用十六進制表示,比如0xAA.在圖2原理圖設(shè)計中,主處理器的串口控制器的時鐘為27M,在進行串口調(diào)試時,李工需要將串口配置為960obps的波特率,需要對串口控制器的DLL(DivisorLatchesLow寄存器)和DLH(DivisorLatchesHigh寄存器)進行配置,DLL和DLH的寄存器分別如圖3和圖4所示。圖4DLH寄存器比特位示意圖根據(jù)以上信息,DLL和DLH寄存器應(yīng)該分別被配置為:DLL:(1)DLH:(2)3、(答案用十六進制表示,比如0xAA.在李工對TVP5146進行配置時,需要編寫IC的讀寫函數(shù),在進行IC的讀寫操作時,需要對IC的控制寄存器、數(shù)據(jù)寄存器以及狀態(tài)寄存器進行配置和查詢。具體的寫操作流程為:先配置控制寄存器為寫模式,再檢查狀態(tài)寄存器,如果準(zhǔn)備就緒,則向數(shù)據(jù)寄存器寫數(shù)據(jù),寫完之后進行狀態(tài)寄存器查詢狀態(tài),根據(jù)狀態(tài)退出寫操作。具體的讀操作流程為:先配置控制寄存器為讀模式,再檢查狀態(tài)寄存器,如果準(zhǔn)備就緒,則從數(shù)據(jù)寄存器中讀出,然后退出。李工所選用的處理器對應(yīng)的IC控制寄存器、數(shù)據(jù)寄存器、狀態(tài)寄存器各自的定義如表2、表3和表4所示。李工所編寫的IC讀寫函數(shù)如下所示:#defineI2C_CON*(volatileunsignedint*)(0x48028080+0×20)//控制寄存器定義#defineI2CSTAT*(volatileunsignedint*)(0x48028080+0x24)//狀態(tài)寄存器定義#defineI2CDATA*(volatileunsignedint*)(0x48028080+0×28)//數(shù)據(jù)寄存器定義intI2CREAD(unsignedchar*pdata){intdelaycnt=0;I2CCON=0XC003;//配置為主模式、讀模式、使能I’C,并開啟I'Cfor(delay_cnt=0;delay_cnt<1000;delay_cnt++){if(I2CSTAT&0×80){(1)//從工2CDATA寄存器讀數(shù)據(jù)放置在pdata指針里面,并退出return0;}return-1;}intI2CWRITE(unsignedcharwdata)}intdelaycnt=0;I2CCON=_(2);//配置為主模式、寫模式、使能并開啟工C(3);//向I2C_DATA寄存器寫wdatafor(delaycnt=0;delaycnt<1000;delaycnt++){if((4))//判斷是否寫完成,如果完成,則正確退出return0;}}ireturn-1;}請將空(1)~(4)處空缺的代碼補充完整。試題二閱讀以下關(guān)于軟件測試的說明,回答下列問題。[說明]使用在汽車、飛機中的嵌入式軟件,由于直接影響人的生命及財產(chǎn)安全,測試要求更為嚴(yán)格。語句覆蓋、判定覆蓋、條件覆蓋和MC/DC覆蓋是通常對這類軟件的要求。以下是一段c語言代碼,請仔細(xì)閱讀,并回答相關(guān)問題:intlogicTest(intx,inty)intmagic=0;if(x>0&&y>0){magic=x+y+10;else{magic=x+y-10;if(magic<o){magic=0;returnmagic;4、請根據(jù)測試要求,簡要說明語句覆蓋、判定覆蓋、條件覆蓋和MC/DC覆蓋的含義。5、畫出以上代碼的流程圖。6、請根據(jù)[說明]中的C語言代碼,計算滿足MC/DC覆蓋要求的用例數(shù)量及條件取值范圍。試題三閱讀以下關(guān)于電梯模擬控制系統(tǒng)設(shè)計方案的說明,回答下列問題。[說明]王工在實驗室負(fù)責(zé)自動電梯模擬控制系統(tǒng)的設(shè)計,自動電梯模擬控制系統(tǒng)需要完成電梯運行控制算法、輸入界面和輸出界面三項主要任務(wù)。系統(tǒng)結(jié)構(gòu)圖如圖1所示。圖1自動電梯模擬控制系統(tǒng)結(jié)構(gòu)圖根據(jù)電梯運行的流程,把電梯劃分為停止?fàn)顟B(tài)、運行狀態(tài)、開門狀態(tài)和關(guān)門狀態(tài)4種控制狀態(tài)。停止?fàn)顟B(tài)是指電梯在沒有任何請求的情況下靜止?fàn)顟B(tài),而不是指電梯在運行過程中開門前的停頓狀況,本題忽略停頓狀況,把電梯從運行狀態(tài)直接遷移為開門狀態(tài)。電梯根據(jù)控制狀態(tài)的遷移規(guī)則進行狀態(tài)遷移,系統(tǒng)初始時,電梯處于停止?fàn)顟B(tài)。7、電梯根據(jù)控制狀態(tài)的遷移規(guī)則進行遷移,其狀態(tài)遷移圖如圖2所示。請根據(jù)下面狀態(tài)轉(zhuǎn)移的條件,完成狀態(tài)遷移圖??晒┻x擇的狀態(tài)轉(zhuǎn)移條件:a.其他樓層有呼叫請求;b.無呼叫請求;c.乘客進入電梯或等待一段時間后;d.到達(dá)請求樓層;e.電梯所在樓層有呼叫請求。圖2電梯控制狀態(tài)遷移圖8、電梯運行處理程序的流程圖如圖3所示。請完成該流程圖。9、系統(tǒng)采用多級優(yōu)先級中斷結(jié)構(gòu),如圖4所示。它要求CPU在執(zhí)行完當(dāng)前指令時轉(zhuǎn)而對中斷請求進行服務(wù)。設(shè)備A連接于最高優(yōu)先級,設(shè)備B次之,設(shè)備C又次之。IRQx為中斷請求信號,INTx為CPU發(fā)出的中斷響應(yīng)信號。圖4自動電梯模擬控制系統(tǒng)多級優(yōu)先中斷結(jié)構(gòu)圖現(xiàn)假設(shè):T為硬件中斷周期時間;T,為一個指令執(zhí)行周期時間;T、T。、T分別為A、B、C的中斷服務(wù)程序執(zhí)行時間;T。、T為保護現(xiàn)場和恢復(fù)現(xiàn)場所需的時間。圖5是中斷處理過程示意圖。當(dāng)三個設(shè)備同時發(fā)出中斷請求時,依次處理設(shè)備A、B、C的時間是多少?這種結(jié)構(gòu)下中斷飽和時間是多少?答案:試題一1、(1)0xB9(2)0xB8(3)0XBB(4)0XBA本題考查嵌入式系統(tǒng)設(shè)計,涉及嵌入式軟件和硬件基礎(chǔ)知識的應(yīng)用,尤其是嵌入式處理器外設(shè)控制及操作方面。本問題主要考查嵌入式系統(tǒng)軟硬件協(xié)同設(shè)計中外設(shè)控制器TVP5146(IC設(shè)備)的操作訪問以及串口配置的基本軟硬件應(yīng)用知識。I2C(Inter-Integratedcircuit)總線是一種由PHILIPS公司開發(fā)的兩線式串行總線,用于連接微控制器及其外圍設(shè)備。IC總線產(chǎn)生于在1980年代,最初為音頻和視頻設(shè)備開發(fā),如今主要在服務(wù)器管理中使用,其中包括單個組件狀態(tài)的通信。例如管理員可對各個組件進行查詢,以管理系統(tǒng)的配置或掌握組件的功能狀態(tài),如電源和系統(tǒng)風(fēng)扇。可隨時監(jiān)控內(nèi)存、硬盤、網(wǎng)絡(luò)、系統(tǒng)溫度等多個參數(shù),增加了系統(tǒng)的安全性,方便了管理。IC總線最主要的優(yōu)點是其簡單性和有效性。由于接口直接在組件之上,因此IC總線占用的空間非常小,減少了電路板的空間和芯片管腳的數(shù)量,降低了互聯(lián)成本??偩€的長度可高達(dá)25英尺,并且能夠以10kbps的最大傳輸速率支持40個組件。I'c總線的另一個優(yōu)點是,它支持多主控(multimastering),其中任何能夠進行發(fā)送和接收的設(shè)備都可以成為主總線。一個主控能夠控制信號的傳輸和時鐘頻率。當(dāng)然,在任何時間點上只能有一個主控。IC總線是由數(shù)據(jù)線SDA和時鐘sCL構(gòu)成的串行總線,可發(fā)送和接收數(shù)據(jù)。在cpU與被控IC之間、IC與IC之間進行雙向傳送,最高傳送速率100kbps。各種被控制電路均并聯(lián)在這條總線上,但就像電話機一樣只有撥通各自的號碼才能工作,所以每個電路和模塊都有唯一的地址,在信息的傳輸過程中,IC總線上并接的每一模塊電路既是主控器(或被控器),又是發(fā)送器(或接收器),這取決于它所要完成的功能。CPU發(fā)出的控制信號分為地址碼和控制量兩部分,地址碼用來選址,即接通需要控制的電路,確定控制的種類;控制量決定該調(diào)整的類別(如對比度、亮度等)及需要調(diào)整的量。這樣,各控制電路雖然掛在同一條總線上,卻彼此獨立,互不相關(guān)。IC總線在傳送數(shù)據(jù)過程中共有三種類型信號,它們分別是:開始信號、結(jié)束信號和應(yīng)答信號。(1)開始信號:SCL為高電平時,SDA由高電平向低電平跳變,開始傳送數(shù)據(jù)。(2)結(jié)束信號:SCL為低電平時,SDA由低電平向高電平跳變,結(jié)束傳送數(shù)據(jù)。(3)應(yīng)答信號:接收數(shù)據(jù)的IC在接收到8bit數(shù)據(jù)后,向發(fā)送數(shù)據(jù)的IC發(fā)出特定的低電平脈沖,表示已收到數(shù)據(jù)。CPU向受控單元發(fā)出一個信號后,等待受控單元發(fā)出一個應(yīng)答信號,CPU接收到應(yīng)答信號后,根據(jù)實際情況作出是否繼續(xù)傳遞信號的判斷。若未收到應(yīng)答信號,由判斷為受控單元出現(xiàn)故障。IC規(guī)程運用主/從雙向通信。器件發(fā)送數(shù)據(jù)到總線上,則定義為發(fā)送器,器件接收數(shù)據(jù)則定義為接收器。主器件和從器件都可以工作于接收和發(fā)送狀態(tài)??偩€必須由主器件(通常為微控制器)控制,主器件產(chǎn)生串行時鐘(SCL)控制總線的傳輸方向,并產(chǎn)生起始和停止條件。sDA線上的數(shù)據(jù)狀態(tài)僅在SCL,為低電平的期間才能改變,SCL為高電平的期間,SDA狀態(tài)的改變被用來表示起始和停止條件。在起始條件之后,必須是器件的控制字節(jié),其中高四位為器件類型識別符(不同的芯片類型有不同的定義,EEPROM一般應(yīng)為1010),接著三位為片選,最后一位為讀寫位,當(dāng)為1時為讀操作,為0時為寫操作。寫操作分為字節(jié)寫和頁面寫兩種操作,對于頁面寫,根據(jù)芯片的一次裝載的字節(jié)不同有所不同。讀操作有三種基本操作:當(dāng)前地址讀、隨機讀和順序讀。目前很多的處理器都集成了I'c接口,同時外圍的控制設(shè)備也具有IC從接口。對于從設(shè)備的訪問需要依賴于Ic地址,同時掛載在同一個總線上面的從設(shè)備的IC地址必須互不相同。通常一個嵌入式系統(tǒng)中可能包含多個IC從設(shè)備,需要對每個設(shè)備配置相應(yīng)的地址。不同的從設(shè)備其對應(yīng)的IC地址會有多種不同配置方法,有些是出廠固定,有些是可以通過外部地址線來配置。該題目中的地址線即通過外部的A0地址來進行配置。按照其給出的電路連接方式,即可確定不同IC設(shè)備的地址。TVP5146(1)讀操作時的IC地址:0xB9TVP5146(1)寫操作時的IC地址:0xB8TVP5146(2)讀操作時的IC地址:0xBBTVP5146(2)寫操作時的IC地址:0xBA2、(1)0xFC或者0xFD(2)0x0A本題考查嵌入式系統(tǒng)中的硬件驅(qū)動配置,要求考生能夠正確配置串口的波特率。在圖2原理圖設(shè)計中,主處理器的串口控制器的時鐘為27M,在進行串口調(diào)試時,需要將串口配置為9600bps的波特率,需要對串口控制器的DLL(DivisorLatchesLow寄存器)和DLH(DivisorLatchesHigh寄存器)進行配置,同時該題目給出了DLL和DLH的寄存器定義。由定義可以看出來,其DLH和DLL分別為16位寄存器,但是只有低8位是有效的。在該題目中給出了對應(yīng)的串口控制器的時鐘,其波特率配置寄存器DLL和D工H的配置實際就是依據(jù)時鐘和需要配置的波特率數(shù)值進行計算。在實際的嵌入式系統(tǒng)的驅(qū)動程序設(shè)計中,對于驅(qū)動的設(shè)計也就是如此。其計算方法為:(1)9600bps的波特率則意味著每個比特位數(shù)傳輸所需要的時間為1/9600秒。(2)串口控制器的時鐘為27M,說明其對應(yīng)的時鐘周期時間為1/(27*1000*1000)秒。(3)因此,傳輸每個比特位所需要的時鐘周期數(shù)目為:(1/9600)/(1/(27*1000*1000))=2812.5。2815.2換算為十六進制為AFCH或者是AFDH,因此對應(yīng)的DLH設(shè)置為高8位,0x0A,對應(yīng)的DLL設(shè)置為低8位,為0xFC或者0xFD。3、(1)*pdata=I2CDATA(2)0×8003(3)I2CDATA=wdata(4)I2CSTAT&Ox80本問題考查工℃設(shè)備的讀寫操作過程,要求考生能夠正確的根據(jù)給出的寄存器,以及對應(yīng)的邏輯要求,補全相關(guān)代碼。對IC的操作過程實際上就是對外部設(shè)備的操作過程。這里的IC讀寫函數(shù)只是給出了原子性的讀寫實現(xiàn)方法,至于操作哪類IC設(shè)備,即讀、寫哪個IC設(shè)備的哪些地址,這需要在外部邏輯實現(xiàn)中考慮。在IC的讀操作中,其邏輯過程為從I2CDATA寄存器中獲取準(zhǔn)備好的IC數(shù)據(jù),其核心在于等待IC控制寄存器準(zhǔn)備好數(shù)據(jù),實現(xiàn)方法為查詢對應(yīng)的狀態(tài)寄存器的某個比特位。同時,在讀操作中,需要首先將IC控制寄存器修改為讀控制狀態(tài)。在IC的寫操作中,邏輯過程為:先將IC控制寄存器配置為寫控制狀態(tài),將要寫出的數(shù)據(jù)寫到I2CDATA寄存器中,然后等待寫完畢,等待的方法為查詢寄存器狀態(tài),待狀態(tài)表明寫完畢后,此次寫操作才算完成。試題二本題考查嵌入式軟件測試的基本知識。本問題考查嵌入式軟件測試覆蓋率的基本概念。語句覆蓋要求設(shè)計足夠多的測試用例,運行被測程序,使得程序中每條語句至少被執(zhí)行一次。定覆蓋(分支覆蓋)要求設(shè)計足夠多的測試用例,運行被測程序,使得程序中的每個判斷的真”和w假"都至少被執(zhí)行一次。條件覆蓋要求設(shè)計足夠多的測試用例,運行被測程序,使得判定中的每個條件獲得各種可能的結(jié)果,即每個條件至少有一次為真值,有一次為假值。MC/DC覆蓋要求每個條件的取值都有覆蓋,每個判定值都有覆蓋且每個條件都能獨立影響判定結(jié)果,各覆蓋率的含義如表所示。5、本問題考查程序流程圖的畫法。注意開始、結(jié)束的符號。根據(jù)源代碼,程序流程圖如下。6、用例數(shù)量:3個;條件取值范圍:(x>0andy<=0)、(x<=0andy>0)及(x>0andy>0)本問題考查MC/DC覆蓋率判定的綜合運用。MC/DC與代碼中的邏輯運算有關(guān)。本題代碼中的邏輯運算為x>0&&y>0。根據(jù)MC/DC的定義,MC/DC覆蓋要求每個條件的取值都有覆蓋,每個判定值都有覆蓋且每個條件都能獨立影響判定結(jié)果。對于a&&b這樣的邏輯運算,真值表如下。對測試用例1和測試用例2,條件a不變,因為條件b的不同而導(dǎo)致結(jié)果的不同,因此條件b獨立影響判定的結(jié)果。對測試用例2和測試用例3,因為條件b不變,條件a的不同而導(dǎo)致結(jié)果的不同,因此條件a獨立影響判定的結(jié)果。綜合以上,對邏輯運算a&&b應(yīng)產(chǎn)生三個測試用例,包括:(True,F(xiàn)alse)、(True,True)、(False,True)。所以本題用例數(shù)量:3個;條件取值范圍:(x>0andy<=0)、(x<=0andy>0)及(x>0andy>0)。試題三7、(1)其他樓層有呼叫請求,或a;(2)到達(dá)請求樓層,或d;(3)乘客進入電梯或等待一段時間后,或c;(4)無呼叫請求,或b;(5)電梯所在樓層有呼叫請求,或e;(6)其他樓層有呼叫請求,或a。本題考查嵌入式系統(tǒng)設(shè)計,涉及嵌入式軟件和微處理器基礎(chǔ)知識的應(yīng)用。電梯控制系統(tǒng)是典型的嵌入式系統(tǒng),本題所述是一個實驗室環(huán)境下的自動電梯模擬控制系統(tǒng),許多地方都做了簡化。電梯的運行由電梯控制模塊完成,它負(fù)責(zé)修改電梯當(dāng)前狀態(tài),根據(jù)電梯狀態(tài)派遣電梯執(zhí)行停止、運行、開門、關(guān)門等任務(wù),設(shè)置電梯處于各種狀態(tài)的運行時間,指揮電梯按照運行規(guī)則運行。根據(jù)電梯運行的流程,把電梯劃分為停止、運行、開門、關(guān)門4種控制狀態(tài),電梯控制狀態(tài)轉(zhuǎn)移圖如下圖所示。停止?fàn)顟B(tài)是指電梯在沒有任何請求的情況下的靜止?fàn)顟B(tài),而不是指電梯在運行過程中開門前的停頓狀況,本題忽略停頓狀況,把電梯從運行狀態(tài)直接遷移為開門狀態(tài)。圖6電梯控制狀態(tài)遷移完整圖從圖6可以看到,電梯根據(jù)控制狀態(tài)的遷移規(guī)則進行狀態(tài)遷移,具體如下:(1)系統(tǒng)初始時,電梯處于停止?fàn)顟B(tài);(2)電梯處于停止?fàn)顟B(tài)時,根據(jù)發(fā)出請求的樓層不同可以分別遷移到運行或者開門兩種不同的狀(3)電梯處于運行狀態(tài)時,如果沒有到達(dá)請求樓層時發(fā)生自遷移,即保持運行狀態(tài)不變;當(dāng)?shù)竭_(dá)請求樓層時,遷移到開門狀態(tài);(4)電梯處于開門狀態(tài)時,等乘客進入電梯后或一段時間后必然會遷移到關(guān)門狀態(tài);(5)電梯處于關(guān)門狀態(tài)時,可以根據(jù)是否有請求遷移到運行狀態(tài)或者遷移到停止?fàn)顟B(tài)。8、(1)改變狀態(tài)為開門(2)當(dāng)前層上移一層(3)改變狀態(tài)為開門(4)改變狀態(tài)為向下(5)改變狀態(tài)為向上電梯各個狀態(tài)的處理過程是,根據(jù)電梯狀態(tài),調(diào)用相應(yīng)的控制狀態(tài)的處理程序來控制電梯的運行。圖3為電梯運行狀態(tài)的處理流程圖。當(dāng)進入電梯運行狀態(tài)后,首先判斷當(dāng)前電梯的運行方向。程序處理邏輯如下:1.當(dāng)電梯向上運行時:(1)若當(dāng)前層有內(nèi)部請求,或外部有向上請求,或外部有向上和向下請求,則改變狀態(tài)為開門,返回;否則,轉(zhuǎn)(2);(2)若當(dāng)前層上方有內(nèi)外請求,則當(dāng)前層上移一層,返回;否則,轉(zhuǎn)(3);(3)若當(dāng)前層有外部向下請求,則改變狀態(tài)為開門狀態(tài),返回;否則,轉(zhuǎn)(4);(4)若當(dāng)前層下方有內(nèi)外請求,則改變狀態(tài)為向下,返回。2.當(dāng)電梯向下運行時:(1)若當(dāng)前層有內(nèi)部請求,或外部有向下請求,或外部有向上和向下請求,則改變狀態(tài)為開門,返回;否則,轉(zhuǎn)(2);(2)若當(dāng)前層下方有內(nèi)外請求,則當(dāng)前層下移一層,返回;否則,轉(zhuǎn)(3);(3)若當(dāng)前層有外部向上請求,則改變狀態(tài)為開門狀態(tài),返回;否則,轉(zhuǎn)(4);(4)若當(dāng)前層上方有內(nèi)外請求,則改變狀態(tài)為向上,返回。嵌入式系統(tǒng)設(shè)計師練習(xí)題及答案解析第五套試題一閱讀以下有關(guān)80X86匯編語言的敘述,回答問題1和問題2,將解答填入對應(yīng)欄內(nèi)?!菊f明】本題由兩部分組成,第一部分為計算AX寄存器的值,第二部分為判錯題。1、【問題1】已知DS=2000H,BX=0100H,SI=0002H,存儲單元[20100H]到[20103H]依次存放12H、34H、56H、78H,[21200H]~[21203H]依次存放2AH、4CH、B7H、65H,說明下列每一條指令執(zhí)行后AX寄存器的內(nèi)容。(1)MOVAx,[1200H](2)MOVAX,[BX](3)MOVAX,[BX+1100H](4)MOVAx,[BX+SI](5)MOVAX,[BX][SI+1100H]2、【問題2】下列MoV指令都是錯誤的,請指出錯誤原因。(1)MOVES,1234H(2)MOVAL,300(3)MOV[SP],AX(4)MOVAX,BX+DI(5)MOV20H,AH試題二下面是關(guān)于某測試設(shè)備的敘述,仔細(xì)閱讀并分析,回答問題1至問題4,將答案填入對應(yīng)欄內(nèi)。【說明】某測試設(shè)備是一個嵌入式系統(tǒng),是為了測試一個專用設(shè)備而研制的,如下圖所示。測試設(shè)備用于測試被測設(shè)備的各項軟、硬件功能,包括2路RS232串口、2路模擬量、電源以及專用設(shè)備的其他內(nèi)部部件。在被測專用設(shè)備內(nèi)部有專門的自檢測程序,來測試內(nèi)部各部件。測試設(shè)備的串口與被測設(shè)備相連接,加電后,通過按測試設(shè)備的周邊鍵與被測設(shè)備握手同步,再向被測設(shè)備發(fā)送檢測消息,被測設(shè)備測試自己的某項功能后,通過串口將測試結(jié)果發(fā)回給測試設(shè)備,顯示在測試設(shè)備的LCD屏上。測試設(shè)備的硬件由處理器模塊、Io模塊和電源模塊組成,處理器模塊上有CPU、存儲器、2路串口、鍵盤控制器;IO模塊上有D/A、A/D轉(zhuǎn)換器,用作為模擬量輸入和采集電源的電壓值,以測試被測設(shè)備的模擬量和電源;電源模塊提供測試設(shè)備的電源;測試設(shè)備模塊間采用IsA總線。測試設(shè)備的2路串口與被測設(shè)備相連,同時測試設(shè)備的D/A、A/D轉(zhuǎn)換控制器的輸入線路與被測設(shè)備的模擬量和電源線相連,可直接測試被測設(shè)備的2路RS232串口、2路模擬量、電源。測試設(shè)備的軟件由底層驅(qū)動(串口驅(qū)動、D/A、A/D驅(qū)動和自定義鍵盤驅(qū)動)、嵌入式操作系統(tǒng)和測試軟件組成。3、【問題1】設(shè)存儲器容量為4兆字,字長32位,模塊數(shù)為4,分別用順序方式和交叉方式進行組織,存儲周期為200ns,數(shù)據(jù)線寬度32位,總線傳送周期為50ns,請計算順序存儲器和交叉存儲器的平均存取時間(單位:ns)和帶寬(單位:位/秒)。4、【問題2】測試設(shè)備的軟件工作過程為:測試設(shè)備和被測設(shè)備同時加電,測試設(shè)備的操作系統(tǒng)啟動后自動執(zhí)行測試程序。測試程序首先采集被測設(shè)備的電源是否正常,并在屏幕顯示測試信息。如果被測設(shè)備正常,則向被測設(shè)備發(fā)送握手消息,與被測設(shè)備同步;如果同步不上,則報“不能與設(shè)備同步",測試結(jié)束。接下來,測試程序接收周邊鍵命令,按要求測試。如果測試2路模擬量,則由測試設(shè)備通過D/A轉(zhuǎn)換,向被測設(shè)備發(fā)送模擬信號,被測設(shè)備得到模擬信號,判斷正確性后,通過串口將結(jié)果返回給測試設(shè)備。另外,被測設(shè)備還有4個功能項是通過串口發(fā)送測試命令給被測設(shè)備的,由被測設(shè)備內(nèi)的自測試程序測試后,將結(jié)果再通過串口傳回給測試設(shè)備。請完成下圖所示的流程圖,按編號將正確答案填寫在對應(yīng)欄中。5、【問題3】請把下面列出的6個空位的答案填入相應(yīng)的位置。1.ISA總線為(1)位總線。2.由模擬信號到數(shù)字信號的轉(zhuǎn)換過程稱為_(2)。3.將數(shù)字信號變成模擬信號的過程稱為_3)。4.D/A轉(zhuǎn)換器的主要性能指標(biāo)有(4)、(5)、(6)_。(回答其中的三個主要性能指標(biāo)即可)6、【問題4】在本測試設(shè)備的異步串行傳輸中,數(shù)據(jù)格式為:數(shù)據(jù)位8位、奇校驗位1位、停止位1位。當(dāng)波特率為9600b/s時,每秒鐘傳送的有效數(shù)據(jù)是多少字節(jié)?為保證數(shù)據(jù)收發(fā)正確,試分析發(fā)送方和接收方時鐘允許的誤差范圍,并以百分比形式給出最大誤差。試題三閱讀以下說明和C語言代碼,回答問題1至問題4,將解答填入對應(yīng)欄內(nèi)?!菊f明】在嵌入式操作系統(tǒng)設(shè)備管理的實現(xiàn)上,常使用到c語言的函數(shù)指針變量,由統(tǒng)一的管理函數(shù)調(diào)用不同的設(shè)備驅(qū)動程序。下面的一段c語言代碼是驅(qū)動管理程序managedevice調(diào)用4個不同設(shè)備驅(qū)動程序,但沒有用到函數(shù)指針變量。7、【問題1】請用c語言的函數(shù)指針變量,對managedevice函數(shù)進行改造,完成下面c語言代碼中的(1)、(2)、(3)和(4)處的變量說明或語句,將解答填入對應(yīng)欄內(nèi)?!綾語言代碼】/*變量與類型說明*/#include"stdio.h"#include"stdlib.h"externintsys_status;externintDev_drvl(intargl,intarg2);externintDevdrv2(intargl,ihtarg2);externintDevdrv3(intargl,intarg2);externintDevdrv4(intargl,intarg2);#defineNOERROR0typedefstruct{intfd;(1)函數(shù)指針變量說明;/*變量名用process*/TYP_DEV_TAB;TYP_DEVTABdevtab[50]={{101,Devdrv1},{99,Dev_drv2},{80,Devdrv3},{120,Devdry4},};/*程序*/voidmanage_device(intdevid,intargl,intarg2){ihtplace;intret;(2)函數(shù)指針變量說明;/*局部變量,變量名用ProcAction*/for(place=0;place<50;place++){if(devtab[place].fd==devid){(3)語句1;/*變量名勝ProcAction,得到具體函數(shù)的入口地址制break;if(place>=50)printf("NODEVICEfd=%d\n",devid);(4)語句2;if(ret!=NOERROR)printf("DEVICE%derror!",devid);8、【問題2】在c語言程序中,常在某些變量的說明前加extem,如本題在變量說明中的第一條加extemintsysstams;請說明加extem與不加extem的區(qū)別,在進行編譯時會有什么樣的不同處理?9、【問題3】函數(shù)的參數(shù)存放在什么地址空間中?說明其作用范圍。將答案填入對應(yīng)欄內(nèi)。10、【問題4】在設(shè)備驅(qū)動程序(函數(shù))Dev_drv1中,對指針ptr的說明如下:【c語言代碼】intDevdrvl(intargl,intarg2)Structnode{intID;charname[20];intrange;};structnode*ptr;/*其他局部變量聲明,略*/ptr=(structnode*)malloc(sizeof(structnode)*100);/*其他程序代碼,略*/設(shè)int為32位整數(shù),char占8位。當(dāng)對指針ptr賦完值后的值為0x3751C0,若再執(zhí)行一條“ptr++;"語句,此時ptr的值為多少?(用十六進制表示)。答案:試題一1、(1)4C2AH(2)3412H(3)4C2AH(4)7856H(5)65B7H[解析]本問題主要考查匯編語言中數(shù)據(jù)尋址方式,尋址方式是尋找指令中用于說明操作數(shù)所在地址的方法,或者是尋找操作數(shù)有效地址的方法。包括數(shù)據(jù)尋址和轉(zhuǎn)移地址尋址兩大類。本問題的具體解析如下:MOVAX,[1200H]為直接尋址,對應(yīng)的物理地址為:DSx10H+200H=21200H,該單元的字內(nèi)容為4C2AH,所以該條指令執(zhí)行后AX的內(nèi)容為4C2AH。MOVAx,[BX]為寄存器間接尋址,對應(yīng)的物理地址為:DS×10H+BX=20100H,該單元的字內(nèi)容為3412H,所以該條指令執(zhí)行后Ax的內(nèi)容為3412H。MOVAX,[BX+1100H]為寄存器相對尋址,對應(yīng)的物理地址為:DS×10H+BX+1100H=21200H,該單元的內(nèi)容為4C2AH,所以該條指令執(zhí)行后Ax的內(nèi)容為4C2AH。MOVAX,[BX+SI]為基址變址尋址,對應(yīng)的物理地址為:DS×10H+BX+SI=20102H,該單元的字內(nèi)容為7856H,所以該條指令執(zhí)行后AX的內(nèi)容為7856H。MOVAX,[BX][SI+1100H]為基址變址相對尋址,對應(yīng)的物理地址為:DS×10H+BX+SI+1100H=21202H,該單元字的內(nèi)容為65B7H,所以該條指令執(zhí)行后Ax的內(nèi)容為65B7H。2、(1)立即數(shù)不能直接賦給段寄存器。(2)立即數(shù)300超過a位,不能賦給8位寄存器AL。(3)SP不能作為間接尋址寄存器尋址。(4)兩個寄存器不能相加。(5)立即數(shù)不能作為目標(biāo)操作數(shù)[解析]本問題主要考查匯編語言的基礎(chǔ)知識。在8086的指令系統(tǒng)中,應(yīng)用通用傳送指令時,需要注意以下幾點:傳送指令可傳送8位數(shù)據(jù),也可傳送16位數(shù)據(jù),具體取決于指令中涉及的寄存器是8位還是16位,也取決于立即數(shù)的形式。傳送指令中總是即含源操作數(shù),又含目的操作數(shù),兩者之中至少有一個是用寄存器來指出的,這可減少指令長度。因此,一個立即數(shù)不能直接送直接尋址的內(nèi)存單元。交換指令(XCHG)兩個操作數(shù)都不能是立即數(shù)。傳送指令不能在兩個內(nèi)存單元之間直接傳送數(shù)據(jù)。在傳送指令中,寄存器即可以作為源操作數(shù),也可以作為目的操作數(shù),但CS寄存器不能作為目的操作數(shù),換句話說,這個寄存器的值不能隨意修改。而工P寄存器即不能作源操作數(shù),也不能作為目的操作數(shù)。用BX、SI、DI來間接尋址時,默認(rèn)的段寄存器位Ds,而用BP來間接尋址時,默認(rèn)的段寄存器為ss。8086系統(tǒng)規(guī)定,凡是遇到給ss寄存器賦值的傳送指令時,系統(tǒng)會自動禁止外部中斷,等到本條指令和下條指令執(zhí)行后,又自動恢復(fù)對SS寄存器賦值前的中斷開放狀態(tài)。這樣做是為了允許程序員連續(xù)用兩條指令分別對Ss和Sp寄存器賦值,同時又防止堆??臻g變動過程中出現(xiàn)中斷。了解這點后,就應(yīng)注意在修改ss和sp的指令之間不要插入其他指令。除了一些直接影響FLAGS的指令外,一般傳送指令不改變標(biāo)志寄存器的內(nèi)容。立即數(shù)不能直接送段寄存器DS、ES以及ss,要用通用寄存器或存儲單元作橋梁。因此,指令MOVES,1234H"的錯誤在于立即數(shù)直接賦給了段寄存器;指令“MOVAL,300"的錯誤在于立即數(shù)300超過8位,不能賦給8位寄存器AL;指令“MOV[SP],AX"的錯誤在于Sp不能作為間接尋址寄存器尋址:指令“MOVAx,BX+DI”的錯誤在于兩個寄存器不能相加;指令“MOV20H,AH"的錯誤在于立即數(shù)不能作為目標(biāo)操作數(shù)。試題二[解析]考查存儲器的組織方式和性能計算。順序存儲器和交叉存儲器連續(xù)讀出m=4個字的信息總量是:q=32位×4=128位順序存儲器和交叉存儲器連續(xù)讀出4個字所需的時間分別是:T,=m×T=4×200ns=800ns=8x10(s)T,=T+(m-1)x總線傳送周期=200ns+3×50ns=350ns=3.5×107(s)順序存儲器和交叉存儲器的平均存取時間分別是:T,,=T=200nsT=350ns/4=87.5ns順序存儲器帶寬:W.=g/T,=128/(8×107)=16×107(位/秒)交叉存儲器帶寬:W,=g/T=128/(3.5×107)~36.5×10(位/秒)4、(1)測試電源。(2)與測試設(shè)備同步。(3)接收周邊鍵命令。(4)通過數(shù)模轉(zhuǎn)換模塊發(fā)送模擬量1給被測設(shè)備。(5)通過數(shù)模轉(zhuǎn)換模塊發(fā)送模擬量2給被測設(shè)備。(6)通過串口發(fā)

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論