嵌入式習(xí)題答案匯總_第1頁
嵌入式習(xí)題答案匯總_第2頁
嵌入式習(xí)題答案匯總_第3頁
嵌入式習(xí)題答案匯總_第4頁
嵌入式習(xí)題答案匯總_第5頁
已閱讀5頁,還剩32頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第一章習(xí)題答案1.

什么是嵌入式系統(tǒng)?請列舉幾種常見的嵌入式系統(tǒng)。答:根據(jù)國際電氣和電子工程師協(xié)會(IEEE)的定義,嵌入式系統(tǒng)是控制、監(jiān)視或者輔助設(shè)備、機器和生產(chǎn)線運行的裝置(Devicesusedtocontrol,monitor,orassisttheoperationofequipment,machineryorplants)。這重要是從產(chǎn)品的應(yīng)用角度加以定義的,由此可以看出嵌入式系統(tǒng)是軟件和硬件的綜合體,可以涵蓋機械等附屬裝置。目前被我國科學(xué)家普遍認(rèn)同的定義是:嵌入式系統(tǒng)是以應(yīng)用為中心,以計算機技術(shù)為基礎(chǔ),軟硬件可淘汰,對功能、可靠性、成本、體積、功耗規(guī)定嚴(yán)格的專用計算機系統(tǒng)。常見的嵌入式系統(tǒng):手機,DVD,路由器,核磁共振儀,全自動洗衣機。2.

嵌入式系統(tǒng)與通用計算機有哪些區(qū)別?答:(1)以應(yīng)用為中心;(2)以計算機技術(shù)為基礎(chǔ)(3)軟件和硬件可淘汰(4)對系統(tǒng)性能規(guī)定嚴(yán)格(5)軟件的固件化(6)需要專用的開發(fā)工具3.

嵌入式系統(tǒng)的發(fā)展分為哪幾種階段?答:第一階段:無操作系統(tǒng)的嵌入算法階段。第二階段:以嵌入式CPU為基礎(chǔ),以簡樸操作系統(tǒng)為關(guān)鍵的嵌入式系統(tǒng)。第三階段:以嵌入式操作系統(tǒng)為標(biāo)志的嵌入式系統(tǒng)。第四階段:以基于Internet為標(biāo)志的嵌入式系統(tǒng)。4.

請列舉嵌入式系統(tǒng)的重要應(yīng)用領(lǐng)域。答:(1)工業(yè)控制領(lǐng)域(2)交通運送領(lǐng)域(3)消費電子產(chǎn)品(4)家電領(lǐng)域(5)通信領(lǐng)域(6)商業(yè)和金融領(lǐng)域(7)環(huán)境監(jiān)測領(lǐng)域(8)醫(yī)療領(lǐng)域(9)建筑領(lǐng)域(10)軍事國防領(lǐng)域(11)航天航空領(lǐng)域第二章習(xí)題答案1.

簡述簡樸嵌入式系統(tǒng)與復(fù)雜嵌入式系統(tǒng)的重要區(qū)別。答:簡樸嵌入式系統(tǒng)很早就已經(jīng)存在,此類嵌入式系統(tǒng)由于軟硬件復(fù)雜度都很低,一般不使用操作系統(tǒng),例如常用的單片機系統(tǒng)。對于復(fù)雜的嵌入式系統(tǒng),它的開發(fā)模式發(fā)生了極大的變化。一種復(fù)雜的嵌入式系統(tǒng)不僅硬件系統(tǒng)的開發(fā)比單片機復(fù)雜了許多,更重要的是在該系統(tǒng)中采用了嵌入式操作系統(tǒng),其應(yīng)用軟件的開發(fā)轉(zhuǎn)變?yōu)槭褂貌僮飨到y(tǒng)原則接口的計算機工程領(lǐng)域的應(yīng)用軟件開發(fā)。復(fù)雜嵌入式系統(tǒng)具有更強大的功能,不過簡樸的嵌入式并不會伴隨復(fù)雜的嵌入式系統(tǒng)出現(xiàn)而消滅。2.

簡述嵌入式系統(tǒng)的體系構(gòu)造。答:嵌入式系統(tǒng)從構(gòu)成上看,可分為嵌入式硬件系統(tǒng)與嵌入式軟件系統(tǒng)兩大部分。嵌入式硬件層由嵌入式微處理器、嵌入式存儲器系統(tǒng)、通用設(shè)備和I/O接口等構(gòu)成。嵌入式系統(tǒng)的軟件層分為嵌入式操作系統(tǒng)和嵌入式應(yīng)用軟件兩大部分。3.

嵌入式處理器分為哪幾類?答:嵌入式處理器可分為如下四種:嵌入式微控制器(MicroControllerUnit,MCU),嵌入式微處理器(EmbeddedMicroprocessorUnit,EMPU),嵌入式DSP處理器(EmbeddedDigitalSignalProcessor,EDSP)和嵌入式片上系統(tǒng)(SystemonChip,SoC)。4.

ARM中常用的嵌入式存儲器均有哪些?答:ARM系統(tǒng)的存儲器可以分為片內(nèi)存儲器和片外存儲器。片內(nèi)一般以RAM或SRAM為主。片外一般以Flash和SDRAM為主。嵌入式系統(tǒng)中常用的幾種內(nèi)存有Flash、SRAM、SDRAM、DDRSDRAM等。5.

嵌入式系統(tǒng)中常用的外設(shè)接口均有哪些?答:串行接口UART,USB接口,IrDA紅外線接口,SPI(串行外圍設(shè)備接口),I2C總線接口,CAN總線接口,Ethernet6.

嵌入式系統(tǒng)中常用的輸入輸出設(shè)備均有哪些?答:嵌入式系統(tǒng)中輸入形式一般包括觸摸屏、語音識別、按鍵、鍵盤和虛擬鍵盤。輸出設(shè)備重要有LCD顯示和語音輸出。7.

簡述嵌入式操作系統(tǒng)的特點,請列舉幾種常見的嵌入式操作系統(tǒng)。答:(1)可裝卸性(2)強實時性(3)統(tǒng)一的接口(4)強穩(wěn)定性,弱交互性(5)固化代碼。常見的嵌入式操作系統(tǒng)有indowsCE、Vxrks、μC/OS、嵌入式linux。8.

簡述嵌入式系統(tǒng)開發(fā)的特點。答:需要交叉開發(fā)工具和環(huán)境,軟硬件協(xié)同設(shè)計,嵌入式系統(tǒng)開發(fā)人員以應(yīng)用專家為主,軟件規(guī)定固態(tài)化存儲,軟件代碼高質(zhì)量、高可靠性,系統(tǒng)軟件的高實時性9.

簡述嵌入式系統(tǒng)的開發(fā)周期。答:10.

簡述嵌入式系統(tǒng)的開發(fā)與一般PC機上的軟件開發(fā)有什么區(qū)別。答:系統(tǒng)軟件開發(fā)模式可以分為兩類:當(dāng)?shù)亻_發(fā)模式和交叉開發(fā)模式。嵌入式系統(tǒng)的開發(fā)與一般PC機上的軟件開發(fā)有很大的區(qū)別,原有的PC機的軟件開發(fā)過程從編寫程序、編譯和運行等過程全在同一種PC機平臺上完畢,屬于當(dāng)?shù)亻_發(fā)(native);嵌入式開發(fā)的程序編寫和編譯與本來同樣還在PC機(host)上完畢,但編譯產(chǎn)生的成果要在嵌入式目的平臺(target)上運行。一般將這種在主機上開發(fā)編譯,在目的平臺上調(diào)試運行的開發(fā)模式稱為交叉開發(fā)。同樣運行在主機上的編譯器(例如GCC)編譯程序產(chǎn)生目的機上運行的可執(zhí)行程序的編譯過程稱為交叉編譯。嵌入式系統(tǒng)采用這種交叉開發(fā)、交叉編譯的開發(fā)環(huán)境重要是由于嵌入式系統(tǒng)是種專用的計算機系統(tǒng),采用量體裁衣量身定制的措施制造。11.

簡述宿主機/目的機的開發(fā)模式。答:交叉開發(fā)環(huán)境是指編譯、鏈接和調(diào)試嵌入式應(yīng)用軟件的環(huán)境,它與運行嵌入式應(yīng)用軟件的環(huán)境有所不一樣,一般采用宿主機/目的機模式。宿主機(host)一般采用一臺通用計算機(如PC機或者工作站),它通過串口(Serial)或者以太網(wǎng)(Ethernet)接口與目的機通信。宿主機的軟硬件資源比較豐富,不僅包括功能強大的操作系統(tǒng)(如Windows和Linux),并且尚有多種各樣優(yōu)秀的開發(fā)工具(如WindRiver的Tornado、Microsoft的EmbeddedVisualC++等),可以大大提高嵌入式應(yīng)用軟件的開發(fā)速度和效率。目的機(target)一般在嵌入式應(yīng)用軟件的開發(fā)和調(diào)試期間使用,用來區(qū)別與嵌入式系統(tǒng)通信的宿主機。目的機可以是嵌入式應(yīng)用軟件的實際運行環(huán)境,也可以是可以替代實際運行環(huán)境的仿真系統(tǒng),但軟硬件資源一般都比較有限。嵌入式系統(tǒng)的交叉開發(fā)環(huán)境一般包括交叉編譯器、交叉調(diào)試器和系統(tǒng)仿真器(Emulator),其中交叉編譯器用于在宿主機上生成能在目的機上運行的代碼,而交叉調(diào)試器和系統(tǒng)仿真器則用于在宿主機與目的機間完畢嵌入式軟件的調(diào)試。第三章習(xí)題答案1.

簡述ARM處理器的特點。答:ARM處器采用RISC架構(gòu),具有C的一般特點:采用大量的寄存器指令執(zhí)行速度更快尋址方式靈活簡樸執(zhí)行效率高

采用固定長度的指令格式;

大多數(shù)據(jù)操作都在寄存器中進(jìn)行通過Load/tore的系構(gòu)造在內(nèi)存和寄存器之間傳遞數(shù)據(jù)。因此ARM處器的內(nèi)核很小,功耗也就很低。ARM處器還采用了某些尤其的技術(shù),在保證高性能的同步盡量減小芯片體積,減少芯片的功耗。這些技術(shù)包括:

在同一條數(shù)據(jù)處理指令中包括算術(shù)邏輯處理單元處理和移位處理;使用地址自動增長(減少來優(yōu)化程序中循環(huán)處理Loa/toe令可以批量傳播數(shù)據(jù)從而提高傳播數(shù)據(jù)的效率

所有指令都可以根據(jù)前面指令執(zhí)行成果決定與否執(zhí)行以提高指令執(zhí)行的效率

支持Thub(16位)/ARM(32位)雙指令集,能很好地兼容8/6位器件。2.

嵌入式RISC處理器ARM7TDMI中TDMI的基本含義分別是什么?答:T:支持16位壓縮指令集Thumb。D:支持JTAG調(diào)試器,可片上Debug。M:支持64位長乘法指令I(lǐng):嵌入式跟蹤宏單元(ICE)。3.

常用的ARM處理器系列均有哪些?答:ARM處理器目前應(yīng)用比較多的是ARM7系列、ARM9系列、ARM9E系列、ARM10E系列、SecurCore系列、Intel的StrongARM、Xscale等多種系列,最新的系列是ARM11系列。4.

ARM處理器一般支持的的數(shù)據(jù)類型均有哪些?答:8位有符號字節(jié)類型數(shù)據(jù);8位無符號字節(jié)類型數(shù)據(jù);16位有符號半字類型數(shù)據(jù);16位無符號半字類型數(shù)據(jù);32位有符號字類型數(shù)據(jù);32位無符號字類型數(shù)據(jù)。5.

什么是大端模式?什么是小端模式?請舉例闡明它們的區(qū)別。所謂的大端模式,是指數(shù)據(jù)的低位保留在內(nèi)存的高地址中,而數(shù)據(jù)的高位保留在內(nèi)存的低地址中。所謂的小端模式,是指數(shù)據(jù)的低位保留在內(nèi)存的低地址中,而數(shù)據(jù)的高位保留在內(nèi)存的高地址中。若寄存器R1=0x12345678,分別按小端模式和大端模式存儲在0x字單元中,下圖分別為在兩種模式下內(nèi)存的存儲內(nèi)容。6.請簡述ARM7TDMI采用哪幾級流水線構(gòu)造,并闡明在ARM狀態(tài)下各階段指令地址的關(guān)系。答:ARM7架構(gòu)采用了三級流水線,分為取指(fetch),譯碼(decode)和執(zhí)行(execute)。程序計數(shù)器R15(PC)總是指向取指的指令,而不是指向正在執(zhí)行的指令或者正在譯碼的指令。對于ARM狀態(tài)下指令,PC值=目前途序執(zhí)行位置。7.

簡述ARM和THUMB狀態(tài)的區(qū)別,舉例闡明使用什么指令從ARM狀態(tài)轉(zhuǎn)換為Thumb狀態(tài)。答:ARM狀態(tài):處理器執(zhí)行32位的字對齊的ARM指令;Thumb狀態(tài):處理器執(zhí)行16位的半字對齊的Thumb指令。ARM指令集和Thumb指令集均有切換處理器狀態(tài)的指令BX。從ARM狀態(tài)轉(zhuǎn)換到Thumb狀態(tài):ADR R0,TSTART+1BX R08.ARM處理器有哪些工作模式?哪些是特權(quán)模式?哪些是異常模式?答:ARM體系構(gòu)造支持7種工作模式(Processormodes),分別為顧客模式(usr)、快中斷模式(fiq)、中斷模式(irq)、管理模式(svc)、數(shù)據(jù)訪問終止模式(abt)、系統(tǒng)模式(sys)、及未定義指令中斷模式(und)。除去顧客模式外的其他6種處理器工作模式稱為特權(quán)模式(PrivilegedModes)。除去顧客模式和系統(tǒng)模式以外的5種處理器工作模式稱為異常模式(ExceptionModes)9.ARM處理器共有多少個寄存器?在所有工作模式下,哪些寄存器都指向同一種物理寄存器?答:ARM處理器具有37個物理上獨立的寄存器,其中包括31個通用寄存器和6個狀態(tài)寄存器。R0-R12寄存器在所有工作模式下都指向同一種物理寄存器。10.簡述CPSR寄存器控制位的作用。答:(1)中斷嚴(yán)禁位I、F:I=1嚴(yán)禁IRQ中斷;F=1嚴(yán)禁FIQ中斷。(2)T標(biāo)志位:該位反應(yīng)處理器的運行狀態(tài)。當(dāng)該位為1時,程序運行于Thumb狀態(tài),當(dāng)該位為0時,表達(dá)運行于ARM狀態(tài)。(3)運行模式位M[4:0]:M0、M1、M2、M3、M4是模式位。這些位決定了處理器的運行模式。11.ARM的異常中斷包括哪些類型?它們的優(yōu)先級次序是怎樣的?它們的異常向量地址是多少?答:

12.當(dāng)處理異常時,ARM內(nèi)核會做哪些處理?答:ARM處理器對異常中斷的響應(yīng)過程如下:(1)保留處理器目前狀態(tài)、中斷屏蔽位以及各條件標(biāo)志位。這是通過將目前途序狀態(tài)寄存器CPSR的內(nèi)容保留到將要執(zhí)行的異常中斷對應(yīng)的SPSR寄存器中實現(xiàn)的。各異常中斷有自己的物理SPSR寄存器。(2)設(shè)置目前途序狀態(tài)寄存器CPSR中對應(yīng)的位。包括設(shè)置CPSR中的控制模式位,使處理器進(jìn)入對應(yīng)的執(zhí)行模式;設(shè)置CPSR中的中斷嚴(yán)禁位,假如進(jìn)入IRQ模式時,嚴(yán)禁IRQ中斷,假如當(dāng)進(jìn)入FIQ模式時,嚴(yán)禁FIQ中斷。(3)將寄存器LR_mode設(shè)置成返回地址。(4)將程序計數(shù)器值(PC)設(shè)置成該異常中斷的中斷向量地址,從而跳轉(zhuǎn)到對應(yīng)的異常中斷處理程序執(zhí)行。13.

當(dāng)異常結(jié)束時,ARM內(nèi)核會做哪些處理?答:ARM系統(tǒng)處理完中斷后從異常中斷處理程序中返回包括下面的環(huán)節(jié):(1)恢復(fù)被中斷的程序的處理狀態(tài),即將SPSR_mode寄存器內(nèi)容復(fù)制到目前途序狀態(tài)寄存器CPSR中。(2)返回到發(fā)生異常中斷的指令的下一條指令處執(zhí)行。即將LR_mode寄存器的內(nèi)容復(fù)制程序計數(shù)器PC中。由于整個應(yīng)用系統(tǒng)是從復(fù)位異常中斷處理程序執(zhí)行的,因此復(fù)位異常中斷處理程序不需要返回。第四章習(xí)題答案1.

請列舉ARM處理器的指令尋址方式。哪種尋址方式是ARM指令集特有的尋址方式?答:ARM處理器具有9種基本尋址方式,分別為立即尋址、寄存器尋址、寄存器移位尋址、寄存器間接尋址、基址尋址、多寄存器尋址、堆棧尋址、塊拷貝尋址、相對尋址。寄存器移位尋址是ARM指令集特有的尋址方式。2.

在ARM數(shù)據(jù)處理指令中,第二個操作數(shù)均有哪幾種形式?答:第2個操作數(shù)的三種形式如下。立即數(shù),例如:MOVR0,#0x0000F200;寄存器方式,例如:ADDR1,R1,R2;寄存器移位方式,例如:ANDSR1,R1,R2,LSLR3。3.

請分別寫出調(diào)用子程序、子程序返回所使用的指令,并簡述所用指令的工作過程。答:用BL指令調(diào)用子程序。BL指令先將下一條指令的地址拷貝到R14(即LR)連接寄存器中,然后跳轉(zhuǎn)到指定地址運行指令。子程序返回的指令是:MOVPC,LR。4.如圖:存儲器地址4010H,4014H,4018H的內(nèi)容分別為1,2,3。寄存器R1,R2,R3的值都為0。R0的值為0x4010。問:給出指令執(zhí)行后,寄存器R0,R1,R2,R3的成果。(IA:每次傳送后地址加4)LDMIAR0!,{R1-R3}答:5.閱讀下面程序,并回答問題。AREA Example1,CODE,READONLY ;申明代碼段Example1 ENTRY ;標(biāo)識程序入口 CODE32 START MOV R0,#20 -----------------------(1) MOV R1,#10 LDR R5,=0x12345678 -----------------------(2) ANDS R2,R5,#0x20 -----------------------(3) CMP R2,#0 -----------------------(4) ADDEQ R0,R0,#1 -----------------------(5) ADDNE R1,R1,#1 -----------------------(6)HALT B HALT END ;文獻(xiàn)結(jié)束a)

請回答匯編語句(1)(2)(3)(4)(5)(6)的含義。b)

此程序?qū)崿F(xiàn)什么功能?答:a)

語句(1)把常數(shù)20送到R0;語句(2)使用LDR偽指令把常數(shù)0x12345678送到R5;語句(3)將R5中的數(shù)據(jù)與0x20相與,影響標(biāo)志位;語句(4)將R2的數(shù)據(jù)與0比較;語句(5)假如相等R0加1;語句(6)不相等R1加1(6分)測試數(shù)據(jù)0x12345678的bit[4](第五位)。假如是0,R0中的數(shù)據(jù)20加1。假如是1,R1中的數(shù)據(jù)10加1。(2分)6.

用匯編語言編寫程序,求1到50的累加和。答: AREA Example1,CODE,READONLY ENTRY CODE32 START LDR R5,=0x40003005 MOV R0,#0 MOV R1,#1LOOP BL SUM B LOOP SUM ADDS R0,R0,R1 ADD R1,R1,#1 CMP R1,#50 BLHI HALT MOV PC,LR HALTSTR R0,[R5] B . END 7.

請闡明匯編語句STRBR2,[R0,#4]和STRR2,[R0,#4]!的區(qū)別。答:mem8[R0+4]=R2;R0不變mem32[R0+4]=R2;R0=R0+4mem32[]表達(dá)存儲器的存儲單元中寄存的32位字?jǐn)?shù)據(jù),mem16[]表達(dá)存儲器的存儲單元中寄存的16位半字?jǐn)?shù)據(jù),mem8[]表達(dá)存儲器的存儲單元中寄存的8位字節(jié)數(shù)據(jù)8.請闡明MOV指令和LDR指令在傳送立即數(shù)時,使用措施的區(qū)別。答:MOV傳送8位位圖數(shù)據(jù),例如:MOV R1,#0xFF000000;LDR偽指令傳送32位立即數(shù),例如:LDRR0,=0x12345678。9.請列舉ARM處理器的四種堆棧類型,并闡明它們的特點和區(qū)別。答:(1)滿遞堆棧A:堆棧指針指向最終壓入的數(shù)據(jù),且由低地址向高地址生長。(2)滿遞堆棧FD:堆棧指針指向最終壓入的數(shù)據(jù),且由高地址向低地址生長。(3)空遞增堆棧EA:堆棧指針指向下一種將要放入數(shù)據(jù)的空位置,且由低地址向高地址生長。(4)空遞減堆棧ED:堆棧指針指向下一種將要放入數(shù)據(jù)的空位置,且由高地址向低地址生長。10.可以對狀態(tài)寄存器操作的指令均有哪些,怎樣使用。答:ARM指令集提供了2條指令,可直接控制程序狀態(tài)寄存器(psr,ProgramStateRegister)。MRS指令用于將CPSR或SPSR的值傳送到通用寄存器中。MSR指令與之相反,用于將通寄存器的內(nèi)容或者立即數(shù)傳送到到CPSR或SPSR中。例如: MRSR1,CPSRBICRl,Rl,#0x80;0b0l000000MSRCPSR_c,Rl練習(xí)題閱讀下面程序,并回答問題。AREA Example1,CODE,READONLY ;申明代碼段Example1 ENTRY CODE32

START LDR R0,=0x40001000 -----------------------(1)MOV R1,#0x -----------------------(2) STR R1,[R0] -----------------------(3) SUB

R2,R1,#2 -----------------------(4) STRB R2,[R0,#4] -----------------------(5) B. END ;文獻(xiàn)結(jié)束a)

程序中分號的作用是什么?b)

請回答匯編語句(1)(2)(3)(4)(5)的含義。c)

假如將匯編語句(5)STRBR2,[R0,#4]改為STRBR2,[R0,#4]!,有什么不一樣?答案

分號背面的內(nèi)容是對程序的注釋。語句(1)使用LDR偽指令將地址數(shù)據(jù)0x40001000送入R0;語句(2)將常數(shù)0x送入R1;語句(3)將數(shù)據(jù)0x存儲到地址為0x40001000的存儲空間中;語句(4)將R1中的數(shù)據(jù)減2,成果0x1FFE送到R2;語句(5)將數(shù)據(jù)0x1FFE的低位字節(jié)數(shù)據(jù)0xFE存儲到地址為0x40001004的存儲空間中。

STRBR2,[R0,#4]執(zhí)行后,R0的值為0x40001000;STRBR2,[R0,#4]執(zhí)行后,R0的值為0x40001004。

第五章習(xí)題答案1.

簡述Xscale內(nèi)核的特點。答:ARM的體系構(gòu)造是基于RISC的,XSCALE是ARM處理器的一種,因此XSCLAE具有RISC的基本特性。XScale的超流水線(SuperPipeline)技術(shù),主頻高達(dá)600MHz以上。高效的存儲器體系構(gòu)造,重要包括32KBD-Cache、32KBI-Cache、2KBMiniDcache、FillBuffers、endingBuffers以及4.8GB/s帶寬的存儲總線,使處理器可以高效訪問存儲器。實現(xiàn)了基于記錄分析的分支預(yù)測功能部件。XScale對ARM的乘加邏輯進(jìn)行了增強,增長了8條DSP指令。2.

簡述PAX270處理器的構(gòu)造和重要的通信模塊。答:CPU520M運行能力;XSCALE構(gòu)架,并帶有無線MMX指令集;7級流水線;32KB的指令cache,32KB的數(shù)據(jù)cache,2KB微型數(shù)據(jù)cache;外部擴充存儲器控制器;256KB內(nèi)部SRAM;豐富的串行接口:AC97AUDIOPORT;IISPORT;USBHOST,USBDEVICE;USBOTG;3個UART,紅外通訊接口;原則IEEEJTAG,支持邊界掃描;實時時鐘和系統(tǒng)時鐘;中斷控制器;LCD控制器;SDRAMcontroller,支持4個BANK,最高可以運行在104M。外部SDRAM可以是2.5V3.0V或3.3V;支持PCMCIAandCompactFlash;SDCard/MMCController(withSPImodesupport);2個IICControllers;3個SSPControllers;CAMERA接口;121個多功能GPIO;4種LOWPOWER模式;4個PWM3.

簡述GPIO模塊的特點。答:PXA270處理器提供121個多功能輸入/輸出引腳,除了可以選擇作為基本輸入/輸出使用外,還可以選擇它的復(fù)用功能,復(fù)用功能包括串口通信接口,定期器輸出,外部中斷等。當(dāng)多功能輸入/輸出引腳作為高速的通用GPIO接口時,可以用來生成和捕捉外設(shè)的輸出和輸入信號。每個GPIO引腳通過編程控制可實現(xiàn)輸出或輸入功能。當(dāng)GPIO引腳作為輸入時,通過設(shè)置上升或下降沿檢測,可作為一種中斷源來使用。4.

GPIO模塊中怎樣選擇引腳的功能,舉例闡明。答:通過寄存器GPDR和GAFR來選擇引腳功能,在使用寄存器GAFR設(shè)置GPIO引腳功能之前,必須先通過寄存器GPDR設(shè)置引腳的方向。例如:設(shè)定將GPIO118為SDA輸出引腳,首先運用寄存器GPDR3設(shè)定GPIO118是輸出引腳,當(dāng)GAFR3的Bit[13:12]=01時,將GPIO118復(fù)用為SDA輸出引腳。代碼如下: GPDR3=GPDR3|(0x01<<22);GAFR3_U=GAFR3_U&(~(0x11<<12))|(AF1<<12);5.

編寫程序代碼,實現(xiàn)設(shè)置GPIO8和GPIO41為輸出功能,GPIO8為低電平輸出,設(shè)置GPIO41為高電平輸出。答:#defineGPDR0 (*((volatileunsignedchar*)(0x40E0000C)))#defineGPDR1 (*((volatileunsignedchar*)(0x40E00010)))#defineGPCR0 (*((volatileunsignedchar*)(0x40E00024)))#defineGPSR1 (*((volatileunsignedchar*)(0x40E0001C))) GPDR0=GPDR0|(0x01<<8); GPCR0=GPCR0|(0x01<<8); GPDR1=GPDR1|(0x01<<9); GPSR1=GPSR1|(0x01<<9);6.

PAX270有幾種UART單元,各有什么用途?答:PAX270有三個UART單元。全功能UART:FFUART支持調(diào)制解調(diào)器控制功能,最高波特率可到達(dá)921600bps。藍(lán)牙UART:BTUART是一種高速的UART,所支持的波特率可到達(dá)921600bps,并且可以連接到藍(lán)牙模塊,但只支持調(diào)制解調(diào)器控制信號中的CTS和RTS信號。原則UART:STUART的最高波特率可到達(dá)921600bps,但不支持調(diào)制解調(diào)器控制信號。7.

串行通訊的傳播模式有哪些?簡述RS232C接口的通信原理。答:串行通訊的傳播模式有三種:單工、半雙工和雙工。RS232是全雙工的數(shù)據(jù)發(fā)送模式,運用RS232通信時,僅合用3根基本的數(shù)據(jù)傳播線有:RXD、TXD、GND。TXD(發(fā)送線):數(shù)據(jù)發(fā)送信號線,數(shù)據(jù)由該腳發(fā)出,送上通信線,沒有數(shù)據(jù)傳播時,邏輯電平為“1”;RXD(接受線):數(shù)據(jù)接受信號線,從通信信號線來的數(shù)據(jù),從該腳引入,在無信息時候,邏輯電平為“1”;GND(地線):參照地信號線,為其他信號線提供電平參照。8.

簡述UART模塊的通信原理。答:每個UART能將從RXD端接受的串行數(shù)據(jù)轉(zhuǎn)變?yōu)椴⑿械臄?shù)據(jù),并且可以未來自處理器的并行數(shù)據(jù)轉(zhuǎn)化串行數(shù)據(jù),然后通過TXD端發(fā)送出去。根據(jù)UART與否在FIFO模式下執(zhí)行,發(fā)送和接受的數(shù)據(jù)會有選擇的鎖存在發(fā)送/接受FIFO。例如,當(dāng)UART在接受數(shù)據(jù)時,來自RXD端的數(shù)據(jù)首先會通過接受移位寄存器,然后組織成一種字節(jié)的數(shù)據(jù),假如運行在FIFO模式,數(shù)據(jù)會首先鎖存在接受FIFO里,同步接受緩沖寄存器RBR會保留FIFO第一字節(jié)單元數(shù)據(jù),F(xiàn)IFO的內(nèi)容可以通過持續(xù)讀取RBR獲得,每讀寫完一次后,F(xiàn)IFO第一字節(jié)單元數(shù)據(jù)會被移出。當(dāng)UART收到來自總線的并行數(shù)據(jù)時,數(shù)據(jù)首先進(jìn)入發(fā)送緩沖寄存器THR,假如工作在FIFO模式,數(shù)據(jù)會再被鎖存在發(fā)送FIFO,最終才被送入發(fā)送移位寄存器,將并行數(shù)據(jù)以逐位方式在TXD端發(fā)送出去,每次向THR寫入的數(shù)據(jù)(有效數(shù)據(jù)最長為8位)會被送入FIFO,只有FIFO的第一字節(jié)單元會被送入發(fā)送移位寄存器里,并且在FIFO里尚未發(fā)送的數(shù)據(jù)會逐漸上移到第一字節(jié)單元。無論是接受還是發(fā)送,當(dāng)運行在non-FIFO方式時,數(shù)據(jù)不會被鎖存在FIFO,而只會被鎖存在寄存器RBR或THR,可以簡樸認(rèn)為在non-FIFO時,RBR和THR分別與接受移位寄存器和發(fā)送移位寄存器直接相連。9.

使用FFUART進(jìn)行異步傳播數(shù)據(jù),以波特率為9600傳送數(shù)據(jù),則寄存器FFDLH和FFDLL應(yīng)怎樣設(shè)置?答:波特率發(fā)生器的時鐘通過PXA270的內(nèi)部系統(tǒng)時鐘來設(shè)定,采用14.746Mz為定入時,并且以以1(211)頻波特率發(fā)生器的時鐘必須是波特率的16倍,波率(BaudRate)以如下式算:

FUARTFUART以波特率為9600傳送數(shù)據(jù),即baudrate=9600,經(jīng)公式計算得Divisor=96,配置FFDLH=0X0,F(xiàn)FDLL=0x60。10.請編寫使用FFUART采用查詢方式發(fā)送/接受數(shù)據(jù)的函數(shù)。答:(1)接受數(shù)據(jù)函數(shù)intSerialInputByte(char*c){ if((FFLSR&0x00000001)==0) { return0; }else{ *c=FFRBR; return1; }}(2)發(fā)送數(shù)據(jù)函數(shù)voidSerialOutputByte(constcharc){ while((FFLSR&0x00000020)==0); FFTHR=((ulong)c&0xFF);

if(c=='\n') SerialOutputByte('\r');}voidSerialOutputString(char*str){inti=0;while((*(str+i))!='\0'){SerialOutputByte(*(str+i));i++;}}11.簡述PXA270中斷控制器的內(nèi)部構(gòu)造。答:PA270中斷控制器,通過置器ICR中斷。通過置器ICR斷源類即以中源發(fā)的斷以IQ中斷式或以IQ斷式處。詢存器ICPR知32中源中斷在IPR存上顯發(fā)出中祈求的斷受ICMR影即ICMR雖然蔽某中要源發(fā)中祈求,IPR仍會對應(yīng)位上示1。詢器ICP以IQ式處的源與否發(fā)中祈求,寄存受到ICP響即IIP=ICPR&IMR&~I(xiàn)C)。詢器ICP以FQ式處的源與否發(fā)中祈求,寄存受到ICP響即IFPICPR&ICR&ICL。第六章習(xí)題答案1.

簡述基于XscalePXA270處理器的EELiod270開發(fā)平臺,開發(fā)嵌入式Linux系統(tǒng)的交叉開發(fā)環(huán)境的搭建過程。答:構(gòu)建基于嵌入式linux的交叉編譯環(huán)境的構(gòu)建過程重要包括如下幾方面的內(nèi)容。第一:安裝一臺裝有指定操作系統(tǒng)的PC機作宿主開發(fā)機,宿主機器在硬件上需具有原則串口、并口和網(wǎng)口,對于嵌入式Linux,宿主機上的操作系統(tǒng)一般規(guī)定為RedhatLinux,在此,我們推薦使用Redhat9.0作為宿主機(開發(fā)主機)的操作系統(tǒng)。第二:檢測目的機與宿主機的連接,通過串口實現(xiàn)通信,查看目的機系統(tǒng)的內(nèi)容。在windos下使用級端在lnux下使用inicoNU編譯器的交叉編輯工具鏈,生成可在ARM系統(tǒng)架構(gòu)上執(zhí)行的二進(jìn)制可執(zhí)行程序。第四:實現(xiàn)目的機與宿主機之間文獻(xiàn)的傳播。設(shè)置統(tǒng)一段的網(wǎng)絡(luò),通過nfs網(wǎng)絡(luò)文獻(xiàn)共享文獻(xiàn),F(xiàn)TP網(wǎng)絡(luò)傳播上傳下載文獻(xiàn)。第五:燒寫嵌入式Linux內(nèi)核、Bootloader、文獻(xiàn)系統(tǒng)映像以及應(yīng)用程序到目的板。軟件的更新一般使用串口或網(wǎng)口,最初的Bootloader燒寫是通過并口進(jìn)行的。2.

宿主PC機上怎樣查看XSBase270目的板系統(tǒng)的內(nèi)容?答:在Linux操作系統(tǒng)安裝完畢后,就可以使用Linux下inicoWindows下面可使用超級終端。3.

怎樣測試交叉編譯環(huán)境與否建立成功?答:首先,使用VI編輯器創(chuàng)立一種hello.c文獻(xiàn)。[root@localhostxscale270]#vihello.c編寫一種簡樸的程序來打印出一行簡樸的信息:WelcomeEmdoor!。保留并退出該文獻(xiàn)。使用如下的命令來編譯該文獻(xiàn)。[root@localhostxscale270]#gcc-ohellohello.c[root@localhostxscale270]#arm-linux-gcc-ohellohello.c gcc編程生成的是X86系統(tǒng)構(gòu)造的二進(jìn)制文獻(xiàn)。arm-linux-gcc是在在宿主機中,交叉編譯hello.c源程序,并查看生成的.o目的文獻(xiàn)。調(diào)用交叉編譯器arm-linux-gcc編譯hello.c文獻(xiàn)使用file命令來分別查看編譯出的二進(jìn)制文獻(xiàn)hello和hello-arm。[root@localhostxscale270]#filehello[root@localhostxscale270]#filehello-arm編譯器arm-linux-gcc生成的可執(zhí)行文獻(xiàn)hello-arm文獻(xiàn)是不能在宿主PC機上運行的,只能在XSBase270目的機上運行。4.

怎樣實現(xiàn)宿主PC機與XSBase270目的板的通信。答:要使用網(wǎng)絡(luò)進(jìn)行通訊和文獻(xiàn)傳播,必須使宿主機和目的機是相似的網(wǎng)段。例如設(shè)置宿主機的IP地址:00;目的機的IP地址:0。在嵌入式系統(tǒng)開發(fā)中,可采用網(wǎng)絡(luò)統(tǒng)NFS以將PC機的部文獻(xiàn)系作為的源這可以補目的存空的文獻(xiàn)議(eanitPoocol運用以網(wǎng)實文獻(xiàn)的要上的應(yīng)保留到機的arfppb目錄。5.

簡述Makefile的基本構(gòu)造。答:Makefile文獻(xiàn)由一組依賴關(guān)系和規(guī)則構(gòu)成。每個依賴關(guān)系有一種目的(即將要創(chuàng)立的文獻(xiàn))和一組該目的所依賴的源文獻(xiàn)構(gòu)成。akee的:target……:dependency_files……command……構(gòu)造各分含如下:

age目的)一種目的以是bect文獻(xiàn)可是行可是一種標(biāo)(abe

depndenc(依賴文獻(xiàn)):要成(age)所賴些。

coand(命令)創(chuàng)立目需運的el命令6.

使用Makefile編譯程序的長處是什么?答:在nux環(huán)境對于具有幾種源碼的程的編,可以工令源代文獻(xiàn)逐一進(jìn)編在型項開中,一種工程中的源文獻(xiàn)不計其數(shù),其按類型、功能、模塊分別放在若干個目錄中,這時們NUake具自完畢應(yīng)序的護(hù)和編譯作Uake工具是過解釋akee完畢整個工程的完全自動編譯,極大7.

在Makefile中變量怎樣定義,可在Makefile中的哪些部分使用?自動變量$@和$<分別代表什么含義?答:Makefile中變量可以使用“=”定義和使用指示符“define”定義。Makefile中的變量可以使用在“目的”,“依賴目的”,“命令”或Makefile的其他部分中。$@:目的文獻(xiàn)的完整名稱;$<:第一種依賴文獻(xiàn)的名稱。8.

編寫一種文獻(xiàn)的程序,使用Makefile文獻(xiàn)進(jìn)行編譯。答:(1)運用文本編輯器創(chuàng)立hello.c文獻(xiàn)。heo.c#ncude<doh>ntan(){pnecoeEdoo!n;eun1;}(2)編寫Makefile文獻(xiàn)。#akeeetorheopogamC=gccCAGS=a:heoheo:heo.o$CC)$CAGS)heo.o–oheoheo.o:heo.c$CC)$CAGS)-cheoc-oheo.ocean:mheo.o(3)執(zhí)行make命令,編譯hello.c程序。oo@oca$ake9.

編寫多種文獻(xiàn)的程序,使用Makefile文獻(xiàn)進(jìn)行編譯。(1)

答:在/work目錄先新建一種hello2目錄,并在該目錄下用vi命令創(chuàng)立文獻(xiàn)hello1.c、hello2.c、hello.h和Makefile。分別輸入如下內(nèi)容。

文獻(xiàn)heo1.cheo1.c#ncude<doh>ntan(){pnecoeEdoo!n;e2;eun1;}

文獻(xiàn)heo2.cheo2.c#ncudeheo2.h"#ncude<doh>ode2(od){pnecoeEdoo!heo2n;}

文獻(xiàn)heo2.hheo2.hode2(od;

文獻(xiàn)akee#akeeetorutiespogamC=gccCAGS=OSheo1.oeo2.oa:heoheo:$OS)$CC)$CAGS)$^o@heo1.o:heo1.c$CC)$CAGS)-c$<o$@heo2.o:heo2.c$CC)$CAGS)-c$<o$@cean:mheo.o(2)

后行下令oo@oca$akeoo@oca$.heo作業(yè)11. 如下不是嵌入式系統(tǒng)的是 A.全自動洗衣機 B.手機 C.攝像機 D.機械手表 原則答案:D2. 如下不是嵌入式操作系統(tǒng)的是 A.嵌入式Linux B.Unix C.WindowsCE D.VxWorks 原則答案:B3. 嵌入式系統(tǒng)的關(guān)鍵是 A.外圍輸入設(shè)備 B.嵌入式處理器 C.應(yīng)用軟件 D.網(wǎng)絡(luò)接口 原則答案:B4. ARM7微處理器具有流水線。 A.三級 B.四級 C.五級 D.六級 原則答案:A5. 如下ARM的匯編語句屬于寄存器尋址的是。 A.LDRR0,[R1] B.MOVR0,R1 C.MOVR0,#0x20 D.LDMIBR0,{R1-R7] 原則答案:B6. 程序狀態(tài)寄存器中確定正在執(zhí)行的指令是ARM指令還是Thumb指令的標(biāo)志位是 A.I B.N C.T D.F 原則答案:C7. AMR處理器中,常作為SP寄存器的物理寄存器是 A.R15 B.R14 C.R13 D.R12 原則答案:C8. 對寄存器R1的內(nèi)容乘以4的對的指令是()。 A.LSRR1,#2 B.LSLR1,#2 C.MOVR1,R1,LSL#2 D.MOVR1,R1,LSR#2 原則答案:C9. 下面指令執(zhí)行后,變化R1寄存器內(nèi)容的指令是()。 A.TSTR1,#2 B.ORRR1,R1,R1 C.CMPR1,#2 D.EORR1,R1,R1 原則答案:D10. MOVR1,#0x1000LDRR

溫馨提示

  • 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

提交評論