嵌入式試題庫_第1頁
嵌入式試題庫_第2頁
嵌入式試題庫_第3頁
嵌入式試題庫_第4頁
嵌入式試題庫_第5頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

嵌入式試題(大全)

1、ARM匯編語言與C++的混合編程通常用以下哪幾種方式在C/C++代碼中嵌入?yún)R編指令、在匯編程序和C/C++的

程序之間進(jìn)行變量的互訪、匯編程序、C/C++程序間的相互調(diào)用。

2、嵌入式處理器可以分為微控制器微處理器數(shù)字信號處理器一片上系統(tǒng)。P8

3、目前世界上的四大嵌入式處理器內(nèi)核分別是MIPS內(nèi)核、ARM內(nèi)核、PowerPC內(nèi)核、68/OOLDFIRE核。

P30

4、ARM微處理器中支持字節(jié)(8位),半字(16位),字(32位),3種數(shù)據(jù)類型其中字需要4字節(jié)對齊,半字需

要2字節(jié)對齊。P43

5、S3C2410X-/S3C2440X是三星公司出品的基于ARM920T核的嵌入式微處理器,它與基于ARM的S3C44BOX

的最大區(qū)別在于,S3c24/OX/S3c244OX內(nèi)部帶有全性能的內(nèi)存管理單元(MMU)。P12

6、ARM7TDMI采用馮*諾依曼結(jié)構(gòu),因此對存儲器的控制沒有專門的存儲管理單兀,存儲器采用間的而

直接的地址方式來表示實(shí)際的物理地址,沒有進(jìn)行段式頁的轉(zhuǎn)換。P50

7、LIMUX內(nèi)核包含進(jìn)程調(diào)度、內(nèi)存管理、文件系統(tǒng)、進(jìn)程間通信,網(wǎng)絡(luò)及資源管理部分。P256

8、嵌入式系統(tǒng)地3個基本要素是嵌入性,專用性,計算機(jī)系統(tǒng),P1嵌入式系統(tǒng)發(fā)展的4個階段分別是

以單片機(jī)為核心的低級嵌入式系統(tǒng),以嵌入式微處理器為基礎(chǔ)的初級嵌入式系統(tǒng),以嵌入式操作系統(tǒng)為標(biāo)志的

史里登入式祭統(tǒng),以Inlcnicl為何.志的紜能入式系統(tǒng),P3

9、嵌入式系統(tǒng)的硬件有電源模塊,嵌入式處理器,存儲器模塊,可編程邏輯器件,嵌入式系統(tǒng)周邊元器件,各

種I/O接口,總線以及外部設(shè)備和插件等組成。嵌入式系統(tǒng)的軟件包括中間層程序、嵌入式操作系統(tǒng)、應(yīng)用軟

件_以及實(shí)際后用程序?qū)?。P6-7

10、目前世界上的四大嵌入式處理器內(nèi)核分別是M是S內(nèi)核,ARM內(nèi)核,PowerPC內(nèi)核,68K/COLDFIRE

內(nèi)核。P30

11、ARM處理器工作在不同模式,使用的寄存器有所不同,其共同點(diǎn)是無論何種模式,R15均作為PC使用,CPSR

一為當(dāng)前程式狀態(tài)寄存器;R7~R0為公用的通用寄存器。不同之處在于高端7個通用寄存器和轉(zhuǎn)臺寄存器在不同模

式下不同。P35

12、S3C44BOX內(nèi)部除ARM7TDMJ內(nèi)核處,還包括許多可編程外圍設(shè)備組建,這些外圍設(shè)備組件的可編程功能均

是通過各個可編程外圍設(shè)備組件中的相關(guān)控制寄存器來完成設(shè)置的。

13、嵌入式系統(tǒng)地調(diào)試工具有:指令集模擬器,駐留監(jiān)控軟件,JTAG仿真器,在線仿真器。P23

14、嵌入式系統(tǒng)簡單的說就是嵌入到目標(biāo)體系中的專用計算機(jī)系統(tǒng)。P1

15、ARM微處理器的工作狀態(tài)有兩種:AI^M狀態(tài)和TflUMB狀態(tài),其中ARM是指ARM工作于32位指令狀態(tài),

THUMB是指ARM執(zhí)行16位的THUMB指令狀態(tài),二者的狀態(tài)轉(zhuǎn)換是通過BX指令完成的。P33

簡答題

1、基于ARM體系結(jié)構(gòu)的嵌入式處理器具有哪些技術(shù)特征?并對每種技術(shù)特征予以簡單

的說明。P33

答:(1)單周操作:ARM指令系統(tǒng)在一個機(jī)器周期內(nèi)完成簡單和基本的操作。

(2)采用加載/存儲指令結(jié)構(gòu):存儲器訪問指令的執(zhí)行時間長,因此只采用了加載和存儲兩種指令對存儲器進(jìn)行讀和寫

的操作,面向運(yùn)算部件的操作都經(jīng)過加載指令和存儲指令,從存儲器取出后預(yù)先存放到寄存器對內(nèi),以加快執(zhí)行速度。

(3)固定的32位長度指令:指令格式固定為32位長度,使指令譯碼結(jié)構(gòu)簡單,效率提高。

(4)3地址指令格式:采用三地址指令格式、較多寄存器和對稱的指令格式便于生成優(yōu)化代碼,降低編譯開銷

(5)指令流水線技術(shù):ARM采用多級流水線技術(shù),以提高指令執(zhí)行的效率。

2、請你從技術(shù)的角度和系統(tǒng)地角度給出嵌入式系統(tǒng)的定義。P1

以應(yīng)用為中心,計算機(jī)技術(shù)為基礎(chǔ),軟硬件可剪裁,適應(yīng)應(yīng)用系統(tǒng)對功能,成本,體積,可靠性,功耗嚴(yán)格要求

的計算機(jī)系統(tǒng)。

3、uCLinux內(nèi)核移植包括哪些主要任務(wù)?并對每個任務(wù)進(jìn)行簡單的說明。P286

(I)配置內(nèi)核。uCLinux常用的配置選項包括系統(tǒng)及其存儲器配置、網(wǎng)絡(luò)支持、USB支持、顯示器支持以及觸摸支持等。

(2)編譯內(nèi)核。編譯內(nèi)核主要包括使用MakeDep建立依賴關(guān)系、使用Make編譯內(nèi)核、使用Makezlmage編譯壓縮核

心(zlmage)o

(3)下多:運(yùn)行、調(diào)試內(nèi)核。可以通過調(diào)試器下載內(nèi)核并運(yùn)行,也可以通過BoolLoader將內(nèi)核燒寫到FLASH中,然

后運(yùn)行uCLinux..

4、請你說明系統(tǒng)從異常處理程序中返回需要執(zhí)行哪些操作?P40

(1)恢復(fù)原來被保護(hù)的用戶寄存器

(2)將SPSR-mode寄存器值復(fù)制到CPSR中,使得CPSR從相應(yīng)的SPSR中恢復(fù),以恢復(fù)被中斷的程序工作狀

態(tài)。

(3)根據(jù)異常類型將PC值恢復(fù)成斷點(diǎn)地址,以執(zhí)行用戶原來運(yùn)行著的程序。

(4)清除CPSR中的中斷禁止標(biāo)志I和F,開放外部中斷和快速中斷。

精選文庫

5、請你詳細(xì)說明ARM處理器控制寄存器的含義和作用。P150

(1)控制寄存器是一個特定的存儲單元,而控制寄存器各位的定義由微處理器/微處理器的內(nèi)部硬件結(jié)構(gòu)決定,

所以控制寄存器各位的定義是控制編程的依據(jù)。

(2)控制寄存器是人機(jī)信息交互的橋梁,而人或機(jī)器對某個功能組件的控制指令首先必須通過編程給控制寄存

器賦值,再通過CPU對控制寄存器的讀操作將有關(guān)操作控制信號或操作數(shù)據(jù)傳遞給該功能組件。當(dāng)這些

操作控制信號或操作數(shù)據(jù)有效時,該功能組件就會執(zhí)行特定的操作。

6、在嵌入式系統(tǒng)設(shè)計開發(fā)過程中,我們通常要做出哪些總體選擇?P18

1、嵌入式處理器及操作系統(tǒng)的選擇

2、開發(fā)工具的選擇

3、對目標(biāo)系統(tǒng)的觀察與控制

7、選擇ARM處理器芯片應(yīng)考慮哪些因素?并作出簡要的說明。P144

1、ARM內(nèi)核。任何一款基于ARM技術(shù)的微處理器都是以某個ARM內(nèi)核為基礎(chǔ)設(shè)計的,即ARM內(nèi)核

的基本功能決定了嵌入式系統(tǒng)最終實(shí)現(xiàn)目標(biāo)的性能。因此,ARM處理器芯片的選擇的首要任務(wù)是考慮選

擇基于什么架構(gòu)的ARM內(nèi)核。

2、系統(tǒng)時鐘頻率。系統(tǒng)時鐘頻率決定了ARM芯片的處理速度,時鐘頻率越高,處理速度越快。

3、芯片內(nèi)部存儲器的容量。大多數(shù)ARM微處理器芯片的內(nèi)部存儲器的容量都不太大,需要用戶在設(shè)計系

統(tǒng)時外擴(kuò)存儲器,但也有部分芯片具有相對較大的片內(nèi)存儲空間。

4、片內(nèi)外圍電路。設(shè)計者應(yīng)分析系統(tǒng)的需求,盡可能采用片內(nèi)外圍電路完成所需的功能,這樣既可簡化

系統(tǒng)的設(shè)計,也可提高系統(tǒng)的可靠性。

5、其他因素。隙以上需要考慮的內(nèi)部因素外,在某些特殊需要的場合,應(yīng)選擇符合這些特殊要求的ARM微

處理器芯片o

8、請你說明ARM9TDMI的指令流水線結(jié)構(gòu)。P46

ARM9TDMI使用了程序存儲器和數(shù)據(jù)存儲器分開獨(dú)立編址的哈佛結(jié)構(gòu),并采用5級指令流水線,即取指、譯碼、

執(zhí)指、緩沖及寫回。

9、嵌入式系統(tǒng)地設(shè)計包括哪些步驟?并對每一步的工作予以簡單的說明。P19

(1)需求分析:確定設(shè)計任務(wù)和設(shè)計目標(biāo),并提煉出設(shè)計規(guī)格說明書作為正式設(shè)計指導(dǎo)和驗收的標(biāo)準(zhǔn)。

(2)體系結(jié)構(gòu)設(shè)計:描述系統(tǒng)如何實(shí)現(xiàn)所述的功能和非功能描述

(3)硬件、軟件、執(zhí)行機(jī)構(gòu)設(shè)計:基于嵌入式體系結(jié)構(gòu),對系統(tǒng)的硬件、軟件和執(zhí)行機(jī)構(gòu)進(jìn)詳細(xì)設(shè)計

(4)系統(tǒng)集成:把系統(tǒng)的硬、軟和執(zhí)行裝置集成在一起,進(jìn)行調(diào)試,發(fā)現(xiàn)并改正單元設(shè)計的功能要求。

(5)就是對設(shè)計好的系統(tǒng)進(jìn)行全成測試,看其是否滿足規(guī)格說明書中給定的功能要求。

10、嵌入式應(yīng)用軟件的開發(fā)具有哪些特點(diǎn)?并對這些特點(diǎn)進(jìn)行簡要說明。P24

1.需要交叉編譯工具。由于嵌入式系統(tǒng)目標(biāo)機(jī)上的資源較為有限,直接在目標(biāo)機(jī)上開發(fā)和調(diào)試應(yīng)用軟件幾乎

不可能,因此,目標(biāo)機(jī)的嵌入式應(yīng)用軟件開發(fā)需要放在高性能計算機(jī)上的集成開發(fā)環(huán)境中進(jìn)行。

2.通過仿真手段進(jìn)行調(diào)試。目標(biāo)機(jī)的執(zhí)行程序經(jīng)過交叉編譯后,還要經(jīng)過調(diào)試排錯,確認(rèn)能夠正常運(yùn)行后才

能使用。

3.目標(biāo)機(jī).最終的運(yùn)行壞境。對嵌入式應(yīng)用程序來說,其開發(fā)、調(diào)試往往是在PC上完成的,但它最終的運(yùn)

行壞境是目標(biāo)機(jī)。

4.執(zhí)行應(yīng)用程序的指令通常需要寫入操作系統(tǒng)。在PC上,應(yīng)用程序的執(zhí)行是在操作系統(tǒng)的圖形用戶界面或

命令狀態(tài)下進(jìn)行的,操作系統(tǒng)與該應(yīng)用程序無直接聯(lián)系。

5.系統(tǒng)資源有限。在PC環(huán)境進(jìn)行應(yīng)用程序開發(fā),程序員擁有大量的硬件和軟件編程資源,對諸如內(nèi)存、硬

盤空間、可以打開的文件數(shù)量等問題可以不必在乎。

6.控制特定部件。在嵌入式應(yīng)用軟件開發(fā)過程中,程序員往往需要針對特定的部件做更加細(xì)致的編寫作業(yè)。

11、畫出ARM處理器中控制寄存器的信息流程及作用示意圖,并說明控制寄存器的含義及作用。

圖在P150最上面圖5.10含義在下面一點(diǎn)的(1)(2),和第5題一樣的。

本人表示這簡答題很坑爹?。?/p>

12、根據(jù)圖1給出的WDT組件的構(gòu)成框圖:(1)說明WDT組件的特殊功能寄存器WTCON,WTDAT及WTCNT的

作用(2)說明WDT組件的工作過程。P149

精選文庫

-A>

Rese7

A

WTCON2

WTCONO

圖l.WDT組建構(gòu)成圖

答:(I)WTCON用于控制預(yù)分頻系數(shù)、確定是否允許WDT、是否允許輸出復(fù)位信號等,其地址為0x01D300()0.

WTDAT用于存放計數(shù)值,其地址為0x01D30004.

WTCNT用于存放看門狗定時器在正常操作下的當(dāng)前計數(shù)值,其地址為OXO1D3OOO8.

(2)工作過程:先根據(jù)設(shè)定的WTCON中的【W(wǎng)TCON5、WTCON8]的值選擇計數(shù)所需的時鐘,再根據(jù)設(shè)定的

WDTAT的值通過16位內(nèi)部遞減計數(shù)器來進(jìn)行減法計數(shù),最后根據(jù)WTCNT的計數(shù)結(jié)果及輸出控制信號WTCON2.

WTCONO輸出有關(guān)結(jié)果,當(dāng)沒有加以干預(yù)而計數(shù)到。時,產(chǎn)生中斷輸出并產(chǎn)生復(fù)位信號(RESET)來使系統(tǒng)復(fù)位。

13、嵌入式處理器主要有哪五類?P8

1.嵌入式微處理器

2.嵌入式微控制器

3.嵌入式數(shù)字信號處理器

4.嵌入式片上系統(tǒng)

5.嵌入式可編程片上系統(tǒng)

14、我國比較常用的嵌入式操作系統(tǒng)有哪些?P16-18

1.Linux2.UC/OS-113.WindowsCE4.VxWorks5.Psos6.PalmOS7.QNX8.蘋果iOS9.Android

程序設(shè)計題

1、欲將數(shù)據(jù)從源數(shù)據(jù)區(qū)SNUM復(fù)制到目標(biāo)數(shù)據(jù)區(qū)DNUM,數(shù)據(jù)的個數(shù)為NUM,復(fù)制時

以8個字為單位進(jìn)行,對于最后所剩不足8個字的數(shù)據(jù),以字為單位進(jìn)行復(fù)制,用ARM

匯編語言設(shè)計完成該數(shù)據(jù)塊復(fù)制的程序段。

LDRrO=snumBEQcopy_eight

LDRrl=dnumCMPr2#0

MOVr2#numBEQend

Copy_eight:Copy_one:

SUBr2r2#8SUBr2r2#l

LDMIAr0!{r4

?rl1}LDRIAr()!r4

STMIArl!{r4

?rll}STMIArl!r4

CMPr2#8CMPr2M)

BHIcopy_@eightBNEcopy_one

End

精選文庫

2、欲設(shè)計一個實(shí)現(xiàn)1+2+3+??3100功能的程序:(1)寫出實(shí)現(xiàn)100個數(shù)累加功能的ARM

匯編語言程序(2)說明用ARM匯編語言設(shè)計實(shí)現(xiàn)100個數(shù)累加功能程序的設(shè)計思想。

STACKSSEGMENTSTACK;堆棧段

DW128DUP(?);注意這里只有128個字節(jié)

STACKSENDS

DATASSEGMENT;數(shù)據(jù)段

;請在這里定義您的數(shù)據(jù)FLAGDB0

REDW0

DATASENDS

CODESSEGMENT;代碼段

ASSUMECS:CODES,DS:DATAS

START:MOVAX,DATAS;初始化

MOVDS,AX

;請在這里添加您的代碼

PARTI:MOVAH,01H;鍵盤輸入0~100任意數(shù)

1NT21H

CMPAL,0DH

JZPART2

SUBAL/O,

PUSHAX

MOVAX,RE

SHLAX,1

PUSHAX

MOVCL,2

SHLAX,CL

POPBX

ADDAX,BX

POPBX

MOVBH,0

ADDAX,BX

MOVRE,AX

JMPPARTI

PART2:MOVAX,RE

PART3:MOVCX,AX;求和

DECAX

ADDRE,AX

LOOPPART3

MOVAX,RE

MOVCX,0;十進(jìn)制顯示

MOVBXJO

PART4:MOVDX,0

DIVBX

ADDDL,30H

PUSHDX

INCex

CMPAX,0

JNZPART4

PART5:POPDX

MOVAH,2

INT2IH

LOOPPART5

MOVAX,4C00H;退出程序

INT2IH

CODESENDS

ENDSTART

精選文庫

3、做過的四個實(shí)驗程序。

1.實(shí)驗A參考程序

XEQU45/*定義變量X,并賦值為45*/

YEQU64/*定義變量y,并賦值為64*/

STACK_TOPEQU0x1000/*定義棧頂0x1000*/

AREAInit,CODE,READONLY

CODE32

ENTRY

START/*程序代碼開始標(biāo)志*/

MOVSP,#STACK_TOP

MOVR0,#X/*x的值放入R0*/

STRR0,[SP]/*R0的值保存到堆棧*/

MOVR0,#Y/*y的值放入R0*/

/*取堆標(biāo)中的數(shù)到

LDRR1,[SP]R1*/

ADDR0,R0,RI

STRR0,[SP]

STOPBSTOP/*程序結(jié)束,進(jìn)入死循環(huán)*/

END

2.實(shí)驗B參考程序

XEQU45/*定義變量X,并賦值為45/

YEQU64/*定義變量y,并賦值為64*/

ZEQU87/*定義變量z,并賦值為87*/

STACK.TOPEQU0x1000/*定義棧頂0x1000*/

AREAInit,CODE,READONLY

CODE32

ENTRY

START

MOVR0,#X/*x的值放入R0*/

MOVR0,R0,LSL#8/*R0的值乘以2的8次方*/

MOVR1,#Y/*y的值放入R1*/

ADDR2,RO,R1,LSR#1/*R1的值除以2加上r0的值放入R2*/

MOVSP,#0xl000

STRR2,[SP]/*R2的值0x2D20放在0x1000的地址中*/

MOVR0,#Z/*z的值放入R0*/

ANDR0,R0,#0xff/*取R0的低八位*/

MOVR1,#Y/*y的值放入R1*/

ADDR2,RO,R1,LSR#1/*R1的值除以2加上r0的值放入R2*/

LDRR0,[SP]/*SP的值(0X2D20)放入R1*/

MOVRI,#0x01/?R1賦值0x01*/

ORRR0,R0,RI/*該指令設(shè)置R0的0位,其余位保持不變*/

MOVR1,R2/*R2的值放入R1*/

ADDR2,RO,R1,LSR#1/*R1的值除以2加上r0的值放入R2*/

STOPBSTOP/*程序結(jié)束,進(jìn)入死循環(huán)*/

END

1實(shí)驗A參考程序

NUMEQU20

AREAInit,CODE,READONLY

CODE32

ENTRY

START

LDRR0,=SRC

LDRR1,=DST

MOVR2,#NUM

MOVSP,#0x400

BLKCOPY

MOVSR3,R2,LSR#3

精選文庫

BEQCOPYVVORDS

STMFDSPIJR4-R11}

OCTCOPY

LDMIARO!,{R4-R11}

STMIAR1!,{R4-R11)

SUBSR3,R3,#1

BNEOCTCOPY

LDMFDSP!,{R4-R11}

COPYVVORDS

ANDSR2,R2,#7

BEQSTOP

VVORDCOPY

LDRR3,[R0],#4

STRR3,[RI],#4

SUBSR2,R2,#1

BNEWORDCOPY

STOPBSTOP

SRC

DCB1,2,3,4,5,6,7,8,1,2,3,4,5,6,7,8,10,11,12,13

DST

DCB0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0

END

1.randtest.c參考源代碼

#include<stdio.h>

externunsignedintrando

溫馨提示

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

評論

0/150

提交評論