嵌入式期末考試試卷_第1頁
嵌入式期末考試試卷_第2頁
嵌入式期末考試試卷_第3頁
嵌入式期末考試試卷_第4頁
嵌入式期末考試試卷_第5頁
已閱讀5頁,還剩11頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

PAGEPAGE16第頁共16頁arm期末復習資料試題一ARM微處理器有7種工作模式,它們分為兩類非特權模式、特權模式。其中用戶模式屬于非特權模式ARM處理器有兩種總線架構,數據和指令使用同一接口的是馮諾依曼,數據和指令分開使用不同接口的是哈佛結ARM微處理器復位后,PC的地址通常是0x0,初始的工作模式是Supervisor。ARM微處理器支持虛擬內存,它是通過系統控制協處理器CP15和MMU(存儲管理部件)來進行虛擬內存的存儲和管理。當系統發生數據異常和指令領取異常時,異常處理程序透過嵌入式操作系統的內存管理機制,通過MMU交換物理內存和虛擬內存的頁面,以保證程序正常執行。ARM支持兩個指令集,ARM核因運行的指令集不同,分別有兩個狀態ARM、Thumb,狀態寄存器CPSR的T位反映了處理器運行不同指令的當前狀態ARM核有多個寄存器,其中大部分用于通用寄存器,有小部分作為專用寄存器,R15寄存器用于存儲PC,R13通常用來存儲SP編譯鏈接代碼時,有兩種存儲代碼和數據的字節順序,一種是小端對齊,另一種是打斷對齊構建嵌入式系統開發環境的工具鏈有多種,其中開放源碼的工具鏈是GNU工具鏈,ARM公司提供的工具鏈是ADS工具鏈計算機有CISC和RISC兩種類型,以ARM微處理器為核心的計算機屬于RISC類型,其指令長度是定長的目前使用的嵌入式操作系統主要有哪些?請舉出六種較常用的。WindowsCE/WindowsMobile、VxWork、Linux、uCos、Symbian、QNX任選六2、ARM系統中的堆棧有四種,如下圖。請按圖標出四種堆棧的類型。ATPCS編程規范約定使用的堆棧是哪一種?答:FD、FA、ED、EA。ATPCS編程規范約定使用的堆棧是FD3、BootLoader在嵌入式系統中主要起什么作用?完成哪些主要的工作?答:BootLoader是在嵌入式系統復位啟動時,操作系統內核運行前,執行的一段程序。通過BootLoader,初始化硬件設備,建立內存和I/O空間映射圖,為最終加載操作系統內核調整好適當的系統軟硬件環境。4、搭建嵌入式開發環境,連接目標板,一般使用什么通信接口連接?在Windows主機上使用什么軟件建立連接?在Linux主機上使用什么軟件建立連接?答:RS-232,以太網口、并口在Windows主機上使用超級終端軟件在Linux主機上使用Minicom軟件5嵌入式開發環境主要包括哪些組件?嵌入式系統開發需要交叉編譯和在線調試的開發環境,主要包括宿主機目標機(評估電路板)基于JTAG的ICD仿真器、或調試監控軟件、或在線仿真器ICE運行于宿主機的交叉編譯器和鏈接器、以及開發工具鏈或軟件開發環境嵌入式操作系統6在進行基于ARM核的嵌入式系統軟件開發時,調用如下函數:intdo_something(intarg1,void*arg2,chararg3,int*arg4)這四個參數通過什么方式從調用程序傳入被調函數?根據ATPCS編程規范,調用函數和子程序通過R0——R3四個寄存器傳遞參數,超過四個參數使用堆棧傳遞。因此arg1通過R0傳入,arg2,通過R1傳入,arg3通過R2傳入,arg4通過R3傳入7目前使用的嵌入式操作系統主要有哪些?請舉出六種較常用的。WindowsCE/WindowsMobile、VxWork、Linux、uCos、Symbian、QNX任選六寫一條ARM指令,完成操作r1=r2*3(4分)ADDR1,R2,R2,LSL#1初始值R1=23H,R2=0FH執行指令BICR0,R1,R2,LSL#1后,寄存器R0,R1的值分別是多少?(4分)R0=21H,R1=23H3、說明指令STMIA r12!,{r0-r11}的操作功能。(4分)將R0-R11十二個寄存器中的32位數據,存儲到R12地址指針為起始地址的內存中,地址的操作方式是先操作、后增加,并更新地址。4、寫一段ARM匯編程序:循環累加隊列myarray中的所有元素,直到碰上零值元素,結果放在r4中。程序框架如下,補充代碼完成上述功能。(8分) AREAtotal,CODEREADONLY ENTRYstart MOV r4,#0 ADR r0,myarray;在此補充代碼loopLDRr1,[r0],#4 ADD r4,r4,r1CMP r1,#0BNE loop5、這是一個由源程序strtest.c和scopy.s組成的混合程序項目,通過調用strcopy完成字符串復制,程序代碼如下。要求閱讀程序,在程序中的注釋符“//”后,說明該句程序的作用,并說明extern和EXPORT偽指令的在程序中的作用。(8分)strtest.c#include<stdio.h>externvoidstrcopy(char*d,constchar*s);intmain(){constchar*srcstr="Firststring-source";chardststr[]="Secondstring-destination";printf("Beforecopying:\n");printf("'%s'\n'%s'\n",srcstr,dststr);//strcopy(dststr,srcstr);//printf("Aftercopying:\n");printf("'%s'\n'%s'\n",srcstr,dststr);//return0;}scopy.sAREASCopy,CODE,READONLYEXPORTstrcopystrcopyLDRBr2,[r1],#1;STRBr2,[r0],#1;CMPr2,#0;BNEstrcopy;MOVpc,lr;END//輸出源串和目標串(8分)//調用strcopy函數//輸出復制后的源串和目標串;r1指向源串,從源串載入一個字節的字符到r2,并更新r1=r1+1;r0指向目標串,從r2保存一個字節的字符到目標串,并更新r0=r0+1;測試串尾標志\0;非零轉標號strcopy;返回程序測試題(共24分)1、寫一段ARM匯編程序:循環累加隊列myarray中的所有元素,直到碰上零值元素,結果放在r4中。程序框架如下,補充代碼完成上述功能。(8分) AREAtotal,CODEREADONLY ENTRYstart MOV r4,#0 ADR r0,myarray;在此補充代碼答:loopLDRr1,[r0],#4 ADD r4,r4,r1CMP r1,#0BNE loopstop B stopmyarray DCD0x11 DCD 0x22 ……DCD0x0 END2、有如下程序段,畫出程序流程圖,并回答執行程序以后R0的值是多少。(8分)numEQU2startMOVr0,#0MOVr1,#5MOVr2,#2BLfuncstopBstopfuncCMPr0,#numMOVHSpc,lrADRr3,JumpTableLDRpc,[r3,r0,LSL#2]JumpTableDCDDoADCDDoSDoAADDr0,r1,r2MOVpc,lrDoSSUBr0,r1,r2MOVpc,lrEND答:R0為0調用DoA,R0為1調用DoS,R0大于2直接返回,流程圖略。R0=7這是一個由源程序strtest.c和scopy.s組成的混合程序項目,通過調用strcopy完成字符串復制,程序代碼如下。要求閱讀程序,在程序中的注釋符后,說明該句程序的作用,并說明extern和EXPORT偽指令的在程序中的作用。(8分)strtest.c#include<stdio.h>externvoidstrcopy(char*d,constchar*s);intmain(){constchar*srcstr="Firststring-source";chardststr[]="Secondstring-destination";printf("Beforecopying:\n");printf("'%s'\n'%s'\n",srcstr,dststr);//輸出源串和目標串strcopy(dststr,srcstr);//調用strcopy函數printf("Aftercopying:\n");printf("'%s'\n'%s'\n",srcstr,dststr);//輸出復制后的源串和目標串return0;}scopy.sAREASCopy,CODE,READONLYEXPORTstrcopystrcopyLDRBr2,[r1],#1;r1指向源串,從源串載入一個字節的字符到r2,并更新r1=r1+1STRBr2,[r0],#1;r0指向目標串,從r2保存一個字節的字符到目標串,并更新r0=r0+1CMPr2,#0;測試串尾標志\0BNEstrcopy;非零轉標號strcopyMOVpc,lr;返回END

試題二一、填空題(請將答案填入題后括號中):共10小題,每小題2分,滿分20分。1、一般而言,嵌入式系統的構架可以分為4個部分:分別是(處理器)、存儲器、輸入/輸出和軟件,一般軟件亦分為操作系統相關和(應用軟件)兩個主要部分。2、根據嵌入式系統使用的微處理器,可以將嵌入式系統分為嵌入式微控制器,(嵌入式DSP處理器),(嵌入式微處理器)以及片上系統。3、操作系統是聯接硬件與應用程序的系統程序,其基本功能有(進程管理)、進程間通信、(內存管理)、I/O資源管理。4、從嵌入式操作系統特點可以將嵌入式操作系統分為(實時操作系統)和分時操作系統,其中實時系統亦可分為(硬實時系統)和軟實時系統。5、內核負責管理各個任務,或者為每個任務分配CPU時間,并且負責任務之間的(通信),內核的基本服務是(任務切換)。6、嵌入式開發一般采用(宿主機/目標機方式)方式,其中宿主機一般是指(PC機或者臺式機)。7、哈佛體系結構數據空間和地址空間(分開),ARM7TDMI采用(馮諾依曼體系)的內核架構。8.ARM7TDMI采用(3)級流水線結構,ARM920TDMI采用(5)級流水線。9.按操作系統的分類可知,Dos操作系統屬于順序執行操作系統,Unix操作系統屬于(分時)操作系統,VxWorks屬于(實時嵌入式)操作系統。10、ARM7TDMI中,T表示支持16位Thumb指令集,D表示(在片可調試),M表示內嵌乘法器Multiplier,I表示(嵌入式ICE),支持在線斷點和調試。二、選擇題(請將答案填入題后括號中):共10小題,每小題2分,滿分20分。1、要使CPU能夠正常工作,下列哪個條件不是處理器必須滿足的。 (D)(A)處理器的編譯器能夠產生可重入代碼 (B)在程序中可以找開或者關閉中斷(C)處理器支持中斷,并且能產生定時中斷 (D)有大量的存儲空間2、下面哪種操作系統最方便移植到嵌入式設備中。 (D)(A)DOS (B)unix(C)Windowsxp (D)linux3、下面哪個選項不是SUB設備的特點。 (B)(A)串行通信方式(B)不可熱撥插(C)分HOST、DEVICE和HUB (D)通信速率比RS232快4、下面哪種嵌入式操作系統很少用于手機終端設備上。 (C)(A)Symbian (B)WinCE(C)uc/os (D)linux5、以下哪項關于SRAM和DRAM的區別是不對 。 (A)(A)SRAM比DRAM慢(B)SRAM比DRAM耗電多(C)DRAM存儲密度比SRAM高得多 (D)DRM需要周期性刷新6、uc/os操作系統不包含以下哪幾種狀態。 (C)(A)運行 (B)掛起(C)退出 (D)休眠7、0x07&0x11的運算結果是。 (A)(A)0x01 (B)0x11(C)0x17 (D)0x078、以下哪種方式不是uc/os操作系統中任務之間通信方式。 (C)(A)信號量 (B)消息隊列(C)郵件 (D)郵箱9、以下哪種方式不是文件系統的格式。 (B)(A)FAT (B)DOS(C)NTFS (D)Ext10、在將uc/os操作系統移植到ARM處理器上時,以下哪些文件不需要修改。 (A)(A)OS_CORE.C (B)include.h(C)OS_CPU.H (D)OSTaskInit三、判斷題:共5小題,每小題2分,滿分10分。1、所有的電子設備都屬于嵌入式設備。 (F)2、馮諾依曼體系將被哈佛總線所取代。 (F)3、嵌入式linux操作系統屬于免費的操作系統。 (T)4、移植操作系統時需要修改操作系統中與處理器直接相關的程序。 (T)5、USB2.0的最大通信速率為12M/S。 (F)簡答題:共2小題,每小題10分,滿分20分。根據嵌入式系統的特點,寫出嵌入式系統的定義。以應用為中心、以計算機技術為基礎、軟硬件可裁減、功能、可靠性、成本、體積、功耗嚴格要求的專用計算機系統試分析實時操作系統的工作狀態特點及相互之間的轉換。運行:獲得CPU的控制權;就緒:進入任務等待隊列,通過調度中轉為運行狀態;掛起:任務發生阻塞,稱出任務等待隊列,等待系統實時事件的發生而被喚醒,從而轉為就緒或者運行;休眠:任務完成或者錯誤等原因被清除的任務,也可以認為是系統中不存在的任務。多任務四、分析計算題:共2小題,每小題10分,滿分20分。1、試寫搶占式和非搶占式的區別。執行的過程中對中斷處理方式不一樣,搶先式:某一中斷執行完成后,如果有更高優先級的任務處于就緒狀態,將執行更高優先級任務,而非搶占式不一樣,一個任務只有主動放棄CPU的控制權,其它任務才能夠獲得CPU的控制權。2、從嵌入式系統底層到上層應用軟件,試分析嵌入式計算系統的組成主要分為哪幾個部分,并寫出各部分所完成的功能。(1)硬件層;(2)中間層(嵌入式系統初始化,硬件相關的驅動程序);(3)軟件層(操作系統、文件系統、GUI,網絡及通用組件);(4)功能層。五、專業名詞解釋(寫出以下英文簡寫對應的中文名稱):共5小題,每小題2分,滿分10分。(1)RTOS (2)CISC(3)Kernel (4)Scheduler(5)non-preemptive (1)RTOS(實時操作系統); (2)CISC(復雜指令集);(3)Kernel(內核) (4)Scheduler(調度)(5)non-preemptive(非搶先式) 1.請簡述嵌入式系統的設計過程。嵌入式系統得設計過程:(1)系統定義與需求分析(2)系統設計方案的初步確立(3)初步設計方案性價比評估與方案評審論證(4)完善初步方案、初步方案實施(5)軟硬件集成測試(6)系統功能性能測試及可靠性測試2.簡述ARM處理器的工作狀態。ARM處理器的工作狀態:(1)ARM狀態:32位,ARM狀態下執行字對準的32位ARM指令;(2)Thumb狀態:16位,Thumb狀態下執行半字對準的16位Thumb指令。在Thumb狀態下,程序計數器PC使用位1選擇另一個半字。3.簡述ARM處理器的7種運行模式及各自的用途。ARM處理器的7種運行模式:(1)用戶模式:正常用戶模式,程序正常執行模式。(2)FIQ模式:處理快速中斷,支持高速數據傳送或通道處理。(3)IRQ模式:處理普通中斷。(4)SVC模式:操作系統保護模式,處理軟件中斷。(5)中止模式:處理存儲器故障,實現虛擬存儲器和存儲器保護。(6)未定義模式:處理未定義的指令陷阱,支持硬件協處理器的軟件仿真。(7)系統模式:運行特權操作系統任務。4.簡述BLX、SWI、STM、LDM、MOV、MVN的含義。BLX:帶鏈接和狀態切換的跳轉指令SWI:軟件中斷指令STM:批量內存字寫入指令LDM:加載多個寄存器指令MOV:數據傳送指令MVN:數據取反傳送指令5.請解釋下列程序中的各條指令:.equx,45/*定義變量x,并賦值為45*/.equy,64/*定義變量y,并賦值為64*/.equstack_top,0x1000/*定義棧頂0x1000*/.global_start/*聲明全局變量*/.text/*將操作符開始的代碼編譯到代碼段*/_start:/*程序代碼開始標志*/movsp,#stack_top/*定義堆棧位置*/movr0,#x/*x的值放入r0*/strr0,[sp]/*r0的值保存到堆棧*/movr0,#y/*y的值放入r0*/ldrr1,[sp]/*取堆棧中的數到r1*/addr0,r0,r1/*將r0中的數和r1中的數相加的結構放入r0*/strr0,[sp]/*r0的值保存到堆棧*/stop:bstop/*程序結束,進入死循環*/.end6.分析說明S3C44B0X的總線優先級順序。(1)DRAMrefreshcontroller(DRAM刷新控制器);(2)LCD_DMA(3)ZDMA0,1(4)BDMA0,1(5)Externalbusmaster(外部總線控制器);(6)Writebuffer(寫緩沖區)(7)Cache和CPU。7.S3C44B0X中具有哪幾個定時器?分別有哪些功能特性?6個16位定時器:都可以工作在中斷或DMA模式。定時器0、1、2、3、4有PWM功能,定時器5只是一個內部定時器而無輸出引腳。PWM定時器特性為:6個基于DMA或中斷操作的16位定時器3個8位預分頻器,2個5位除法器和1個4位除法器。輸出波形可編程的功率控制器(PWM)自動重裝或短脈沖模式(One-shotPulseMode)死區發生器1個看門狗定時器:看門狗定時器具有以下特性:帶中斷請求的普通間隔定時器模式當定時器計數值達到0時,內部復位信號被激活128MCLK周期8.S3C44B0X中功耗管理的5種模式是什么?S3C44B0X中功耗管理的5種模式:正常模式:正常運行模式;低速模式:不加PLL的低時鐘頻率模式;空閑模式:只停止CPU的時鐘;停止模式:停止所有的時鐘;LCD的SL空閑模式:SL空閑模式的進入將導致LCD控制器開始工作。此時,CPU和除LCD控制器外的所有外設都停止工作。9.簡述BootLoader的作用。Bootloader作用:系統引導程序,負責Linux內核的啟動,用于初始化系統資源,包括SDRAM。這部分代碼用于建立Linux內核運行環境和從Flash中裝載初始化Ramdisk等。它首先完成系統硬件的初始化,包括時鐘的設置、存儲區的映射、堆棧指針的設置等;然后跳轉到操作系統內核的入口,將系統控制權交給操作系統。10.寫出S3C44B0X的UART1的初始化設置程序代碼。UART初始化程序:staticintwhichUart=0;voidUart_Init(intmclk,intbaud){inti;If(mclk==0)mclk=MCLK;rUFCON1=0x0;rUMCON1=0x0;rULCON1=0x3;rUCON1=0x245;rUBRDIC1=((int)(mclk/16./baud+0.5)-1);for(i=0;i<100;i++);}11ARM常見的尋址方式有哪些?立即尋址寄存器尋址寄存器間接尋址基址加偏址尋址堆棧尋址塊拷貝尋址相對尋址12嵌入式系統軟件的層次結構并簡要介紹?嵌入式系統軟件的層次結構:驅動層程序:驅動層程序是嵌入式系統中不可缺少的重要部分,使用任何的外部設備都需要有相應驅動層程序的支持,他為上層軟件提供了設備的操作接口。驅動層程序一般包括硬件抽象層HAL、板極支持包BSP和設備驅動程序。實時操作系統RTOS:對于使用操作系統得嵌入式系統而言,操作系統一般以內核映像的形式下載到目標系統中。內核中通常必需的基本部件是進城管理、進程間通信、內存管理部分,其他部件如文件系統、驅動程序、網絡協議等都可以根據用戶要求進行配置,并以相關的方式實現。這樣一來,整個嵌入式系統與通用操作系統類似,功能比不帶有操作系統得嵌入式強大了很多。操作系統的應用程序接口API:API是一系列復雜的函數、消息和結構的集合體。在計算機系統中有很多可通過硬件或外部設備去執行的功能,這些功能的執行可通過計算機操作系統或硬件預留的標準指令調用。因而系統提供標準的API函數,可加快用戶應用程序的開發,統一應用程序的開發標準,也為操作系統版本的升級帶來了方便。應用程序:用戶應用程序主要通過調用系統的API函數對系統進行操作,完成用戶應用功能開發。13試述兩種常見的ARM開發環境及其特點?兩種常見的ARM開發環境及其特點:ADS/SDTIDE開發環境:它由ARM公司開發,使用了CodeWarrior公司的編譯器;集成了GNU開發工具的IDE開發環境:它由GNU的匯編器as、交叉編譯器gcc、和鏈接器ld等組成。14:S3C44B0XI2C總線接口操作有那四種操作方式?S3C44B0XI2C總線接口操作的四種操作模式:主傳送模式主接收模式從傳送模式從接收模式15:嵌入式系統的發展趨勢,(+談談個人設想)即將迎來以ARM為核心的32位浪潮嵌入式系統應用的高低端:以4位、8位單片機或為控制器(MCU)為核心的嵌入式系統,早已廣泛的應用于工業控制、軍事、航空航天、家電等各個領域,極大地推動了IT技術的發展。目前這些屬于最低端應用的嵌入式系統。這些低端應用市場范圍非常廣泛,局部帶動了低端應用。即將來臨的32位浪潮:隨著嵌入式系統的不斷發展,當應用越來越復雜、使用范圍越來越廣時,8位處理器已經無法滿足的需要,此時32位SoC為高性能嵌入式系統開發提供了功能豐富的硬件平臺,也為實時嵌入式操作系統的廣泛應用提供了硬件基礎。因此,以32位處理器作為高性能嵌入式系統開發的核心已是嵌入式技術發展的必然趨勢。32位向ARM轉移,形成ARM市場主導地位:在嵌入式微處理器中,雖然有多種嵌入式處理器可供選擇,但是ARM處理器核以其低功耗、高性能等突出優點已在32位嵌入式應用中穩居第一。ARM已成為移動通信、手持計算、多媒體數字消費等嵌入式解決方案事實上的標準。優良的性能和廣泛的市場定位極大地增加和豐富了ARM的資源,加速了ARM處理器面向各種應用的系統芯片的開發和發展。嵌入式系統與Internet的融合:為適應嵌入式分布處理結構和應用上網需求,面向21世紀的嵌入式系統要求配備標準的一種或多種網絡通信接口。針對外部聯網要求,嵌入設備必需配有通信接口,相應需要TCP/IP協議簇軟件支持;由于家用電器相互關聯(如防盜報警、燈光能源控制、影視設備和信息終端交換信息)及實驗現場儀器的協調工作等要求,新一代嵌入式設備還需具備IEEE1394、USB、CAN、Bluetooth或IrDA通信接口,同時也需要提供相應的通信組網協議軟件和物理層驅動軟件。為了支持應用軟件的特定編程模式,如Web或無線Web編程模式,還需要相應的瀏覽器,如HTML、WML等。 未來嵌入式系統的發展趨勢近幾年,在消費電子、工業應用、軍事國防、網絡設備等領域的嵌入式應用,為中提供了難得的發展機遇。另外,嵌入式技術又不斷地刺激新的技術的產生——信息家電、醫療電子病歷、微小型智能武器等方面應用也日益廣泛,應用深度也進一步加強。互聯網的普及、微電子加工工藝的提高、3C技術的普遍融合、使用者需求的增多、信息服務應用的生活化、技術的滲透性和融合性、設備的關聯性以及個性化服務的普遍需求。因而,移動化處理信息,即隨時隨地的獲取信息、處理信息等,成為信息社會把握先機而制勝的必然武器。日益發展的嵌入式已能夠滿足人們隨時隨地利用任何設備和手段來接收、處理和發布信息的需求。低成本、低功耗的消費電子和寬帶、無線通信以及處理運算的高效計算結合技術將進一步刺激和加速嵌入式技術的發展,造就更廣闊的市場空間。

試題三選擇題1、以下說法不正確的是(B)。A、任務可以有類型說明 B、任務可以返回一個數值C、任務可以有形參變量 D、任務是一個無限循環2下列描述不屬于RISC計算機的特點的是(C)。A.流水線每周期前進一步。 B.更多通用寄存器。C.指令長度不固定,執行需要多個周期。D.獨立的Load和Store指令完成數據在寄存器和外部存儲器之間的傳輸。3存儲一個32位數0x2168465到2000H~2003H四個字節單元中,若以大端模式存儲,則2000H存儲單元的內容為(D)。A、0x21 B、0x68 C、0x65 D、0x024μCOS-II中對關鍵代碼段由于希望在執行的過程中不被中斷干擾,通常采用關中斷的方式,以下X86匯編代碼正確而且不會改變關中斷之前的中斷開關狀態的是(D)A.先CLI、執行關鍵代碼、再STIB.先STI、執行關鍵代碼、再CLIC.先POPF、CLI、執行關鍵代碼、再PUSHFD.先PUSHF、CLI、執行關鍵代碼、再POPF。5RS232-C串口通信中,表示邏輯1的電平是(D)。A、0v B、3.3v C、+5v~+15v D、-5v~-15v6ARM匯編語句“ADDR0,R2,R3,LSL#1”的作用是(A)。A.R0=R2+(R3<<1) B.R0=(R2<<1)+R3C.R3=R0+(R2<<1) D.(R3<<1)=R0+R27IRQ中斷的入口地址是(C)。FIQ的入口地址為0x0000001CA、0x00000000 B、0x00000008 C、0x00000018 D、0x000000148S3C2420XI/O口常用的控制器是(D)。(1)端口控制寄存器(GPACON-GPHCON)。(2)端口數據寄存器(GPADAT-GPHDAT)。(3)外部中斷控制寄存器(EXTINTN)。(4)以上都是。9實時操作系統中,兩個任務并發執行,一個任務要等待其合作伙伴發來信息,或建立某個條件后再向前執行,這種制約性合作關系被成為(A)。A.同步B.互斥C.調度D.執行10和PC系統機相比嵌入式系統不具備以下哪個特點(C)。A、系統內核小 B、專用性強 C、可執行多任務 D、系統精簡11、ADD R0,R1,#3屬于(A)尋址方式。A.立即尋址 B.多寄存器尋址 C.寄存器直接尋址 D.相對尋址12、GET偽指令的含義是(A)A.包含一個外部文件 B.定義程序的入口 C.定義一個宏 D.聲明一個變量13、存儲一個32位數0x876165到2000H~2003H四個字節單元中,若以小端模式存儲,則2000H存儲單元的內容為(C)。A、0x00 B、0x87 C、0x65 D、0x6114、μCOS-II操作系統不屬于(C)。A、RTOSB、占先式實時操作系統C、非占先式實時操作系統D、嵌入式實時操作系統15、若R1=2000H,(2000H)=0x86,(2008H)=0x39,則執行指令LDR R0,[R1,#8]!后R0的值為(D)。A.0x2000 B.0x86 C.0x2008 D.0x3916、寄存器R13除了可以做通用寄存器外,還可以做(C)。A、程序計數器 B、鏈接寄存器 C、棧指針寄存器 D、基址寄存器17、FIQ中斷的入口地址是(A)。A、0x0000001C B、0x00000008 C、0x00000018 D、0x0000001418、ARM指令集和Thumb指令集分別是(D)位的。A.8位,16位 B.16位,32位 C.16位,16位 D.32位,16位19、ARM寄存器組有(D)個寄存器。A、7 B、32 C、6 D、3720、若R1=2000H,(2000H)=0x28,(2008H)=0x87,則執行指令LDR R0,[R1,#8]!后R0的值為(D)。A.0x2000 B.0x28 C.0x2008 D.0x8721、寄存器R15除了可以做通用寄存器外,還可以做(A)A.程序計數器 B.鏈接寄存器 C.堆棧指針寄存器 D.基址寄存器22、嵌入式系統有硬件和軟件部分構成,以下(C)不屬于嵌入式系統軟件。A.系統軟件B.驅動C.FPGA編程軟件D.嵌入式中間件26、假設R1=0x31,R2=0x2則執行指令ADD R0,R1,R2LSL#3后,R0的值是(C)A.0x33 B.0x34 C.0x39 D.0x3823、和PC機系統相比下列哪個不是嵌入式系統獨具的特點(C)A、系統內核小 B、專用性強 C、可執行多任務 D、系統精簡24、Unicode編碼與(A)編碼方式兼容。A、ASCII碼 B、GBK C、GB2312 D、區位碼25、Cache用于存放主存數據的部分拷貝,主存單元地址與Cache單元地址之間的轉換用(A)完成。A.硬件B.軟件C.用戶D.程序員26在μC/OS-II系統中,OSTimeTick()函數只被以下(A)函數或過程所調用。A.OSTickISRB.OSShedC.OSCtxSw D.OSIntCtxSw27每種嵌入式操作系統都有自身的特點以吸引相關用戶,下列說法錯誤的是(D)。A.嵌入式Linux提供了完善的網絡技術支持;B.CLinux是專門為沒有MMU的ARM芯片開發的;C.C/OS-Ⅱ操作系統是一種實時操作系統(RTOS);D.WinCE提供完全開放的源代碼。28下列關于存儲管理單元(MMU)說法錯誤的是(B)。A.MMU提供的一個關鍵服務是使各個任務作為各自獨立的程序在其自己的私有存儲空間中運行。B.在帶MMU的操作系統控制下,運行的任務必須知道其他與之無關的任務的存儲需求情況,這就簡化了各個任務的設計。C.MMU提供了一些資源以允許使用虛擬存儲器。D.MMU作為轉換器,將程序和數據的虛擬地址(編譯時的連接地址)轉換成實際的物理地址,即在物理主存中的地址。29下列CPSR寄存器標志位的作用說法錯誤的是(D)。A.N:負數B.Z:零C.C:進位D.V:借位30S3C2410X處理器為用戶進行應用設計提供了支持多主總線的IIC接口。處理器提供符合IIC協議的設備連接的串行連接線為(C)。A.SCL和RTX B.RTX和RCX C.SCL和SDA D.SDA和RCXRQ中斷的優先級別是(D)。A.1 B.2 C.3 D.4LDRR2,[R3,#128]的尋址方式是(C)。A.寄存器尋址 B.寄存器移位 C.變址尋址 D.間接尋址S3C2410有(B)個USB接口。A.1 B.2 C.3 D.434ARM處理器的工作模式有(C)種。A.5B.6 C.7D.8判斷題程序運行過程中的資源可以是顯示器、鍵盤,但不可以是一個數組或變量(X)在μCOS-II操作系統中,已知Task1的優先級為12,Task2的優先級為26。假如在Task2運行過程中發生鍵盤中斷,在執行中斷服務程序時Task1進入就緒狀態,則中斷返回時Task1得到CPU的使用權。(√ )若定義任務task1的優先級為12,則不能再定義其他任務的優先級也為12(√ )任務創建后即開始調度(X)液晶工作在文本模式下時,既可以顯示英文字符也可以顯示漢字(X)處于就緒狀態的任務只能切換到運行狀態(X)等待消息函數WaitMessage(0)中的“0”表示此函數的超時等待時間為0秒(X)若OSTaskSuspend(prio)函數把正在延時的任務掛起,則調用一次對應的喚醒函數即可使該任務切換到就緒狀態。(X)調試程序時,需要停止程序運行后才可查看變量內容(√ )μCOS-II操作系統中移植成功后即可使用文件系統(X)將模擬信號轉換成數字信號的電路是DA轉換器。(×)IIC是同步串行數據總線,。(√)S3C2410的處理器對內存的訪問只能通過Load/Store指令來實現。(√)NandFlash比NorFlash成本高,可靠性差。(×)C語言程序可以嵌套加入匯編程序模塊。(√)運算放大器的輸出電壓范圍一般大于電源電壓的范圍。(×)由于CPU內部寄存器的訪問速度較高,根據ATPC標準,應盡可能使函數的參數控制在4個以下。(√)ARM處理器結構體系中具有T變種處理器核可以工作在ARM狀態和Thumb狀態。(√)簡答題ARM體系結構的寄存器組織:37個32位寄存器,其中31個為通用寄存器,6個為狀態寄存器,哪些寄存器是可編程訪問的,取決微處理器的工作狀態及具體的運行模式。ARM微處理器的異常狀態:7種異常4、ARM處理器有幾種工作模式?并做說明每種工作模式的含義。答:ARM處理器有7種工作模式:用戶模式(usr)-正常程序執行的模式 0.5分快速中斷模式(fiq)-FIQ異常響應時進入此模式 0.5分中斷模式(irq)-IRQ異常響應時進入此模式 0.5分管理員模式(svc)-系統復位和軟件中斷響應時進入此模式 0.5分中止模式(abt)-用于虛擬存儲及存儲保護 0.5分系統模式(sys)-與用戶類似,但有直接切換到其它模式等特權 0.5分未定義模式(und)-未定義指令異常響應時進入此模式 0.5分除了用戶模式外,其他模式均可視為特權模式 0.5分閱讀程序題9、閱讀下列與看門狗有關的寄存器描述,解釋每一行代碼的功能。看門狗定時器控制寄存器(WTCON)寄存器地址讀/寫描述初始值WTCON0x53000000讀/寫看門狗定控制寄存器0x8021WTCON的標識位WTCONBit描述初始值PrescalerValue[15:8]預裝比例值,有效范圍值為0~2550x80Reserved[7:6]保留00WatchdogTimer[5]使能和禁止看門狗定時器0=禁止看門狗定時器1=使能看門狗定時器0ClockSelect[4:3]這兩位決定時鐘分頻因素00:1/1601:1/3210:1/6411:1/12800InterruptGeneration[2]中斷的禁止和使能0=禁止中斷產生1=使能中斷產生0Reserved[1]保留0ResetEnable/Disable[0]禁止很使能看門狗復位信號的輸出1=看門狗復位信號使能0=看門狗復位信號禁止1看門狗定時器數據寄存器(WTDAT)寄存器地址讀/寫描述初始值WTDAT0x53000004讀/寫看門狗數據寄存器0x8000看門狗計數寄存器(WTCNT)寄存器地址讀/寫描述初始值WTCNT0x53000008讀/寫看門狗計數器當前值0x8000#definerWTCON(*(volatileunsigned*)0x53000000)//第1行#definerWTDAT(*(volatileunsigned*)0x53000004)//第2行#definerWTCNT(*(volatileunsigned*)0x53000008)//第3行voidwatchdog_test(void){ rWTCON=((PCLK/1000000-1)<<8)|(3<<3)|(1<<2);//第4行 rWTDAT=7812; //第5行 rWTCNT=7812;//第6行 rWTCON|=(1<<5); //第7行}第1-3行:定義看門狗控制寄存器、數據寄存器和計數寄存器為rWTCON、rWTDAT和rWTCNT。第4行:設置看門狗的預裝比例值為1000000,分頻因素為1/128,并使能中斷。(6分)第5-6行:對數據寄存器和計數寄存器賦值為7812。(2分)第7行:啟動看門狗。(2分)7、閱讀以下S3C2410部分用戶手冊.求:當PCLK或UCLK為40MHz時,串口0的波特率為2400bps,串口1的波特率為115200bps,相應的控制寄存器如何設置.UARTBAUDRATEDIVISORREGISTERTherearethreeUARTbaudratedivisorregisters(寄存器)includingUBRDIV0,UBRDIV1andUBRDIV2intheUARTblock(模塊).Thevaluestoredinthebaudratedivisorregister(UBRDIVn),isusedtodeterminetheserialTx/Rxclockrate(baudrate)asfollows:UBRDIVn=(int)(PCLK/(bpsx16))–1orUBRDIVn=(int)(UCLK/(bpsx16))–1Where,thedivisorshouldbefrom1to(216-1)andUCLKshouldbesmallerthanPCLK.RegisterAddressR/WDescriptionResetValueUBRDIV00x50000028R/WBaudratedivisorregister0–UBRDIV10x50004028R/WBaudratedivisorregister1–UBRDIV20x50008028R/WBaudratedivisorregister2–UBRDIVnBitDescriptionInitialStateUBRDIV[15:0]BaudratedivisionvalueUBRDIVn>0–答:根據UBRDIVn=(int)(PCLK/(bpsx16))–1寄存器UBRDIV0=(int)(40000000/2400*16)-1=1040=10000010000(B)寄存器UBRDIV1=(int)(40000000/115200*16)-1=20=10100(B)任務控制塊(TCB)的數據結構OS-TCB表示任務的狀態。當任務的CPU控制權被槍戰后,任務控制塊用來保存該任務的狀態。當任務重新獲得CPU的控制權后,任務控制塊能夠保證任務從被中斷的位置繼續正確執行。任務控制塊提供了任務的基本信息,如任務的執行狀態、優先級和堆棧位置等。

試題四(一)、填空題1、嵌入式系統的三要素是嵌入、專用、計算機。2、從嵌入式系統設計的角度來看,嵌入式軟件結構可以分為循環輪詢系統、前后臺系統、單處理器多任務系統以及多處理器多任務系統等幾大類。3、衡量系統實時性的主要指標有:響應時間、生存時間、吞吐量。4、軟件一般包括:程序、數據和文檔。5、嵌入式軟件的體系結構通常包括:驅動層、操作系統層、中間件層和應用層。6、嵌入式系統中的任務管理主要包括:創建任務、刪除任務、改變任務狀態和查詢任務狀態等功能。7、任務由代碼、數據、堆棧和任務控制塊TCB構成。8、TCB包含操作系統用來控制任務所需要的信息,如任務狀態、CPU寄存器、調度信息、內存管理信息和I/O狀態信息等。9、任務的主要特性包括:動態性、并行性和異步獨立性。10、任務的特性可能通過優先級、周期、計算時間、就緒時間和截止時間等參數來進行描述。11、任務的三種基本狀態為:等待、就緒和執行。12、BSP的主要特點是:硬件相關性與操作系統相關性。13、評價實時操作系統的主要指標有:系統響應時間、任務切換時間、中斷延遲等。14、實時系統與分時以及批處理系統的主要區別是高及時性和高可靠性。15、創建任務原語的主要功能有:為任務申請一個TCB并初始化、將新建任務設置為就緒狀態并放入就緒隊列中。16、采用優先級調度算法時,一個高優先級任務由阻塞狀態變為就緒狀態時,可以有非搶占式和搶占式兩種處理方式。17、一個從磁盤上讀文件的任務,在得到了所需要的文件信息后,它的狀態應該從阻塞轉換成就緒。18、存儲管理中,對存儲空間浪費是以內部碎片和外部碎片兩種形式表現出來的。19、地址重定位可以分為靜態重定位和動態重定位兩種。20、靜態重定位是在程序裝入時進行,動態重定位是在程序執行時進行。21、設備管理的主要目標是:提高外部設備的利用率、為用戶提供統一的使用界面。22、信號量的物理意義是當信號量值大于零時表示可分配資源的個數;當信號量值小于零時表示等待該資源的任務的個數。23、用P、V操作管理臨界區時,一個任務在進入臨界區前應對信號量執行P操作,退出臨界區時應對信號量執行V操作。24、在嵌入式系統中,如果被多個任務同時操作,某些資源可能會變得不確定,這些資源包括:共享事件結構、共享文件、共享硬件設備。25、在對一個設備進行操作之前要完成下面三步:安裝設備驅動、初始化設備、打開一個設備并得到文件描述符。26、塊設備以塊為單位傳輸數據,字符設備以字節為單位傳輸數據。__(四)、簡答題1、什么是嵌入式系統?嵌入式系統的特點是什么?嵌入式系統是以應用為中心,以計算機技術為基礎,軟件硬件可裁剪,功能、可靠性、成本、體積、功耗嚴格要求的專用計算機系統。嵌入式系統的主要特點如下:高實時性OS、系統內核小專用性強系統精簡實時性和可靠性要求高嵌入式軟件開發走向標準化嵌入式系統需要專門的開發工具和環境2、嵌入式軟件的特點有哪些?規模相對較小,開發難度大快速啟動,直接運行實時性和可靠性要求高程序一體化兩個平臺3、嵌入式系統的主要應用領域有哪些?消費電子、通信設備、家庭設備、汽車電子、工業控制、軍事國防、醫療電子等。4、按實時性來分,嵌入式系統可分為幾類?它們的特點是什么?可分為硬實時系統和軟實時系統。其中硬實時系統對響應時間有嚴格要求,如果系統響應時間得不到滿足,就會引起系統崩潰或致命的錯誤;軟實時系統對響應時間有要求,但系統響應時間得不到滿足時,不會導致系統崩潰或致命的錯誤。0deadlinetime1HardSystemSoftSystem5、影響系統響應時間的主要因素有哪些?影響系統響應時間的主要因素有:任務調度算法任務執行時間事件發生的頻率任務數量中斷響應時間任務響應時間資源共享任務間通信6、根據自己的理解描述嵌入式系統的發展趨勢?行業性嵌入式軟硬件平臺——標準化互聯網的普及——網絡化半導體技術的改善——小型化3C技術的快速融合——功能多樣化使用者的需求——個性化信息服務應用生活化——泛在化28、請簡述計數信號量的工作原理。計數器信號量通常用于保護多實例訪問的資源。計數信號量可以看成一個內存單元,這個內存單元的內容保存一個計數值。當一個任務用semTake獲取一個計數信號量時,會有兩種結果:如果這個信號量的計數是非0的,那這個信號量的計數就會減1,調用semTake的任務也會繼續執行;如果這個信號量的計數是0,調用semTake的任務會被阻塞,等待信號量的可用。如果用semTake獲取一個計數信號量時指定了超時,并且達到了超時值,這個任務會從阻塞隊列移出并移入到就緒隊列,同時返回錯誤狀態。有可能會有幾個任務同時等待在一個計數信號量上。當一個任務調用semGive()釋放一個計數信號量時,等待在這個計數信號量隊列中的任務會解除阻塞狀態。如果沒有任務等待,該信號量計數會加1。29、簡述消息隊列的工作機制?工作模式?有何優缺點?消息隊列是任務之間傳遞信息的一種機制,允許多個任務,中斷之間發送以指針方式定義的變量或其他信息,指向的數據結構的變量類型也可以有所不同;可以看作多個郵箱組成的數組,共用一個等待列表,可以用作計數型信號量。主要的工作模式有兩種:C/S模型、雙工通信模型。優點:可以攜帶少量信息,可以緩沖,防止峰值。缺點:效率不高。傳遞指針信息,沒有對消息進行復制,不能對原消息進行修改,效率相對高(vxWorks會復制消息)。30、簡述管道的工作機制?與消息隊列相比,各有什么優點?管道是構筑于消息隊列之上,由pipeDrv所控制的一個虛擬的I/O設備,具有標準的I/O接口。消息隊列的優點:具有超時功能、消息有優先級、更快、可以被刪除。管道的優點:使用標準的I/O接口,如read(),write(),open(),close();可以通過iotaskStdSet()重定向;在Select()重可以使用文件描述符。31、簡要描述VxWorks中信號的定義和用途。改為簡要描述Linux中信號和信號量的區別信號是一種軟件通知,用以通知處理事件的任務。VxWorks支持軟件信號功能,信號異步地改變任務的控制流,任何任務都可以向另外一個任務發送信號。信號多用于異常處理,很少用于任務間通信。32、實時系統軟件開發不同于其他軟件工程的主要特征有哪些?實時系統的設計是受資源約束的。時間是實時系統的首要資源,除此以外,其他系統資源如內存大小等,在實現系統目標時都有可能與時間進行折衷。實時系統是緊湊而復雜的,通常需要軟件硬件協同設計。實時系統的運行常常不需要用戶的參與。33、選擇嵌入式系統處理器時主要考慮哪些因素?主要考慮的因素有應用類型、I/O接口、主頻、功耗、所支持的存儲器類型、總線、價格、封裝、產品的生命力和廠家的實力、技術支持和第三方軟件的支持。34、選擇嵌入式操作系統時主要考慮哪些因素?是自建還是購買,或是使用開源軟件;應用對嵌入式操作系統的功能、性能的要求;與硬件平臺和開發工具的關系;產品所屬的應用領域是否有行業的標準或限制;技術支持;版稅或服務費的問題。*35、嵌入式Linux網絡驅動程序的設計步驟和要點。*36、實驗十五網絡編程實驗—服務器/客戶機。*37、下圖的代碼使用兩個信號量實現了兩個任務之間的同步。uC/OS-II中使用信號量,通過調用OSSemCreate()建立信號量,并對信號量的初始計數值賦值。該初始值為0到65,535之間的一個數。如果信號量是用來表示一個或者多個事件的發生,那么該信號量的初始值應設為0。如果信號量是用于對共享資源的訪問,那么該信號量的初始值應設為1(例如,把它當作二值信號量使用)。通過調用OSSemPost()函數發送一個信號量,通過調用OSSemPend()函數等待一個信號量。如果信號量當前是可用的(信號量的計數值大于0),將信號量的計數值減1,然后函數將“無錯”錯誤代碼返回給它的調用函數。如果信號量的計數值為0,而OSSemPend()函數又不是由中斷服務子程序調用的,則調用OSSemPend()函數的任務要進入睡眠狀態,等待另一個任務(或者中斷服務子程序)發出該信號量。信號量創建的代碼如下,信號量Sem2初始為可用狀態,而信號量Sem1初始為不可用狀態。Sem1=OSSemCreate(0);Sem2=OSSemCreate(1);任務TaskLED必須等待Sem2可用才能夠繼續往下運行,而Sem2在TaskSEG中發送。同樣TaskSEG必須等待Sem1可用才能夠繼續往下運行,而Sem1在TaskLED中發送,這樣就實現了程序中“…”之間代碼的順序執行,而不受OSTimeDly的延時值的影響。*38、《嵌入式系統實驗指導書》中,某個ads實驗代碼,加注釋。

試題五說明:本試卷共四大題,試卷滿分100分,考試時間120分鐘。一、填空題(請將答案填入題后括號中):共10小題,每小題2分,滿分20分。1、一般而言,嵌入式系統的構架可以分為4個部分:處理器、()、輸入/輸出和軟件,一般軟件亦分為()和應用軟件兩個主要部分。2、根據嵌入式系統使用的微處理器,可以將嵌入式系統分為(),嵌入式DSP,()以及片上系統。3、操作系統是聯接硬件與應用程序的系統程序,其基本功能有進程管理、()、()、I/O資源管理。4、從嵌入式操作系統特點可以將嵌入式操作系統分為實時操作系統和(),其中實時系統亦可分為()和軟實時系統。5、內核負責管理各個任務,或者為每個任務分

溫馨提示

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

評論

0/150

提交評論