亚洲国产日韩欧美在线a乱码,国产精品路线1路线2路线,亚洲视频一区,精品国产自,www狠狠,国产情侣激情在线视频免费看,亚洲成年网站在线观看

嵌入式系統(tǒng)復習試題及答案

時間:2023-03-04 22:02:06 嵌入式培訓 我要投稿
  • 相關推薦

2016年嵌入式系統(tǒng)復習試題及答案

  一、填空題:

2016年嵌入式系統(tǒng)復習試題及答案

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

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

  3、寄存器R13在ARM指令中(堆棧指針SP )。R14也稱(程序連接寄存器LR)在程序里的作用是(程序計數(shù)器PC的備份)。當發(fā)生中斷或異常時,對應分組寄存器分別是(R14_svc、R14_irq、R14_fiq、R14_abt和R14_und用來保存R15的返回值)。

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

  5、寄存器R15用作(程序計數(shù)器PC)。該寄存器在ARM狀態(tài)下,(位[1:0]為00),位[31:2]用于保存PC;在Thumb狀態(tài)下,(位[0]為0),位[31:1]用于保存PC。

  6、CPSR用作( 狀態(tài)寄存器 ),CPSR可在任何運行模式下被訪問。每一種運行模式下又都有一個專用的物理狀態(tài)寄存器,稱為(程序狀態(tài)保存寄存器SPSR)。

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

  8、ARM指令中條件執(zhí)行功能是通過( 指令中添加條件碼)來實現(xiàn)的,包含的條件碼位于指令的最高(四)位。

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

  10、計算機結構中,哈佛結構和馮?諾依曼結構的主要區(qū)別是(指令與數(shù)據(jù)分開),ARM7采用(馮?諾依曼結構),ARM9采用(哈佛結構)。

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

  12、在ARM匯編語言程序設計中,語句一般是由(指令操作碼)、(指令的條件碼)、(目標寄存器編碼)和(包含第一個操作數(shù)的寄存器編碼)組成。

  二、名詞解釋:

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

  交叉編譯:在一種計算機環(huán)境中運行的編譯程序,能編譯出在另外一種環(huán)境下運行的代碼,這個編譯過程就叫交叉編譯。

  異常:是指CPU在執(zhí)行指令時出現(xiàn)的錯誤,即不正常的情況。異常是與當前所執(zhí)行的程序有關的。如存取數(shù)據(jù)或指令錯誤、計算結果溢出等。

  大端格式:字數(shù)據(jù)的高字節(jié)存儲在低地址中,而字數(shù)據(jù)的低字節(jié)則存放在高地址中。

  小端格式:低地址中存放的是字數(shù)據(jù)的低字節(jié),高地址存放的是字數(shù)據(jù)的高字節(jié)。

  尋址方式:處理器根據(jù)指令中給出的(地址)信息,尋找操作數(shù)(物理地址)的方式。

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

  GNU:GNU(GNU’s Not Unix),它的目標是建立可自由發(fā)布和可移植的類Unix操作系統(tǒng)。

  偽指令:是匯編語言程序里的特殊指令助記符,在匯編時被合適的機器指令替代。

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

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

  三、簡答題:

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

  a.采用固定長度的指令格式,指令規(guī)整,簡單,基本尋址2~3種

  b.使用單周期指令,便于流水線操作

  c.大量使用寄存器,提高指令的執(zhí)行效率

  d.所有的指令都可以根據(jù)前面的執(zhí)行后,決定是否執(zhí)行從而提高指令的執(zhí)行效率

  e.可以加載/存儲指令,批量傳輸數(shù)據(jù),以提高數(shù)據(jù)的傳輸效率

  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的區(qū)別與聯(lián)系。

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

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

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

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

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

  LDR偽指令功能:用于加載32位立即數(shù)或一個地址值到指定的寄存器。

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

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

  ARM7 3級流水線 數(shù)據(jù)與指令一起 馮·諾依曼結構

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

  (1)完成復位

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

  (3)Steppingstone映射到nGCS0

  (4)CPU在Steppingstone的4KB內部緩沖器中開始執(zhí)行啟動代碼

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

  答案:嵌入式系統(tǒng):Embedded System

  廣義上:凡是不用于通用目的的可編程計算機設備,就可以算是嵌入式計算機系統(tǒng)。

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

  10、簡述Bootloader啟動過程。

  1、第一階段

  (1)、基本的硬件設備初始化

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

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

  (4)、設置好堆棧

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

  2、第二階段

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

  (2)、檢測系統(tǒng)內存映射(memory map)

  (3)、將kernel和根文件系統(tǒng)映像從flash讀到RAM空間

  (4)、為kernel設置啟動參數(shù)

  (5)、調用內核

  12、ARM7指令是幾級流水線,各階級執(zhí)行什么操作?

  ARM7的三級流水線

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

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

  3執(zhí)行:執(zhí)行指令/讀寫REG。(占用ALU及數(shù)據(jù)路徑)

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

  啟動加載模式:啟動加載模式稱為“自舉”(Autonomous)模式。即Bootloader從目標機上的某個固態(tài)存儲設備上將操作系統(tǒng)加載到 RAM 中運行,整個過程并沒有用戶的介入。啟動加載模式是 Bootloader的正常工作模式,在嵌入式產(chǎn)品發(fā)布的時侯,Bootloader必須工作在這種模式下。

  下載模式:在這種模式下,目標機上的Bootloader將通過串口連接或網(wǎng)絡連接等通信手段從主機下載文件。下載內容及存儲:主要是下載內核映像和根文件系統(tǒng)映像等。從主機下載的文件通常首先被Bootloader保存到目標機的RAM中,然后再被 Bootloader寫到目標機上的FLASH 類固態(tài)存儲設備中。

  14、寫出不少于12類嵌入式產(chǎn)品中的常用接口。

  UART接口、SPI接口、I2C接口、ADC和觸摸屏接口、USB接口、以太網(wǎng)接口、外存接口、LCD接口、時鐘接口、PWM接口、中斷接口、JTAG接口、VGA接口、音頻接口

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

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

  2、快速中斷模式(fiq):當一個高優(yōu)先級(fast)中斷產(chǎn)生時將會進入這種模式。——高速數(shù)據(jù)傳輸或通道處理

  3、外部中斷模式(irq):當一個低優(yōu)先級(normal)中斷產(chǎn)生時將會進入這種模式。——通常的中斷處理

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

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

  6、未定義模式(und):當執(zhí)行未定義指令時會進入這種模式——軟件仿真硬件協(xié)處理器

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

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

  立即尋址、寄存器尋址、寄存器間接尋址、基址尋址、堆棧尋址 、塊拷貝尋址、相對尋址

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

  異常模式:除用戶模式、系統(tǒng)模式之外的五種模式稱為異常模式。特點:以各自的中斷或異常方式進入,并且處理各自的中斷或異常。

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

  18、ARM7在ARM狀態(tài)下有多少個寄存器?通常堆棧指針使用哪個寄存器?連接寄存器LR有什么功能?

  有37個32位的寄存器其中31個為通用寄存器;6個為狀態(tài)寄存器。

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

  R14:寄存器R14也稱作子程序鏈接寄存器(Subroutine Link Register)或鏈接寄存器LR。當執(zhí)行BL子程序調用指令時,R14中得到R15(程序計數(shù)器PC)的備份。其他情況下,R14用作通用寄存器。

  19、見28

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

  開放性、多用戶、多任務、良好的用戶界面、設備獨立性、豐富的網(wǎng)絡功能、可靠的安全系統(tǒng)、良好的可移植性。

  21、常用的Bootloader有那些?

  1、vivi

  2、RedBoot

  3、U-Boot

  22、Makefile和Make各實現(xiàn)什么功能?

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

  Make是Makefile文件的解釋器

  Make對Makefile文件解釋后,生成Linux的shell命令和gcc編譯命令,接著對命令執(zhí)行,最終生成目標文件。

  Makefile是工程系統(tǒng)編譯批處理文件。

  23、Linux文件系統(tǒng)目錄樹結構是怎樣的?

  Linux文件系統(tǒng)是一個目錄樹結構,最上層是根目錄,其他的所有目錄都是從根目錄出發(fā)而生成的。Linux下,任何一個目錄都可以是一個分區(qū)。因此,在分區(qū)時,必須將一個分區(qū)安裝在樹根下面。Linux不僅將分區(qū)安裝為一個目錄,而且還將所有的硬件設備都安裝成一個個設備文件。對設備的操作是通過文件的操作完成的。

  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控制(標志)位——反映處理器的運行狀態(tài)

  M控制位——決定了處理器的運行模式

  25、S3C2410存儲器組織及地址分配。

  S3C2410X的存儲器管理器提供訪問外部存儲器的所有控制信號:26位地址信號、32位數(shù)據(jù)信號、8個片選信號、以及讀/寫控制信號等。

  S3C2410X的存儲空間分成8組,最大容量是1GB,bank0---bank5為固定128MB,bank6和bank7的容量可編程改變,可以是2、4、8、16、32、64、128MB,并且bank7的開始地址與bank6的結束地址相連接,但是二者的容量必須相等。

  bank0可以作為引導ROM,其數(shù)據(jù)線寬只能是16位和32位,復位時由OM0、OM1引腳確定;其它存儲器的數(shù)據(jù)線寬可以是8位、16位和32位。

  S3C2410X的存儲器格式,可以編程設置為大端格式,也可以設置為小端格式。

  26、ARM有哪兩種工作狀態(tài),怎樣有指令進行切換?

  從ARM狀態(tài)切換到Thumb狀態(tài)

  有兩種情況ARM處理器自動切換到Thumb狀態(tài)。

  (1)執(zhí)行BX指令,當操作數(shù)寄存器的位[0]為1時,則微處理器從ARM狀態(tài)切換到Thumb狀態(tài)。此為主動切換。

  (2)當處理器處于Thumb狀態(tài)時發(fā)生異常(如IRQ、FIQ等),處理完異常后,在異常處理返回時,自動切換到Thumb狀態(tài)。此為自動切換。

  從Thumb狀態(tài)切換到ARM狀態(tài)

  有兩種情況ARM處理器自動切換到Thumb狀態(tài)。

  (1)執(zhí)行BX指令,當操作數(shù)寄存器的位[0]為0時,則微處理器從Thumb狀態(tài)切換到ARM狀態(tài)。

  (2)當處理器在Thumb狀態(tài)時發(fā)生異常(如IRQ、FIQ等),則處理器從Thumb狀態(tài)自動切換到ARM狀態(tài)進行異常處理

  27、Linux常用命令。

  ls---文件及子目錄名列表

  cat---連續(xù)顯示

  cd---改變工作目錄(目錄切換)

  cp---復制文件和目錄

  28、嵌入式處理器ARM7/9TDMI中TDMI的基本含義是什么?

  ARM7TMDI是目前使用最廣泛的32位嵌入式RISC處理器,屬低端ARM處理器核。TDMI的基本含義為(對其它系列也適用):

  T: 支持16位壓縮指令集Thumb,稱為T變種

  D: 支持片上Debug,稱為D變種

  M:內嵌硬件乘法器 Multiplier,稱為M變種

  I: 嵌入式ICE,支持片上斷點和調試,稱為I變種

  29、S3C2410有那些數(shù)據(jù)通信接口?

  UART接口 、SPI接口、IIC接口、JTAG接口、以太網(wǎng)接口、USB接口

  四、編程題:

  1、編寫一個匯編程序,在ARM程序代碼中調用Thumb子程序,并返回ARM程序完成其功能。

  CODE32

  --------

  BLX TSUB1

  -------

  CODE16

  TSUB1

  -------

  BX R14

  2、將存儲器中0x30000000開始的200字節(jié)的數(shù)據(jù),傳送到地址從0x10000000開始的某接口電路的存儲區(qū)域。

  START

  LDR R0,=0X30000000

  LDR R1,=0X10000000

  MOV R4,#0

  LKM

  LDRB R2,[R0],#1

  STRB R2,[R1],#1

  ADD R4,R4,#1

  CMP R4,#200

  BLNE LKM

  END

  3、編寫一簡單ARM匯編程序段,實現(xiàn)1+2+…+1000的累加運算。

  MOV R0,#0

  MOV R1,#0

  LKM

  ADD R0,R0,#1

  ADD R1,R1,R0

  CMP R0,#1000

  BLNE LKM

  END

  4、將內存中從0x30000FFF開始的100個字數(shù)據(jù)相加,其結果存于R3、R2中。

  LDR R0,=0X30000000

  MOV R4,#0

  MOV R2,#0

  MOV R3,#0

  LKM

  LDR R5 , [R0],#4

  ADDS R3, R3,R5

  ADDC R2, R2,#0

  ADD R4,R4,#1

  CMP R4,#100

  BLNE LKM

  END

  5、編寫一程序,查找存儲器從0x30000000開始的100個字中為0的數(shù)目,將其結果存到0x30000012中。

  START

  LDR R0,=0X30000000

  LDR R1,=0X30000012

  MOV R3,#0

  MOV R4,#0

  LKM

  LDR R2,[R0],#4

  ADD R3,R3,#1

  CMP R2,#0

  ADDEQ R4,R4,#1

  CMP R3,#100

  BLNE LKM

  STR R4,[R1]

  END

  6、R0和R1中有兩個32位無符號數(shù),若R0>R1,則R0=R0-R1;若R0

  CMP R0,R1

  SUBHS R0,R0,R1

  SUBCC R1,R1,R0

  7、試編寫程序,實現(xiàn)計算2+4+6+8+…+2N的值。

  MOV R5,#0

  MOV R3,#0

  MOV R4,#0

  LABLE EQU #0X2300000

  MOV LABLE,#300

  LKM

  ADD R3,R3,#2

  ADD R4,R4,R3

  ADD R5,R5,#1

  CMP R5,#LABLE

  BLNE LKM

  END

  9、編程實現(xiàn)S3C2410工作模式的切換。

  MRS R0,CPRS

  BIC R0,R0,#&1F

  ORR R0,R0,#&12

  MSR CPSR_C R0

  10、UART初始化編程。

  START

  LDR R0,=UFCON0

  LDR R1,=0X0

  STR R1,[R0]

  LDR R0,=ULCON0

  LDR R1,=0X3

  STR R1,[R0]

  LDR R0,=UCON0

  LDR R1,=0X245

  STR R1,[R0]

  LDR R0,=PCLK

  MOV R1,[R0]

  考試題型

  填空20分;單項選擇20分;名詞解釋12分;簡答題20分;編程題28分。

  跳轉指令:

  B BL BLX BX

  B/BL{cond} label

  BLX{cond} Rm/lable

  數(shù)據(jù)指令:

  MOV MVN 移位指令 2

  ADD ADC 加法指令 3

  SUB SBC 減法指令 3

  RSB RSC 逆向減法 3

  ORR EOR AND 邏輯 3

  CMP CMN TST TEQ 測試 2

  BIC 位測試 3

  注意:

  {cond} {s} Rd ,Rm

  {cond} {s} Rd ,Rm Rn LSL #3

  {cond} {s} Rd ,Rm,# LABLE

  TEQ (NE,EQ)

  乘法:

  MUL 32 {cond} {S} Rd, Rm ,Rs

  MLA 32 {cond} {S} Rd, Rm ,Rs

  SMULL/ SMLAL

  UMULL/UMLAL

【嵌入式系統(tǒng)復習試題及答案】相關文章:

2016年嵌入式系統(tǒng)認證復習題及答案06-18

2016最新嵌入式筆試題及答案06-21

小升初英語復習試題及答案08-17

中考物理復習試題及答案06-25

小升初語文復習試題及答案08-15

吉安中考語文復習試題及答案06-25

在職藝術碩士復習試題及答案06-02

2017年托福聽力復習試題及答案08-12

cad基礎考試復習試題附答案12-30