嵌入式設計複習題
一 判斷題
1. 在ARM處理器中,快速中斷(FIQ)的優先級高於外部中斷(IRQ)。 (√)
2. ROM能夠永久或半永久地保存數據,ROM內的數據永遠不會丟失。 (×)
3. VHDL的基本單元描述不包括庫。 (×)
4. 嵌入式ARM架構的嵌入式處理器同時支持大端、小端(Big/Little-Endian)數據類型。(×)
5. ARM9TDMI中的T代表增強型乘法器。(×)
6. ARM-CPU由多家不同製造商生產,芯片外部提供的總線是不一致的。(√)
7. Linux 內核穩定、功能強大並且可以裁減,因為非常適合嵌入式應用。(√)
8. Linux遵循POSIX標準,意味著絕大多數UNIX應用程序不需要任何改動就可以在Linux係統
上編譯且運行。(√)
9. 嵌入式係統由上到下主要分為3個層次:應用軟件層,係統軟件層,硬件層。(×)
10. 嵌入式係統的軟硬件是獨立設計的。(×)
11. 嵌入式係統設計需要建立交叉開發環境。(√)
12. 通用係統程序開發不需要建立和使用交叉編譯環境。(√)
13. 嵌入式係統可以沒有操作係統。(√)
14. JTAG測試允許多個器件通過JTAG接口串聯在一起形成一個JTAG鏈,能實現對各個器件分別測試。(√)
15. ARM屬於CISC體係架構。(×)
16. 除了用戶模式外,ARM處理器的其它幾種工作模式屬於特權模式。(√)
17. 在任何模式下,ARM處理器都可以訪問全部寄存器。(×)
18. 使用立即尋址時,目標寄存器可以為立即數。(×)
19. BLX指令可以將處理器切換到Thumb狀態。(√)
20. 鏈接寄存器(LR)用於保存子程序的返回地址,它不能用作其他用途。(×)
21. 由於使用寄存器R0-R3來傳遞參數,所以調用子程序時,參數不能超過4個。(×)
22. 使用匯編編寫ARM程序時,可直接為PC寄存器賦值。(√)
23. 狀態寄存器的SF標誌位是進位標誌。 (×)
24. BIOS的唯一作用就是引導操作係統。 (×)
25. 當電腦的USB接口不夠使用時,可以使用USB HUB來擴展USB接口。(√)
26. 根據電路是否具有存儲功能,將邏輯電路劃分為兩種類型:組合邏輯電路和時序邏輯電路。(√)
27. 所謂時序邏輯電路,是指電路任一時刻的輸出僅與該時刻的輸入有關。(×)
28. 觸發器按時鍾控製方式來分,有電位觸發、邊沿觸發、主從觸發等方式。(√)
29. 總線數據通信方式按照傳輸定時的方法可分為同步式和異步式兩類。(√)
30. 高速緩存(cache)相比內存容量更大,速度更快。 (×)
31. RS-232C是一種廣泛應用於微機通信中的並行通信協議。(×)
32. 硬件描述語言(HDL)是一種用軟件編程的方式來描述電子係統的邏輯功能、電路結構和連接形式的計算機語言。 (√)
33. 傳統的ASIC設計方案是自下而上的(down-up)。(√)
34. 嵌入式係統是用來控製、監視或輔助設備、機器和工程運行的裝置。 (√)
35. 馮諾依曼結構與哈佛結構的不同之處在於前者將程序與數據存儲在不同的存儲空間,或者則相反。(×)
36. 指令集一般由數據傳輸指令,運算指令,邏輯指令和程序流控製指令組成。 (×)
37. 小端字節順序存儲法是把高字節數據存放到在低地址,低字節的數據存放到高地址處;而大端字節順序存儲法則相反。(×)
38. 嵌入式微處理與微控製器(MCU)相比,具有單片化,體積大大減少,功耗和成本低,可靠性好。(×)
39. DSP處理器由於本身的設計適合執行DSP算法,編譯效率高,執行速度高,但是DSP的發展隨著嵌入式係統智能化的發展,出現不適合運算量較大的情況。(×)
40. 嵌入式係統比較流行的操作係統有Linux, Windows CE, VxWorks等。 (√)
二 選擇題
1.嵌入式處理器指令的執行周期包括(B)
A. 啟動、運行、退出
B. 取指令、指令譯碼、執行指令、存儲
C. 啟動、運行、掛起、退出
D. 取指令、指令譯碼、執行指令
2.下列不屬於嵌入設計處理器本身帶有的基本接口是(C)
A.串口;B.並口;C. PCIE;D.AD/DA;
3. 以下幾個步驟是DMA控製過程的主要節點,請選出正確的DMA控製流程(請求信號HRQ)為(A)
(1). CPU讓出總線控製權(響應信號HLDA)
(2). DMA控製器向CPU請求總線使用權
(3). DMA控製器控製總線,發總線命令、傳送數據
(4). DMA總線控製器歸還總線控製權
(5). CPU重新獲取總線控製權
A. (2),(1),(3),(4); B. (1),(2),(3),(4);
C. (3),(1),(4),(2); D. (3),(4),(1),(2);
4、一個嵌入式係統可以含有多個總線,以下不屬於IO總線的為(C)
A. AGP; B. PCI; C. AHB; D. ISA
5.VHDL是(A)
A. 硬件描述語言 B. 軟件描述語言 C. 構件描述語言 D. 軟件開發工具
6.將係統啟動代碼讀入內存是(C)的主要職責
A. 內存管理;B. VFS;C. Boot Loader;D. 虛擬內存
7.CAN總線是指(A)
A. 控製器局域網 B. 網絡傳輸協議 C. 數據標準 D. 軟硬件接口
8.屬於LCD三種顯示方式的是(C)
A. 投射型、反射型、透射型
B. 投射型、透反射型、透射型
C. 反射型、透射型、透反射型
D. 投射型、反射型、透反射型
9.操作係統內核是指(D)
A. 操作係統的調度部分 B. 操作係統的驅動 C. 操作係統的存儲管理 D. 操作係統的核心部分
10. 下列選項中,不是實時操作係統必須滿足的條件是(C)
A. 具有可搶占的內核 B. 中斷可嵌套 C. 任務調度的公平性 D. 具有優先級翻轉保護
11. BSP作為一種嵌入式軟件,他的主要特點是(B)
A. 與硬件無關,與操作係統有關
B. 與硬件和操作係統都相關
C. 與硬件有關,與操作係統無關
D. 與操作係統和硬件都無關
12. JTAG的引腳TCK的主要功能是(A)
A. 測試時鍾輸入;
B. 測試數據輸入,數據通過TDI輸入JTAG口;
C. 測試數據輸出,數據通過TDO從JTAG口輸出;
D. 測試模式選擇,TMS用來設置JTAG口處於某種特定的測試模式。
13.下列屬於虛擬設備的是(A)
A. 管道 B. 鍵盤 C.磁盤 D. 網卡
14.下列中斷處理過程的步驟,最先執行的是(D)
A. 安裝堆棧 B. 調用中斷服務 C. 恢複堆棧 D. 保存寄存器
15.嵌入式係統的發展可大概分為四個階段,其中第三個階段是(B)
A. 單片機的嵌入式係統,結構和功能單一,用於工業控製領域。
B.實時操作係統的嵌入式係統的嵌入式係統階段。
C. 簡單的嵌入式階段,有較高的可靠性,低功耗的嵌入式處理器和簡單的操作係統。
D. 麵向Internet的階段。
16.下麵不是CISC與RISC的架構的差異是(D)
A. 指令數量不同,前者多,或者較少,通常少於100.
B. 前者有些指令執行時間較長,後者則沒有。
C. 前者有豐富的尋址模式,而後者有較少的尋址模式。
D. 前者有複雜的編譯器設計,可優化編譯技術,生成高效的目標代碼程序,而後者則是簡單的編譯器設計,難以優化生成高效的目標代碼程序。
17.下麵不是嵌入式ARM架構的嵌入式處理器的特點是(C)
A. 具有大量的寄存器,指令執行速度快。
B. 絕大多數操作都在寄存器中進行,通過Load/Store的體係結構在內存和寄存器之間傳遞數據。
C. 同時支持大端、小端(Big/Little-Endian)數據類型。
D. 尋址方式簡單,采用固定長度的指令格式。
18. VxWorks操作係統是WindRiver公司推出的一種32位嵌入式實時操作係統,下麵不是它優點的是(A)
A. VxWorks源碼開源,用戶的開發成本低。
B. 簡潔、緊湊、高效的內核。
C.支持多任務,實時性強。
D. 較好的兼容性和對多種硬件環境的支持。
19.下麵不是流水線技術的特點是(A)
A. 指令流水將會終止,如果發生不能順序執行時。
B. 流水線可分成若幹相互聯係的子過程。
C. 實現子過程的功能所需時間盡可能相等。
D. 形成流水處理需要一定的準備的時間。
20. 以下哪些部件不一定包括在SoC當中(C)
A. 微處理器 B. 模擬IP核 C. 存儲器或片外存儲控製接口 D. FPGA
21. 以下哪一個不屬於IP核的分類(C)
A. 軟核 B. 硬核 C. 模擬核 D. 固核
22. 下列哪一個不是布爾代數的操作符(D)
A. OR B. AND C. NOT D. YES
23. 早期的可編程邏輯器件不包括下列哪一種 (D)
A. PROM B. EPROM C. EEPROM D. FPGA
24. 下列哪個是計算機係統中存儲速度最慢的存儲設備 (D)
A. CPU內部寄存器 B. 高速緩存(Cache) C. 內存 D. 硬盤
25. 下列哪種存儲設備在掉電情況下會丟失數據 (A)
A. 內存 B. Flash Memory C. CF卡 D. 硬盤
26.下列那個單位用來表示信息的傳輸速率 (C)
A. 刷新率 B. 分辨率 C. 比特率 D. 占有率
27. 下列哪一種不是計算機總線 (D)
A. USB B. PCI C. VME D. EDA
28. 下列哪一種不是硬件描述語言 (C)
A. AHDL B. VHDL C. C++ D. Verilog
29. 下列哪個段寄存器指示程序的代碼段 (A)
A. CS B. DS C. S D. FS
30. 下列存儲設備中,數據最不容易丟失的是( A )
A.EPROM B.DRAM C.內存 D.SDRAM
31.下列哪項不是ARM處理器的特點。(B)
A. 小體積、低功耗
B. 可以使用除加載/存儲指令外的多種指令訪問存儲器
C. 大多數數據操作在寄存器中完成,執行速度快
D. 支持Thumb/ARM雙指令集
32. 當加法指令產生進位時,下列哪個條件標誌位會發生變化. (A)
A. C B. T C. I D. F
33.下列哪個不屬於ARM處理器的尋址方式. (D)
A.立即尋址 B.寄存器尋址 C.寄存器間接尋址 D.鏈表尋址
34. 下列哪條指令是塊操作指令. (C)
A. STMFD B. POP C. LDMIA D. PUSH
35.下列哪條指令把寄存器R1、R2的值相加後存到R0中. (C)
A. AND R0, R1, R2
B. SUB R0, R1, R2
C. ADD R0, R1, R2
D. AND R1, R2, R0
36. R0的中的值為0xFFF3,執行指令AND R0, R0, #3後,R0的值為. (A)
A. 0x0003 B. 0xFFFF C. 0xFFF0 D. 0xFFF3
37. CPSR寄存器中Z條件碼為0,當前PC值為0xFF00,則執行BEQ 0xAAA0後,PC值為. (C)
A. 0xAAA0 B. 0xAAA4 C. 0xFF04 D. 0xFF00
38.下列哪條ARM匯編偽指令可用來定義符號. (A)
A. GBLA B. IF C. MAP D. WHILE
39. 閱讀下列程序,回答問題:
LDR R0, 0x22
LDR R1, 0x11
SUB R0, R0, R1
CMP R0, R1
執行這段程序後,R0的值為. ( C )
A. 0x22 B. 0x33 C. 0x11 D. 0
40. 執行上述程序後,CPSR的下列哪個標誌位將發生變化. ( Z )
A. C B. V C. Z D. 以上都不對
41. 交叉開發環境包括交叉編譯環境和( )。
A交叉鏈接器 B交叉調試器 C交叉編輯器 D交叉生成器
42.( )不是JTAG接口的5條線之一
A. TCK B. TAP C. TDI D. TRST
43.( )不是嵌入式硬件調試中使用的主流工具
A.示波器 B. 邏輯分析儀 C.在線仿真器 D.邏輯仿真器
44. 嵌入式係統調試通常可以分為硬件級調試和( )。
A. 軟件級調試 B. 源碼級軟件調試 C. 在線仿真器調試 D. 片上器調試
45. RS232-C串口通信中,表示邏輯1的電平是( )。
A. 0v B. 3.3v C. +5v~+15v D. -5v~-15v
46. 和PC係統機相比嵌入式係統不具備以下哪個特點.( )
A. 係統內核小 B. 專用性強 C. 可執行多任務 D. 係統精簡
47. 存儲一個32位數0x2168465到2000H~2003H四個字節單元中,若以大端模式存儲,則2000H存儲單元的內容為.( )
A. 0x21 B. 0x68 C. 0x65 D. 0x02
48. ARM匯編語句“ADD R0, R2, R3, LSL#1”的作用是.( )
A. R0 = R2 + (R3 << 1) B. R0 =( R2<< 1) + R3 C. R3= R0+ (R2 << 1) D. (R3 << 1)= R0+ R2
49. IRQ中斷的入口地址是( )。FIQ的入口地址為0x0000001C.
A. 0x00000000 B. 0x00000008 C. 0x00000018 D. 0x00000014
50. 實時操作係統中,兩個任務並發執行,一個任務要等待其合作夥伴發來信息,或建立某個條件後再向前執行,這種製約性合作關係稱為. ( )
A. 同步 B. 互斥 C. 調度 D. 執行
51. LDR R2,[R3, #128] 的尋址方式是( )
A.寄存器尋址 B.寄存器移位 C.變址尋址 D.間接尋址
52. ARM處理器支持的數據類型中,字和半字的位數分別為( )
A. 32/8 B. 16/8 C. 32/16 D. 32/8
53. 下麵哪種操作係統最方便移植到嵌入式設備中( )
A. DOS B. Unix C. Windows XP D. Linux
54. 通常所說的32位微處理器是指( )
A. 地址總線的寬度為32位 B.處理的數據長度隻能是32位
C. CPU字長為32位 D.通用寄存器數目為32個
55. 寄存器R13除了可以做通用寄存器外,還可以做( )
A. 程序計數器 B. 鏈接寄存器 C. 棧指針寄存器 D. 基址寄存器
56. 下麵哪個係統屬於嵌入式係統。( D )
A.“天河一號”計算機係統 B. 聯想T400筆記本計算機 C. 聯想S10上網本 D.聯想OPhone手機
57. 下麵關於哈佛結構描述正確的是( A )
A. 程序存儲空間與數據存儲空間分離 B. 存儲空間與IO空間分離
C. 程序存儲空間與數據存儲空間合並 D. 存儲空間與IO空間合並
58. 下麵哪一種工作模式不屬於ARM特權模式( A )
A. 用戶模式 B. 係統模式 C. 軟中斷模式 D. FIQ模式
59. ARM7TDMI的工作狀態包括( D )
A. 測試狀態和運行狀態 B. 掛起狀態和就緒狀態
C. 就緒狀態和運行狀態 D. ARM狀態和Thumb狀態
60. 指令“LDMIA R0!, {R1, R2, R3, R4}”的尋址方式為( C )
A. 立即尋址 B. 寄存器間接尋址 C. 多寄存器尋址 D. 堆棧尋址
61. USB接口移動硬盤最合適的傳輸類型為( B )
A. 控製傳輸 B. 批量傳輸 C. 中斷傳輸 D. 等時傳輸
62. 下麵哪一種功能單元不屬於I/O接口電路。( D )
A. USB控製器 B. UART控製器 C. 以太網控製器 D. LED
63. 下麵哪個操作係統是嵌入式操作係統。( B )
A. Red-hat Linux B. µCLinux C. Ubuntu Linux D. SUSE Linux
三.簡答題
1、簡述馮諾依曼結構與哈佛結構,並指出日常生活中的Intel處理器屬於哪種結構。
答:馮諾依曼結構是一種程序指令存儲器和數據存儲器合並在一起的存儲器結構。
哈佛體係結構是一種將程序指令存儲和數據存儲分開的存儲器結構。
Intel處理器采用馮諾依曼結構。
2、除了可靠性以外,請簡述其他(至少四個)用於評價嵌入式係統性能的指標,並請指出MTBF的具體含義。
答:性能指標,包含吞吐率,實時性,資源利用率;可維護性;可用性;功耗;環境適應性;通用性;安全性;保密性;可擴展性;MTBF,全稱為Mean Time Between Failures, 平均故障間隔時間。
3、嵌入式係統總體上可分為軟件係統和硬件係統。在開發的過程中,兩者往往是並行的關係。在軟件的開發過程中,經常會采用交叉開發環境。請簡述交叉開發環境包含的兩個部分,並請簡要敘述一下交叉開發的過程。
答:交叉編譯環境和交叉連接器。在宿主機上的通用操作係統開發環境下書寫程序代碼後,使用針對目標係統體係結構的編譯器進行編譯,並采用交叉鏈接器對目標代碼進行鏈接,生成的應用程序進過重定向,下載到目標機器。
4、你現在某從事嵌入式產品開發的公司工作,被要求開發一通用的數字電視接收控製器,即通常所說的“機頂盒”,對於機頂盒的開發,請你結合嵌入式係統的設計流程敘述一下將采取的設計開發流程。(整個流程需包括從產品定義到產品測試和發布)
答:嵌入式係統的設計流程:
1)產品定義;
2)硬件與軟件部分劃分;
3)迭代與實現;
4)詳細的硬件與軟件設計;硬件設計,軟件設計;
5)硬件與軟件的集成;
6)係統測試與開發;
5、請簡述ARM處理器的堆棧尋址和塊拷貝尋址模式,並比較它們的不同點。
答: 堆棧尋址: 按先入先出的方式工作。
塊拷貝尋址: 一種多寄存器傳送指令,用於將一塊數據從存儲器的某一塊位置拷貝到多個寄存器
中或相反。
主要不同點:兩者存放數據的順序相反。
6、函數strncpy的作用是?
void strncpy(char *s, const char *d, int n)
{
int c;
__asm
{
loop:
CMP n, #0
BEQ out
LDRB c, [s], #1
STRB c, [d], #1
SUB n, n, #1
B loop
out:
}
}
答: 作用是將長度為n的數組s拷貝至d
7.簡要說明處理器內核、處理器核、芯片這三個概念之間的區別與聯係。
答: ARM公司是一個知識產權IP公司,本身是不做芯片的,它為ARM架構處理器芯片提供ARM處理器內核和ARM處理器核(在最基本的ARM處理器內核基礎上,可增加CACHE、MMU、協處理器CP15、AMBA接口以及EMT宏單元等,這樣就構成了ARM處理器核)。經常見到的ARM處理器,實際是半導體公司基於ARM的處理器核或處理器內核為核心,再開發的針對某一應用領域的芯片。
8. ARM核中什麼寄存器用於存儲PC, R13通常用來存儲什麼, R14通常用來存儲什麼。
答: R15用於程序計數寄存器PC,R13通常用來做堆棧指針寄存器,R14通常用來做鏈接寄存器,保存函數調用的返回地址。
9. 搭建嵌入式開發環境、連接目標板,一般使用什麼通信接口連接?在windows主機上使用什麼軟件建立連接?在Linux主機上使用什麼軟件建立連接?
答: 搭建嵌入式開發環境、連接目標板,一般使用RS-232,以太網口、並口通信接口連接。在Windows主機上使用超級終端軟件建立連接,在Linux主機上使用Minicom軟件建立連接。
10. 根據嵌入式係統的特點,寫出嵌入式係統的定義。
11. 在進行基於ARM核的嵌入式係統軟件開發時,調用如下函數:
int do_something(int arg1,void *arg2,char arg3,int *arg4)
這四個參數通過什麼方式從調用程序傳入被調函數?
答: 根據ATPCS編程規範,調用函數和子程序通過R0-R3四個寄存器傳遞參數,超過四個參數使用堆棧傳遞。因此arg1通過R0傳入, arg2通過R1傳入,arg3通過R2傳入,arg4通過R3傳入。
12. Boot Loader在嵌入式係統中主要起什麼作用?完成哪些主要的工作?
答: Boot Loader是在嵌入式係統複位啟動時,操作係統內核運行前,執行的一段程序。通過Boot Loader,初始化硬件設備,建立內存和I/O空間映射圖,為最終加載操作係統內核調整好適當的係統軟硬件環境。
13. 目前使用的嵌入式操作係統主要有哪些?請舉出六種較常用的。
四 填空題
1. ARM微處理器有 種工作模式,它們分為兩類 、 ,其中用戶模式屬於 。
2. ARM支持兩個指令集, ARM核因運行的指令集不同,分別有兩個態 、 ,狀態寄存器CPSR的 位反映了處理器運行不同指令的當前狀態。
3. ARM處理器有兩種總線架構,數據和指令使用同一接口的是 ,數據和指令分開使用不同接口的是 。
4. ARM微處理器複位後,PC的地址通常是 ,初始的工作模式是 。
5. 編譯鏈接代碼時,有兩種存儲代碼和數據的字節順序,一種是 ,另一種是 。
6. 構建嵌入式係統開發環境的工具鏈有多種,其中開放源碼的工具鏈是 ,ARM公司提供的工具鏈是 。
7. 計算機有CISC和RISC兩種類型,以ARM微處理器為核心的計算機屬於 類型,其指令長度是 。
8. S3C2410芯片采用的內核及核分別是___________、___________。
9. LDR指令用於從_______中將一個32位的字數據傳送到________中。
10. 一般而言,嵌入式係統的構架可以分為4個部分:分別是_________、存儲器、輸入/輸出和軟件,一般軟件亦分為操作係統和_________兩個主要部分。
11. 根據嵌入式係統使用的微處理器,可以將嵌入式係統分為嵌入式微控製器,___________ ,______________ 以及片上係統。
12. 操作係統是聯接硬件與應用程序的係統程序,其基本功能有___________、進程間通信、___________、I/O資源管理。
13. 從嵌入式操作係統特點可以將嵌入式操作係統分為_________和分時操作係統,其中實時係統亦可分為_________和軟實時係統。
14. 編譯鏈接代碼時,有兩種存儲代碼和數據的字節順序,一種是_________,另一種是________ 。
15. ARM微處理器支持虛擬內存,它是通過係統控製協處理器______和MMU(存儲管理部件)來進行虛擬內存的存儲和管理。當係統發生 _________異常和_________異常時,異常處理程序透過嵌入式操作係統的內存管理機製,通過MMU交換物理內存和虛擬內存的頁麵,以保證程序正常執行。
16. 計算機有CISC和RISC兩種類型,以ARM微處理器為核心的計算機屬於___________類型,其指令長度是_________ 。
17. 嵌入式開發一般采用_________方式,其中宿主機一般是指_________。
五、程序分析
1、如下在ADS 中對工程的鏈接器(ARM Linker)進行了配置
並編寫了如下的匯編程序:
問:現執行上述程序,請列出R0,R1,R2 的最終值,並告知整個程序的功能
2、閱讀如下程序
test.s:
test.c:
請列出上述程序執行後R0,R1 的值,並說明上述程序的作用。
3、現有如下C 語言定義的函數mypro
int mypro(int a, int b)
{
a=a*b;
return (a);
}
請補充完成調用上述函數的匯編程序,實現11 與22 相乘,並要求將結果保存在地址為0x40001000
處
area test3, code, readonly
import mypro
entry
code32
start
(1)
(2)
(3)
(4)
(5)
END
一、 選擇題
1、以下說法不正確的是(B )。
A、任務可以有類型說明 B、任務可以返回一個數值
C、任務可以有形參變量 D、任務是一個無限循環
2、用圖形點陣的方式顯示一個16*16點陣漢字需要(B )字節。
A、8 B、32
C、16 D、64
3、下列描述不屬於RISC計算機的特點的是(C)。(2009.06.06)
A.流水線每周期前進一步。
B.更多通用寄存器。
C.指令長度不固定,執行需要多個周期。
D.獨立的Load和Store指令完成數據在寄存器和外部存儲器之間的傳輸。
4、存儲一個32位數0x2168465到2000H~2003H四個字節單元中,若以大端模式存儲,則2000H存儲單元的內容為( D)。(2009.12.26)
A、0x21 B、0x68
C、0x65 D、0x02
5、μCOS-II中對關鍵代碼段由於希望在執行的過程中不被中斷幹擾,通常采用關中斷的方式,以下X86匯編代碼正確而且不會改變關中斷之前的中斷開關狀態的是(D)
A. 先CLI、執行關鍵代碼、再STI
B. 先STI、執行關鍵代碼、再CLI
C. 先POPF、CLI、執行關鍵代碼、再PUSHF
D. 先PUSHF、CLI、執行關鍵代碼、再POPF。
5、采用RS232-C串行通信至少需要三根線,其中不包括(A)
A、電源線 B、地線
C、發送數據線 D、接收數據線
6、RS232-C串口通信中,表示邏輯1的電平是(D )。
A、0v B、3.3v
C、+5v~+15v D、-5v~-15v
25、RS232-C串口通信中,表示邏輯0的電平是( C )
A、0v B、3.3v
C、+5v~+15v D、-5v~-15v
7、 ARM匯編語句“ADD R0, R2, R3, LSL#1”的作用是(A)。(2009.06.06)
A. R0 = R2 + (R3 << 1)
B. R0 =( R2<< 1) + R3
C. R3= R0+ (R2 << 1)
D. (R3 << 1)= R0+ R2
8、IRQ中斷的入口地址是( C)。(2009.06.06)
A、0x00000000 B、0x00000008
C、0x00000018 D、0x00000014
9、 S3C2420X I/O口常用的控製器是(D)。
(1)端口控製寄存器(GPACON-GPHCON)。
(2)端口數據寄存器(GPADAT-GPHDAT)。
(3)外部中斷控製寄存器(EXTINTN)。
(4)以上都是。
8、在c語言中以下不正確的說法是(B )
A、實參可以是常量、變量、或表達式
B、形參可以是常量、變量或表達式
C、實參可以為任意類型
D、形參應與其對應的實參類型一致
10、實時操作係統中,兩個任務並發執行,一個任務要等待其合作夥伴發來信息,或建立某個條件後再向前執行,這種製約性合作關係被成為(A)。(2009.06.06)
A. 同步 B. 互斥 C. 調度 D. 執行
11、和PC係統機相比嵌入式係統不具備以下哪個特點( C)。
A、係統內核小 B、專用性強
C、可執行多任務 D、係統精簡
12、ADD R0,R1,#3屬於(A)尋址方式。
A. 立即尋址 B. 多寄存器尋址
C. 寄存器直接尋址 D. 相對尋址
2、MOV R1,#3屬於(A )尋址方式。新
A、立即尋址 B、多寄存器尋址
C、寄存器直接尋址 D、相對尋址
13、GET偽指令的含義是( A)
A. 包含一個外部文件 B. 定義程序的入口
C. 定義一個宏 D. 聲明一個變量
14、存儲一個32位數0x876165到2000H~2003H四個字節單元中,若以小端模式存
儲,則2000H存儲單元的內容為( C)。
A、0x00 B、0x87
C、0x65 D、0x61
15、μCOS-II操作係統不屬於( C)。
A、RTOS B、占先式實時操作係統
C、非占先式實時操作係統 D、嵌入式實時操作係統
16、若R1=2000H,(2000H)=0x86,(2008H)=0x39,則執行指令LDR R0,[R1,#8]!後R0的值為(D )。
A. 0x2000 B. 0x86
C. 0x2008 D. 0x39
17、寄存器R13除了可以做通用寄存器外,還可以做(C )。
A、程序計數器 B、鏈接寄存器
C、棧指針寄存器 D、基址寄存器
18、FIQ中斷的入口地址是( A)。
A、0x0000001C B、0x00000008
C、0x00000018 D、0x00000014
19、ARM指令集和Thumb指令集分別是(D )位的。(2009.12.26)
A. 8位,16位 B. 16位,32位
C. 16位,16位 D. 32位,16位
20、ARM寄存器組有(D )個寄存器。
A、7 B、32
C、6 D、37
21、若R1=2000H,(2000H)=0x28,(2008H)=0x87,則執行指令LDR R0,[R1,#8]!後R0的值為(D )。
A. 0x2000 B. 0x28
C. 0x2008 D. 0x87
22、寄存器R15除了可以做通用寄存器外,還可以做( A)
A. 程序計數器 B. 鏈接寄存器
C. 堆棧指針寄存器 D. 基址寄存器
24、μCOS-II操作係統屬於(B)
A、順序執行係統 B、占先式實時操作係統
C、非占先式實時操作係統 D、分時操作係統
25、ARM指令集是( B)位的。
A. 16 B. 32
C. 8 D. 24
26、假設R1=0x31,R2=0x2 則執行指令ADD R0,R1,R2 LSL #3 後,R0的值是( C)
A. 0x33 B. 0x34
C. 0x39 D. 0x38
27、寄存器R13除了可以做通用寄存器外,還可以做( C)
A、程序計數器 B、鏈接寄存器
C、棧指針寄存器 D、基址寄存器
28、ARM寄存器組有(C )個狀態寄存器
A、7 B、32
C、6 D、37
29、和PC機係統相比下列哪個不是嵌入式係統獨具的特點(C)
A、係統內核小 B、專用性強
C、可執行多任務 D、係統精簡
30、Unicode編碼與(A)編碼方式兼容。(2009.12.26)
A、ASCII碼 B、GBK
C、GB2312 D、區位碼
31、嵌入式係統有硬件和軟件部分構成,以下(C)不屬於嵌入式係統軟件。
A. 係統軟件 B. 驅動 C. FPGA編程軟件 D. 嵌入式中間件
32、 Cache用於存放主存數據的部分拷貝,主存單元地址與Cache單元地址之間的轉換用(A)完成。
A.硬件 B. 軟件 C. 用戶 D. 程序員
23、對於UC/OS-II操作係統,以下說法不正確的是( B )
A、任務可以有類型說明
B、任務可以返回一個數值
C、任務可以有形參變量
D、任務是一個無限循環
33、 在μC/OS-II係統中,OSTimeTick()函數隻被以下(A)函數或過程所調用。
A. OSTickISR B. OSShed C. OSCtxSw D. OSIntCtxSw
34、 每種嵌入式操作係統都有自身的特點以吸引相關用戶,下列說法錯誤的是(D)。(2009.12.26)
A. 嵌入式Linux提供了完善的網絡技術支持;
B. mCLinux是專門為沒有MMU的ARM芯片開發的;
C. mC/OS-Ⅱ操作係統是一種實時操作係統(RTOS);
D. WinCE提供完全開放的源代碼。
35、下列關於存儲管理單元(MMU)說法錯誤的是(B)。(2009.06.06)
A. MMU提供的一個關鍵服務是使各個任務作為各自獨立的程序在其自己的私有存儲空間中運行。
B. 在帶MMU的操作係統控製下,運行的任務必須知道其他與之無關的任務的存儲需求情況,這就簡化了各個任務的設計。
C. MMU提供了一些資源以允許使用虛擬存儲器。
D. MMU作為轉換器,將程序和數據的虛擬地址(編譯時的連接地址)轉換成實際的物理地址,即在物理主存中的地址。
36、 下列CPSR寄存器標誌位的作用說法錯誤的是(D)。
A. N:負數 B. Z: 零 C. C: 進位 D. V: 借位
37、 S3C2410X處理器為用戶進行應用設計提供了支持多主總線的IIC接口。處理器提供符合IIC協議的設備連接的串行連接線為(C)。(2009.06.06)
A. SCL和RTX B. RTX和RCX
C. SCL和SDA D. SDA和RCX
38、棧和隊列的共同特點是 (C)。(2009.12.26)
A. 都是先進先出B. B. 都是先進後出
C. 隻允許在端點處插入和刪除元素 D. 沒有共同點
39、 有如下程序
main()
{
int x=1,a=0,b=0;
switch(x)
{
case 0: b++;
case 1: a++;
case 2: a++;b++;
}
printf("a=%d,b=%d\n",a,b);
}
該程序的輸出結果是 (A)。
A. a=2 ,b=1 B. a=1, b=1 C. a=1, b=0 D. a=2, b=2
40、 若已定義的函數有返回值,則以下關於該函數調用的敘述中錯誤的是(D)。(2009.12.26)
A. 函數調用可以作為獨立的語句存在
B. 函數調用可以作為一個函數的實參
C. 函數調用可以出現在表達式中
D. 函數調用可以作為一個函數的形參
41、 以下說法正確的是 (C)。(2009.06.06)
A. C語言程序總是從第一個的函數開始執行
B. 在C語言程序中,要調用函數必須在main()函數中定義
C. C語言程序總是從main()函數開始執行
D. C語言程序中的main()函數必須放在程序的開始部分
42、 寄存器R15用作( B )。(2009.06.06)
A. 棧指針寄存器 B. 程序計數器
C. 當前程序狀態寄存器 D. 基地址寄存器
43、 IRQ中斷的優先級別是( D )。
A. 1 B. 2
C. 3 D. 4
15、隨機存取存儲器具有( A )功能
A、讀/寫 B、無讀/寫
C、隻讀 D、隻寫
44、 LDR R2,[R3,#128] 的尋址方式是( C )。
A. 寄存器尋址 B. 寄存器移位
C. 變址尋址 D. 間接尋址
45、 S3C2410有( B )個USB接口。
A. 1 B. 2
C.3 D. 4
46、 ARM處理器的工作模式有( C )種。
A. 5 B.6
C. 7 D.8
二、 填空題:
1、串行通信方式有三中 單工 通信、 雙工 通信和 半雙工 通信。
2、填寫μC/OS-II中任務創建函數OSTaskCreate()的四個參數的含義:
OSTaskCreate(
MyTask, //(任務的函數指針)
(void *)s, //(傳給任務函數的參數)
&TaskStartStk[TASK_STK_SIZE - 1], //(任務的堆棧指針)
0 //(任務的優先級號)
);。
3、ARM7指令係統采用三級流水線指令,分別包括:取指、譯碼和執行。
4、 TCP/IP在多個層引入了安全機製,其中TLS協議位於(傳輸)層。
5、OSTaskSuspend (self)可把正在運行的任務掛起(或等待),參數self指任務自身的優先級。用此函數掛起的任務可通過 OSTaskResume(self)函數喚醒。
6、下列程序的輸出結果是 (“Hello”) 。
maim ()
{ char b[]="Hello you";
b[5]=0;
printf ("%s\n",b); }
7、有數組定義int a[2][2]={{1},{2,3}};則a[0][1]的值為( 0 )。
8、若有int a[3]={10,12,30},則 *(a+2)= 30 。
9、在ARM處理器的各種模式中,大多數應用程序運行在(用戶)模式,當一個高優先級中斷產生時會進入(快速中斷)模式,在複位或軟件軟中斷時進入(特權)模式。
10、 一個嵌入式係統結構有典型的四層組成,包括:硬件層、中間層、軟件層 和功能層 。
11、 一個FAT文件係統卷有四部分組成,包括:保留區 、 FAT區 、 根目錄 和 數據區 。
12、 事件控製塊ECB中OSEventType表示 事件類型 ,OSEventCnt表示 信號量計數器(和信號量的值) 。
13、 串行通信方式有三中 單工 通信、 雙工 通信和 半雙工 通信。
14、 OSTaskSuspend (self)可把正在運行的任務 掛起(或等待) ,參數self指 任務自身的優先級。用此函數掛起的任務可通過 OSTaskResume(self) 函數喚醒。
15、 如果信號量是用於表示打印機不忙,那麼該信號量的初始值應設為 1 。
16、 一個1024×8位的ROM,其存儲容量為 8K 。
17、 若一個優先級為48的任務就緒,則在就緒表中,OSRdyTbl[]的 OSRdyTbl[6]的D0 置位,變量OSRdyGrp的 D6 置位。
18、 Socket接口是TCP/IP網絡的__ API ______,定義了許多函數或例程。常用的Socket類型有兩種為_流式(stream)__Socket和_數據報式(datagram)_Socket。其中_流式(stream)__Socket是麵向連接的,_數據報式(datagram)_Socket是麵向無連接的。
19、 調試程序時調入的文件最好為 Debug 版本下編譯生成的.axf文件,該版本的文件包含部分調試用到的信息。
20、 S3C44B0X使用 ARM7(或ARM7TDMI) 內核,工作頻率為 66MHZ 。
21、 在圖形操作係統中,字符通常有兩種存儲方式:一種是圖形點陣(或點陣) 方式;一種是 矢量圖形(或矢量圖) 方式。在嵌入式開發係統中使用的都是 圖形點陣 方式。
22、 和信號量用數值表示不同,郵箱可以使一個任務向令一個任務發送一個 指針 型
23、 變量,該變量包含了特定消息的 數據結構 。
24、 S3C44B0提供_兩個__個獨立的異步串口,都可以運行於__中斷 __模式或__ DMA ___模式 。
25、 16、ARM處理器的兩種工作狀態為 ARM 狀態和 Thmub 狀態。
26、 17、USB家庭中有三位成員,即 主機(或host)、 設備(或device) 、集線器(或Hub) 。
27、 ARM存儲器有兩種存儲模式,即大端模式和小端模式。假設Y=0x46134存儲在2000H~2003H四個內存單元中,若以小端模式存儲,則(2000H)=__0x34 __、(2001H)= 0x61 _、(2002H)=_0x04_、(2003H)=__0x00__。
28、 信號量有兩種類型,分別為:二進製(或binary)型和記數器(或counter) 型。
29、 影響流水線性能的因素有(互鎖)和(跳轉指令)。
30、 某數碼相機內置128MB的存儲空間,拍攝分辨率設定為1600×1200像素,顏色為24為,若不采用壓縮技術,使用內部存儲器最多可以存儲(23)張照片,該相機最多支持(224)種色彩。
31、 對於8位二進製數,-7的反碼和補碼分別是(11111000)和(11111001)。
32、 在CPU的狀態寄存器中,如果符號標誌為“1”,表示運算結果為(負);如果進位標識為“0”,表示(無進位或借位)。
三、 判斷題
1、程序運行過程中的資源可以是顯示器、鍵盤,但不可以是一個數組或變量(X)
2、21、在μCOS-II操作係統中,已知Task1的優先級為12,Task2的優先級為26。假如在Task2運行過程中發生鍵盤中斷,在執行中斷服務程序時Task1進入就緒狀態,則中斷返回時Task1得到CPU的使用權。(√ )(2009.12.26)
3、若定義任務task1的優先級為12,則不能再定義其他任務的優先級也為12(√ )
4、任務創建後即開始調度(X)
5、液晶工作在文本模式下時,既可以顯示英文字符也可以顯示漢字(X)
6、處於就緒狀態的任務隻能切換到運行狀態(X)
7、等待消息函數WaitMessage(0)中的“0”表示此函數的超時等待時間為0秒(X)
8、 若OSTaskSuspend (prio)函數把正在延時的任務掛起,則調用一次對應的喚醒函數即可使該任務切換到就緒狀態。(X)(2009.12.26)
9、 調試程序時,需要停止程序運行後才可查看變量內容(√ )
10、 μCOS-II操作係統中移植成功後即可使用文件係統(X)
11、 將模擬信號轉換成數字信號的電路是DA轉換器。(×)
12、 IIC是同步串行數據總線,。(√)
13、 S3C2410的處理器對內存的訪問隻能通過Load/Store指令來實現。(√)(2009.12.26)
14、 Nand Flash比Nor Flash成本高,可靠性差。(×)
15、 C語言程序可以嵌套加入匯編程序模塊。 ( √ )(2009.06.06)
16、 運算放大器的輸出電壓範圍一般大於電源電壓的範圍。( × )(2009.06.06)
17、 由於CPU內部寄存器的訪問速度較高,根據ATPC標準,應盡可能使函數的參數控製在4個以下。( √ )(2009.06.06)
18、 ARM處理器結構體係中具有T變種處理器核可以工作在ARM狀態和Thumb狀態。( √ )
四、 簡答題
1、ARM微處理器的編程模型是指ARM微處理器的基本工作原理和一些與程序設計相關的基本技術細節,ARM編程模型主要有哪五個方麵?主要是指什麼內容?
答案要點:
ARM微處理器的工作狀態:ARM狀態、Thumb狀態
ARM體係結構的存儲器格式:大端格式、小端格式
ARM微處理器的工作模式:7種運行模式
ARM體係結構的寄存器組織:37個32位寄存器,其中31個為通用寄存器,6個為狀態寄存器,哪些寄存器是可編程訪問的,取決微處理器的工作狀態及具體的運行模式。
ARM微處理器的異常狀態:7種異常
2、 畫圖說明μCOS-II操作係統各狀態之間是如何切換的,並舉出至少一個相應的切換條件或函數。
答:
帶箭頭各任務間切換圖正確,得1分;
切換條件每三個得1分,共3分,每種切換能舉出一個正確條件或函數即可。
3、什麼是μCOS-II操作係統的時鍾節拍?
答:時鍾節拍是特定的周期性中斷。(1分)這個中斷可以看作是係統心髒的脈動。中斷間的時間間隔取決於不同的應用,一般在10ms~200ms之間。(1分)時鍾的節拍式中斷使得內核可以將任務延時若幹個整數時鍾節拍,以及當任務等待事件發生時,提供等待超時的依據。(1分)時鍾節拍率越快,係統的額外開銷就越大。(1分)
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分
5、什麼是操作係統? 操作係統在“硬件、操作係統、應用程序、硬件驅動”四者中,處於哪兩層之間??
答:操作係統是計算機中最基本的程序。操作係統負責計算機係統中全部軟硬件資源的分配與回收、控製與協調等並發的活動;操作係統提供用戶接口,使用戶獲得良好的工作環境;操作係統為用戶擴展新的係統提供軟件平台。(3分)
操作係統處於應用程序和硬件驅動之間。(1分)
6、什麼是嵌入式係統?分別從狹義和廣義兩方麵說明。
答:從廣義上說,凡是與產品結合在一起具有嵌入式特點的控製係統都可以叫嵌入式係統如電子表、超聲波測距儀等職能儀表,常見CPU為MCS51係列芯片。(2分)
從狹義上說,嵌入式係統是指而嵌入式係統一般指在開發時移植了操作係統,功能較複雜的便攜式電子設備,如手機、掌上電腦、MP4等,常見CPU為ARM、DSP、SOC等。(2分)
7、簡述任務切換的過程。
答:當多任務內核決定運行另外的任務時,它保存正在運行任務的當前狀態,即CPU寄存器中的全部內容。(1分)這些內容保存在任務的當前狀態保存區,也就是任務自己的堆棧中。(1分)入棧工作完成以後,就把下一個將要運行的任務的當前狀態從任務的堆棧中重新裝入CPU的寄存器,並開始下一個任務的運行。這個過程就稱為任務切換。(1分)做任務切換所需要的時間取決於CPU有多少寄存器要入棧。(1分)
8、S3C44B0的存儲係統中,0xc000000和0xc080000的含義是什麼?它們之間的512kbyte空間做什麼用?(2009.12.26)
答:0xC000000是 SDRAM的起始地址,係統的程序存儲空間從0xC080000開始。(2分)512Kbyte的空間劃分出來,作為係統的LCD顯示緩衝區使用(更新其中的數據,就可以更新LCD的顯示)。(2分)
9、簡述你對嵌入式和嵌入式係統的理解?
答:凡是使用了CPU的便攜式電子設備都可以叫嵌入式,(如電子表、超聲波測距儀等職能儀表,常見CPU為MCS51係列芯片) (2分)。而嵌入式係統一般指在開發時移植了操作係統,功能較複雜的便攜式電子設備,(如手機、掌上電腦、MP4等,常見CPU為ARM、DSP、SOC等)。(2分)
10、嵌入式設計流程?
答:1)係統需求分析
2)體係結構設計
3)硬件/軟件協同設計
4)係統集成
5)係統測試 (每點約1分,酌情錯2點,扣1分)
11、什麼是代碼臨界區,進、出代碼臨界應分別做什麼?(2009.12.26)
答:代碼的臨界區也稱為臨界區,指處理時不可分割的代碼。一旦這部分代碼開始執行,則不允許任何中斷打入。(2分)
為確保代碼臨界區的執行,在進入臨界區之前要關中斷,而臨界區代碼執行完以後要立即開中斷(在任務切換時,地址、指令、數據等寄存器堆棧保護)。(2分)
12、 簡要敘述嵌入式係統開發流程。
參考答案及要點:
建立開發環境;
配置開發主機;
建立引導裝載程序BOOTLOADER;
下載已經移植好的操作係統;
建立根文件係統;
開發應用程序。
13、 試簡述常用的三極管放大電路和技術特點。
答:共射電路:具有較大的電壓放大倍數和電流放大倍數,輸入電阻和輸出電阻適中。
共集電路:輸入電阻大,輸出電阻小,電壓放大倍數小於1。
共基電路:輸入電阻小,頻率特性好。
14、 嵌入式係統的軟件層次結構包括哪些部分?簡單說明各部分的功能與作用。(2009.06.06)
答:驅動層程序、操作係統、應用程序接口和應用程序。
驅動層程序:為上層軟件提供設備的操作接口。
操作係統:進程管理、進程間通信、內存管理等。
應用程序接口:複雜函數和數據結構的集合,簡化應用程序的開發。
應用程序:實現用戶功能。
五、 閱讀程序題
1、根據以下程序回答問題。
struct NODE
{int k;
struct NODE *link;
};
main()
{ struct NODE m[5],*p=m,*q=m+4;
int i=0;
while(p!=q)
{p->k=++i;p++;
最後更新:2017-04-03 14:54:25