當前位置:學者齋 >

IT認證 >嵌入式 >

2016年嵌入式系統複習試題及答案

2016年嵌入式系統複習試題及答案

  一、填空題:

2016年嵌入式系統複習試題及答案

1、試列舉三種主流的嵌入式處理器:( ARM )、( MIPS )、(PowerPC)。

2、ARM處理器共有(37)個暫存器,其中包括(31個通用暫存器)和(6個狀態暫存器)。

3、暫存器R13在ARM指令中(堆疊指標SP )。R14也稱(程式連線暫存器LR)在程式裡的作用是(程式計數器PC的備份)。當發生中斷或異常時,對應分組暫存器分別是(R14_svc、R14_irq、R14_fiq、R14_abt和R14_und用來儲存R15的返回值)。

4、ARM微處理器支援兩種指令集:(ARM)和(Thumb)。

5、暫存器R15用作(程式計數器PC)。該暫存器在ARM狀態下,(位[1:0]為00),位[31:2]用於儲存PC;在Thumb狀態下,(位[0]為0),位[31:1]用於儲存PC。

6、CPSR用作( 狀態暫存器 ),CPSR可在任何執行模式下被訪問。每一種執行模式下又都有一個專用的物理狀態暫存器,稱為(程式狀態儲存暫存器SPSR)。

7、Thumb狀態下的暫存器集是ARM狀態下暫存器集的一個子集,程式可以直接訪問的通用暫存器是(R0—R7,PC,SP,LR,CPSR)。

8、ARM指令中條件執行功能是通過( 指令中新增條件碼)來實現的,包含的條件碼位於指令的最高(四)位。

9、試列舉五種以上常見的嵌入式作業系統:(μC/OS-II)、(Vxworks)、(WinCE)、(Linux/μCLinux)、(PalmOS)。

10、計算機結構中,哈佛結構和馮?諾依曼結構的主要區別是(指令與資料分開),ARM7採用(馮?諾依曼結構),ARM9採用(哈佛結構)。

11、ARM處理器採用(Thumb指令)操作來訪問SFR。

12、在ARM組合語言程式設計中,語句一般是由(指令操作碼)、(指令的條件碼)、(目標暫存器編碼)和(包含第一個運算元的暫存器編碼)組成。

  二、名詞解釋:

ARM處理器:Advanced RISC Machine。先進的RISC指令集處理器。

交叉編譯:在一種計算機環境中執行的編譯程式,能編譯出在另外一種環境下執行的程式碼,這個編譯過程就叫交叉編譯。

異常:是指CPU在執行指令時出現的錯誤,即不正常的情況。異常是與當前所執行的程式有關的。如存取資料或指令錯誤、計算結果溢位等。

大端格式:字資料的高位元組儲存在低地址中,而字資料的低位元組則存放在高地址中。

小端格式:低地址中存放的是字資料的低位元組,高地址存放的是字資料的高位元組。

定址方式:處理器根據指令中給出的(地址)資訊,尋找運算元(實體地址)的方式。

嵌入式系統:廣義上:凡是不用於通用目的的可程式設計計算機裝置,就可以算是嵌入式計算機系統。狹義上而言,嵌入式系統是指以應用為核心,以計算機技術為基礎,軟硬體可裁剪,對功能、可靠性、成本、體積和功耗嚴格要求的專用計算機系統。

GNU:GNU(GNU’s Not Unix),它的'目標是建立可自由釋出和可移植的類Unix作業系統。

偽指令:是組合語言程式裡的特殊指令助記符,在彙編時被合適的機器指令替代。

偽操作:為彙編程式所用,在源程式進行彙編時由彙編程式處理,只在彙編過程起作用,不參與程式執行。

RTOS :實時系統,能夠對外部事件做出及時響應的系統。

  三、簡答題:

1、 簡述採用RISC架構的ARM微處理器的特點。

a.採用固定長度的指令格式,指令規整,簡單,基本定址2~3種

b.使用單週期指令,便於流水線操作

c.大量使用暫存器,提高指令的執行效率

d.所有的指令都可以根據前面的執行後,決定是否執行從而提高指令的執行效率

e.可以載入/儲存指令,批量傳輸資料,以提高資料的傳輸效率

2、 選擇嵌入式微處理器時,應考慮那些因素?

調查市場上已有的CPU供應商。

CPU的處理速度

技術指標

處理器的低功耗。

處理器的軟體支援工具。

處理器是否內建除錯工具。

處理器供應商是否提供評估板

片記憶體儲容量

3、 若允許FIQ、IRQ中斷,CPSR如何設定?

FIQ: CPSR[4:0]=0B10001 IRQ: CPSR[4:0]=0B10010

CPSR[5]=0

CPSR[6]=0

CPSR[7]=0

4、 舉例說明ARM的各種定址方式。

暫存器定址:LDR R1,R2

暫存器間接定址:LDR R1,[R2]

暫存器偏移定址:LDR R1,[R2,-R4,LSL#3]

立即定址:LDR,R3,#34

多寄存定址:LDMIA R0,{R1,R3,R4,R5}

5、 對比說明ADR、ADRL與LDR的區別與聯絡。

ADR:小範圍的地址讀取偽指令。

ADRL:中等範圍的地址讀取偽指令。

LDR:大範圍的地址讀取偽指令。

ADR偽指令功能:將基於PC相對偏移的地址值或基於暫存器相對偏移的地址值讀取到暫存器中。

ADRL偽指令功能:將基於PC相對偏移的地址值或基於暫存器相對偏移的地址值讀取到暫存器中,比ADR偽指令可以讀取更大範圍的地址。

LDR偽指令功能:用於載入32位立即數或一個地址值到指定的暫存器。

6、 比較ARM920T和ARM720T的主要異同。

ARM9 5級流水線 獨立的指令匯流排哈佛結構

ARM7 3級流水線 資料與指令一起 馮·諾依曼結構

8、 簡述S3C2410 Nand flash儲存器的啟動過程。

(1)完成復位

(2)如果自動啟動模式使能,NAND Flash儲存器的前4KB自動複製到Steppingstone內部緩衝器中

(3)Steppingstone對映到nGCS0

(4)CPU在Steppingstone的4KB內部緩衝器中開始執行啟動程式碼

9、 請從廣義和狹義兩個方面簡述嵌入式系統的含義。

答案:嵌入式系統:Embedded System

廣義上:凡是不用於通用目的的可程式設計計算機裝置,就可以算是嵌入式計算機系統。

狹義上而言,嵌入式系統是指以應用為核心,以計算機技術為基礎,軟硬體可裁剪,對功能、可靠性、成本、體積和功耗嚴格要求的專用計算機系統。

10、簡述Bootloader啟動過程。

1、第一階段

(1)、基本的硬體裝置初始化

(2)、為階段2程式碼準備RAM空間

(3)、拷貝階段2程式碼到RAM空間

(4)、設定好堆疊

(5)、跳轉到階段2的C程式入口點

2、第二階段

(1)、初始化本階段要使用到的硬體

(2)、檢測系統記憶體對映(memory map)

(3)、將kernel和根檔案系統映像從flash讀到RAM空間

(4)、為kernel設定啟動引數

(5)、呼叫核心

12、ARM7指令是幾級流水線,各階級執行什麼操作?

ARM7的三級流水線

1取指:從程式儲存器中取指令,放入指令流水線。(佔用儲存器訪問操作)

2譯碼:指令譯碼。(佔用譯碼邏輯)

3執行:執行指令/讀寫REG。(佔用ALU及資料路徑)

13、請簡述嵌入式軟體Bootloader的兩種工作模式。

啟動載入模式:啟動載入模式稱為“自舉”(Autonomous)模式。即Bootloader從目標機上的某個固態儲存裝置上將作業系統載入到 RAM 中執行,整個過程並沒有使用者的介入。啟動載入模式是 Bootloader的正常工作模式,在嵌入式產品釋出的時侯,Bootloader必須工作在這種模式下。

下載模式:在這種模式下,目標機上的Bootloader將通過串列埠連線或網路連線等通訊手段從主機下載檔案。下載內容及儲存:主要是下載核心映像和根檔案系統映像等。從主機下載的檔案通常首先被Bootloader儲存到目標機的RAM中,然後再被 Bootloader寫到目標機上的FLASH 類固態儲存裝置中。

14、寫出不少於12類嵌入式產品中的常用介面。

UART介面、SPI介面、I2C介面、ADC和觸控式螢幕介面、USB介面、乙太網介面、外存介面、LCD介面、時鐘介面、PWM介面、中斷介面、JTAG介面、VGA介面、音訊介面

15、簡述ARM9處理器的7種執行模式。

1、使用者模式(usr):非特權模式,大部分任務執行在這種模式。——正常程式執行的模式

2、快速中斷模式(fiq):當一個高優先順序(fast)中斷產生時將會進入這種模式。——高速資料傳輸或通道處理

3、外部中斷模式(irq):當一個低優先順序(normal)中斷產生時將會進入這種模式。——通常的中斷處理

4、管理模式(svc):當復位或軟中斷指令執行時將會進入這種模式。——供作業系統使用的一種保護模式

5、中止模式(abt):當存取異常時將會進入這種模式。——虛擬儲存及儲存保護

6、未定義模式(und):當執行未定義指令時會進入這種模式——軟體模擬硬體協處理器

7、系統模式(sys):供需要訪問系統資源的作業系統任務使用——特權級的作業系統任務

16、ARM9處理器的定址方式有那些?

立即定址、暫存器定址、暫存器間接定址、基址定址、堆疊定址 、塊拷貝定址、相對定址

17、ARM9有哪些處理器模式?哪些是特權模式?哪些是異常模式?

異常模式:除使用者模式、系統模式之外的五種模式稱為異常模式。特點:以各自的中斷或異常方式進入,並且處理各自的中斷或異常。

特權模式:除使用者模式之外的工作模式又稱為特權模式 特點:應用程式可以訪問所有的系統資源,可以任意地進行處理器模式的切換

18、ARM7在ARM狀態下有多少個暫存器?通常堆疊指標使用哪個暫存器?連線暫存器LR有什麼功能?

有37個32位的暫存器其中31個為通用暫存器;6個為狀態暫存器。

R13:暫存器R13在ARM指令中常用作堆疊指標SP。而在Thumb指令集中,某些指令強制性的要求使用R13作為堆疊指標。

R14:暫存器R14也稱作子程式連結暫存器(Subroutine Link Register)或連結暫存器LR。當執行BL子程式呼叫指令時,R14中得到R15(程式計數器PC)的備份。其他情況下,R14用作通用暫存器。

19、見28

20、Linux的主要特點有那些?

開放性、多使用者、多工、良好的使用者介面、裝置獨立性、豐富的網路功能、可靠的安全系統、良好的可移植性。

21、常用的Bootloader有那些?

1、vivi

2、RedBoot

3、U-Boot

22、Makefile和Make各實現什麼功能?

Makefile檔案內容 按照規則,對系統中本目錄下的檔案(.c、.s、.o、.h、等)根據相互關係和要求進行組織,設定各自的編譯方法,指定所生成的目標。 Makefile是一種文字格式檔案。

Make是Makefile檔案的直譯器

Make對Makefile檔案解釋後,生成Linux的shell命令和gcc編譯命令,接著對命令執行,最終生成目標檔案。

Makefile是工程系統編譯批處理檔案。

23、Linux檔案系統目錄樹結構是怎樣的?

Linux檔案系統是一個目錄樹結構,最上層是根目錄,其他的所有目錄都是從根目錄出發而生成的。Linux下,任何一個目錄都可以是一個分割槽。因此,在分割槽時,必須將一個分割槽安裝在樹根下面。Linux不僅將分割槽安裝為一個目錄,而且還將所有的硬體裝置都安裝成一個個裝置檔案。對裝置的操作是通過檔案的操作完成的。

24、CPSR各位的含義及作用。

31 30 29 28 27 … 8 7 6 5 4 3 2 1 0

N Z C V (保留) I F T M4 M3 M2 M1 M0

1、條件碼標誌位(儲存ALU中的當前操作資訊)

N:正負號/大小 標誌位

Z:零標誌位

C:進位/借位/移出位

V:溢位標誌位

2、控制位

I、F中斷控制位——控制允許和禁止中斷

T控制(標誌)位——反映處理器的執行狀態

  • 文章版權屬於文章作者所有,轉載請註明 https://xuezhezhai.com/zh-tw/itrz/qianrushi/xw1kl6.html