一、 選擇題 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、0x02 4 μCOS-II中對關鍵代碼段由于希望在執行的過程中不被中斷干擾,通常采用關中斷的方式,以下X86匯編代碼正確而且不會改變關中斷之前的中斷開關狀態的是(D) A. 先CLI、執行關鍵代碼、再STI B. 先STI、執行關鍵代碼、再CLI C. 先POPF、CLI、執行關鍵代碼、再PUSHF D. 先PUSHF、CLI、執行關鍵代碼、再POPF。 5 RS232-C串口通信中,表示邏輯1的電平是(D )。 A、0v B、3.3v C、+5v~+15v D、-5v~-15v 6 ARM匯編語句“ADD R0, R2, R3, LSL#1”的作用是(A)。 A. R0 = R2 + (R3 << 1) B. R0 =( R2<< 1) + R3 C. R3= R0+ (R2 << 1) D. (R3 << 1)= R0+ R2 7 IRQ中斷的入口地址是( C)。FIQ的入口地址為0x0000001C A、0x00000000 B、0x00000008 C、0x00000018 D、0x00000014 8 S3C2420X I/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、0x61 14、μCOS-II操作系統不屬于( C)。 A、RTOS B、占先式實時操作系統 C、非占先式實時操作系統 D、嵌入式實時操作系統 15、若R1=2000H,(2000H)=0x86,(2008H)=0x39,則執行指令LDR R0,[R1,#8]!后R0的值為(D )。 A. 0x2000 B. 0x86 C. 0x2008 D. 0x39 16、寄存器R13除了可以做通用寄存器外,還可以做(C )。 A、程序計數器 B、鏈接寄存器 C、棧指針寄存器 D、基址寄存器 17、FIQ中斷的入口地址是( A)。 A、0x0000001C B、0x00000008 C、0x00000018 D、0x00000014 18、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、37 20、若R1=2000H,(2000H)=0x28,(2008H)=0x87,則執行指令LDR R0,[R1,#8]!后R0的值為(D )。 A. 0x2000 B. 0x28 C. 0x2008 D. 0x87 21、寄存器R15除了可以做通用寄存器外,還可以做( A) A. 程序計數器 B. 鏈接寄存器 C. 堆棧指針寄存器 D. 基址寄存器 22、嵌入式系統有硬件和軟件部分構成,以下(C)不屬于嵌入式系統軟件。 A. 系統軟件 B. 驅動 C. FPGA編程軟件 D. 嵌入式中間件 26、假設R1=0x31,R2=0x2 則執行指令ADD R0,R1,R2 LSL #3 后,R0的值是( C) A. 0x33 B. 0x34 C. 0x39 D. 0x38 23、和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. OSTickISR B. OSShed C. OSCtxSw D. OSIntCtxSw 27 每種嵌入式操作系統都有自身的特點以吸引相關用戶,下列說法錯誤的是(D)。 A. 嵌入式Linux提供了完善的網絡技術支持; B. mCLinux是專門為沒有MMU的ARM芯片開發的; C. mC/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: 借位 A. SCL和RTX B. RTX和RCX C. SCL和SDA D. SDA和RCX 31 RQ中斷的優先級別是( D )。 A. 1 B. 2 C. 3 D. 4 32 LDR R2,[R3,#128] 的尋址方式是( C )。 A. 寄存器尋址 B. 寄存器移位 C. 變址尋址 D. 間接尋址 33 S3C2410有( B )個USB接口。 A. 1 B. 2 C.3 D. 4 34 ARM處理器的工作模式有( C )種。 A. 5 B.6 C. 7 D.8 二、 判斷題 1、 程序運行過程中的資源可以是顯示器、鍵盤,但不可以是一個數組或變量(X) 2、 在μCOS-II操作系統中,已知Task1的優先級為12,Task2的優先級為26。假如在Task2運行過程中發生鍵盤中斷,在執行中斷服務程序時Task1進入就緒狀態,則中斷返回時Task1得到CPU的使用權。(√ ) 3、 若定義任務task1的優先級為12,則不能再定義其他任務的優先級也為12(√ ) 4、 任務創建后即開始調度(X) 5、 液晶工作在文本模式下時,既可以顯示英文字符也可以顯示漢字(X) 6、 處于就緒狀態的任務只能切換到運行狀態(X) 7、 等待消息函數WaitMessage(0)中的“0”表示此函數的超時等待時間為0秒(X) 8、 若OSTaskSuspend (prio)函數把正在延時的任務掛起,則調用一次對應的喚醒函數即可使該任務切換到就緒狀態。(X) 9、 調試程序時,需要停止程序運行后才可查看變量內容(√ ) 10、 μCOS-II操作系統中移植成功后即可使用文件系統(X) 11、 將模擬信號轉換成數字信號的電路是DA轉換器。(×) 12、 IIC是同步串行數據總線,。(√) 13、 S3C2410的處理器對內存的訪問只能通過Load/Store指令來實現。(√) 14、 Nand Flash比Nor Flash成本高,可靠性差。(×) 15、 C語言程序可以嵌套加入匯編程序模塊。 (√) 17、 由于CPU內部寄存器的訪問速度較高,根據ATPC標準,應盡可能使函數的參數控制在4個以下。(√) 18、 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)
WTCON的標識位
看門狗定時器數據寄存器(WTDAT)
看門狗計數寄存器(WTCNT)
#define rWTCON (*(volatile unsigned *)0x53000000) // 第1行 #define rWTDAT (*(volatile unsigned *)0x53000004) // 第2行 #define rWTCNT (*(volatile unsigned *)0x53000008) // 第3行 void watchdog_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 為40 MHz時,串口0的波特率為2400 bps ,串口1的波特率為115200bps,相應的控制寄存器如何設置. UART BAUD RATE DIVISOR REGISTER There are three UART baud rate divisor registers(寄存器)including UBRDIV0, UBRDIV1 and UBRDIV2 in the UART block(模塊). The value stored in the baud rate divisor register (UBRDIVn), is used to determine the serial Tx/Rx clock rate(baud rate) as follows: UBRDIVn = (int)(PCLK / (bps x 16) ) –1 or UBRDIVn = (int)(UCLK / (bps x 16) ) –1 Where, the divisor should be from 1 to (216-1) and UCLK should be smaller than PCLK.
答: 根據UBRDIVn = (int)(PCLK / (bps x 16) ) –1 寄存器UBRDIV0= (int)(40000000/2400*16)-1=1040=10000010000(B) 寄存器UBRDIV1=( int)(40000000/115200*16)-1=20=10100(B) 任務控制塊(TCB)的數據結構OS-TCB表示任務的狀態。當任務的CPU控制權被槍戰后,任務控制塊用來保存該任務的狀態。當任務重新獲得CPU的控制權后,任務控制塊能夠保證任務從被中斷的位置繼續正確執行。 任務控制塊提供了任務的基本信息,如任務的執行狀態、優先級和堆棧位置等。 file:///C:/DOCUME~1/ADMINI~1/LOCALS~1/Temp/ksohtml/wps_clip_image-11289.pngfile:///C:/DOCUME~1/ADMINI~1/LOCALS~1/Temp/ksohtml/wps_clip_image-16421.png |