ARM嵌入式系統(tǒng)試題及答案解析_第1頁
ARM嵌入式系統(tǒng)試題及答案解析_第2頁
ARM嵌入式系統(tǒng)試題及答案解析_第3頁
ARM嵌入式系統(tǒng)試題及答案解析_第4頁
ARM嵌入式系統(tǒng)試題及答案解析_第5頁
已閱讀5頁,還剩10頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、ARM嵌入式系統(tǒng)基礎(chǔ)教程 - 期中開卷 專業(yè):軟件1002班 姓名:王世偉 學號:04103060(24)一、 嵌入式系統(tǒng)基本概念1、 什么是嵌入式系統(tǒng)?有何特點?答:所謂嵌入式,實際上是“嵌入式計算機系統(tǒng)”,的簡稱,它是相對于通用計算機系統(tǒng)而言,注重于發(fā)展獨立的單芯片技術(shù)。嵌入式系統(tǒng)是“控制、監(jiān)視或者輔助裝置、機器和設(shè)備運行的裝置”。特點:(1)嵌入式系統(tǒng)是將先進的計算機技術(shù),半導(dǎo)體技術(shù)以及電子技術(shù)與各行業(yè)的具體應(yīng)用相結(jié)合的產(chǎn)物,這一點就決定了他必然是一個技術(shù)密集,資金密集,高度分散,不斷創(chuàng)新的知識集成系統(tǒng)。(2)系統(tǒng)內(nèi)核小(3)專用性強 (4)系統(tǒng)精簡 (5)系統(tǒng)軟件要求 (6)嵌入式軟件

2、開發(fā)要走向標準化,需要使用多任務(wù)的操作系統(tǒng)。(7)嵌入式系統(tǒng)本身并不具備在其上進行進一步開發(fā)的能力。2、 舉例在你的身邊常見到的嵌入式系統(tǒng)產(chǎn)品,談一談你對“嵌入式系統(tǒng)”的初步理解。答:產(chǎn)品有:洗衣機,空調(diào),手機。嵌入式系統(tǒng)就是內(nèi)置小計算機系,可以對機器進行智能控制的系統(tǒng)。3、 嵌入式系統(tǒng)的3個基本特點?答:(1)專用性 (2)嵌入型 (3)計算機系統(tǒng)4、 什么是嵌入式處理器,嵌入式處理器可以分為幾大類?答:嵌入式處理機是嵌入式的核心,是控制,輔助系統(tǒng)運行的硬件單元。分類:四大類(1)嵌入式微處理器 (2)嵌入式微控制器 (3)嵌入式DSP處理器(4)SoC片上系統(tǒng)5、 廣泛使用的三種類型的操作

3、系統(tǒng)?答:多道批處理操作系統(tǒng)、分時操作系統(tǒng)以及實時操作系統(tǒng)。6、 列舉常見的4種嵌入式操作系統(tǒng)?說明你對嵌入式操作系統(tǒng)的基本認識,嵌入式操作系統(tǒng)在嵌入式系統(tǒng)開發(fā)中的必要性。答:嵌入式Linux、Win CE、VxWorks、C/OS-II 沒有操作系統(tǒng)的計算機效率十分底下,把操作系統(tǒng)嵌入到計算機中,可以提高系統(tǒng)的可靠性,開發(fā)效率,縮短了開發(fā)周期。二、 ARM7體系結(jié)構(gòu)1、 ARM是什么樣的公司?答:它是一家微處理器行業(yè)的知名企業(yè),該企業(yè)設(shè)計了大量高性能、廉價、耗能低的RISC處理器。特點是只設(shè)計芯片,而不生產(chǎn)。它將技術(shù)授權(quán)給世界上許多著名的半導(dǎo)體、軟件和OEM廠商,并提供服務(wù)。2、 什么是RI

4、SC?什么是CISC?答:RISC是精簡指令集計算機的縮寫。CISC是復(fù)雜指令集計算機的縮寫。3、 舉出2個ARM公司當前應(yīng)用比較多的ARM處理器核?答:ARM7系列、ARM9系列、ARM10系列、ARM11系列、intel的Xscale系列和MPCore系列。4、 ARM7TDMI中的T、D、S、I分別表示什么含義?答:T:支持高密度16位的Thumb指令集D:支持片上調(diào)試S:ARM7TDMI 的可綜合(synthesizable)版本(軟核)I:支持EmbededICE觀察硬件M:支持64位乘法5、 ARM7TDMI處理器采用什么樣的體系結(jié)構(gòu),其可尋址地址空間多大?答:ARM處理器使用馮.

5、諾依曼結(jié)構(gòu)使用單個平面的232個8位字節(jié)地址空間。地址空間可以看作是包含230個32位字,或231個16位半字。6、 ARM7TDMI處理器采用幾級流水線處理,使用何種存儲器編址方式?答:ARM7TDMI處理器采用三級流水線。ARM處理器將存儲器看做是一個從0開始的線性遞增的字節(jié)集合。7、 ARM處理器哪幾種狀態(tài)和模式?答:共7種。(1) 用戶模式 (2)快速中斷模式 (3)外部中斷模式 (4)管理模式 (5)數(shù)據(jù)訪問中斷模式 (6)系統(tǒng)模式 (7)未定義指令模式8、 簡述ARM處理器兩種狀態(tài)的應(yīng)用特點。答:ARM狀態(tài):處理器執(zhí)行32位字對齊方式的ARM指令,每條ARM指令長度為32位,指令的

6、功能強大,處理器默認為此狀態(tài)。Thumb狀態(tài):處理機執(zhí)行16位半字對齊方式的Thumb。每條Thumb指令長度為16位,是ARM指令功能的子集。9、 簡述ARM處理器7種模式的應(yīng)用特點。答:(1)用戶模式:ARM處理器正常的程序執(zhí)行模式。 (2)快速中斷模式:用于高速數(shù)據(jù)傳輸或通道處理。 (3)外部中斷模式:用于通用的中斷處理。 (4)管理模式:操作系統(tǒng)使用的保護模式。 (5)數(shù)據(jù)訪問中斷模式:當數(shù)據(jù)或指令預(yù)取終止時進入該模式,可用于虛擬 存儲及存儲保護。 (6)系統(tǒng)模式:運行具有特權(quán)的操作系統(tǒng)任務(wù)。 (7)未定義指令模式:當未定義的指令執(zhí)行時進入該模式,可用于支持硬件 處理器的軟件仿真。10

7、、 結(jié)合CPSR的結(jié)構(gòu),說明其中的M4:0的作用和T位的作用。答:M4:0是模式控制位,這些位決定處理器的工作模式。 T位:T位標志控制處理器按照ARM指令集運行,還是按照Thumb指令集 運行。11、 結(jié)合CPSR的結(jié)構(gòu),說明其中的I位和F位的作用。答:I位和F位都是中斷禁止標志位,用來時能或禁止ARM的兩種外部中斷。12、 簡述ARM7TDMI內(nèi)部有哪些寄存器及特點。答:分別為31個通用32位寄存器和6個狀態(tài)寄存器。它們不能在同一使勁同時被訪問,對其的訪問取決于處理器狀態(tài)和處理器模式。13、 結(jié)合下表簡述FIQ模式下有哪幾個私有寄存器,這些私有寄存器有何使用特點?答:FIQ模式下私有寄存器

8、有R8-fiq,R9-fiq,R10-fiq,R11-fiq,R12-fiq,R13-fiq,R14-fiq,和SPSR-fiq。 這些寄存器使得在發(fā)生FIQ中斷,處理器不必為保護寄存器而浪費時間,從而加速了FIQ的處理速度。14、 ARM7TDMI中的PC指向的是下一條將要執(zhí)行的指令,這句話對嗎?為什么?答:不對,PC中的內(nèi)容總是指向正在“取指”指令的地址。15、 簡述ARM處理器的CPSR和SPSR的功能、作用和工作方式。答:CPSR是當前狀態(tài)寄存器,他可以在任何運行模式下被訪問,它包括條件標志位,中斷標志位,當前處理器模式標志位,以及其他的一些相關(guān)的控制盒狀態(tài)位。ARM內(nèi)核就是通過使用C

9、PSR來監(jiān)視和控制內(nèi)部操作的。SPSR用于保存CPSR的當前值,從異常退出時則可由SPSR來恢復(fù)CPSR。16、 簡述ARM7的內(nèi)部寄存器R13、R14、R15的主要功能、作用和工作方式。答:R13作為堆棧指針SP,用于指定堆棧操作出入口的地址。其他6個R13寄存器為堆棧寄存器。為用戶模式和系統(tǒng)模式共用一個。R14可以用作通用寄存器,也可以用作鏈接寄存器。鏈接寄存器用于保存子程序地址或者返回地址。R15:程序寄存器,總是指向正在“取指”的指令17、 什么是計算機的尋址方式?ARM7TDMI有幾種尋址方式?答:寄存器尋址、立即尋址、寄存器移位尋址、寄存器間接尋址、基址尋址、多寄存器尋址、堆棧尋址

10、、相對尋址。18、 什么是堆棧?ARM中的堆棧是如何定義和使用的?答:堆棧都是一種數(shù)據(jù)項按序排列的數(shù)據(jù)結(jié)構(gòu),只能在一端(稱為棧頂(top)對數(shù)據(jù)項進行插入和刪除。ARM處理器將RB作為堆棧指針SP,用于保存堆棧的出入口處地址。19、 何謂存儲的“大端模式”、“小端模式”?寫出數(shù)據(jù)0x12345678在0x20000000字單元中“小端模式”下的存儲細節(jié)。答:大端模式:按照數(shù)據(jù)的低字節(jié)存放在高地址中的順序進行存儲。 小端模式:按照數(shù)據(jù)的高字節(jié)存放在高地址中的順序進行存儲。 0x20000000存放0x78,0x20000001存放0x56,0x20000002存放0x34 0x20000003存

11、放0x12。20、 什么是“字對齊”和“半字對齊”?ARM指令必須字對齊存放,Thumb指令必須半字對齊存放,這句話正確嗎?答:如果一個字數(shù)據(jù)的訪問存儲地址A能被4整除,即地址的低兩位為零,則為 字對齊的存儲器訪問。 如果一個半數(shù)據(jù)的訪問的存儲地址A能被2整除,即地址的最低位為零,則 為半字對齊的存儲器訪問, 如果Thumb狀態(tài)下將一個非字對齊的地址寫入PC,則數(shù)據(jù)在寫入PC時第 0位被忽略,最終PC的bit0為0,將會產(chǎn)生不可預(yù)料的結(jié)果。21、 ARM指令長度和Thumb指令長度固定位長嗎?位長分別是多少?答:固定 , ARM為一個字(32bit),Thumb為一個半字(16bit)22、

12、ARM7TDMI中的中斷分為那兩類?在CPU級別如何分別屏蔽?答:分別為IRQ,F(xiàn)IQ,在cpu級別通過狀態(tài)寄存器CPSR中的I和F位置位來屏蔽。23、 什么是ARM7TDMI中的異常?簡述ARM7TDMI中的復(fù)位、IRQ、FIQ和軟中斷等幾種主要異常的控制原理。答:異常是指正常的程序被暫時中止的狀態(tài)模式。復(fù)位異常時處理器進行管理模式執(zhí)行相應(yīng)操作,I和F均為禁止;軟中斷異常也進入管理模式,I位禁止;IRQ異常時進入中斷模式,I位禁止;FIQ異常進入快速中斷模式,I和F位均為禁止,都是通過異常向量表。24、 簡述ARM7TDMI中產(chǎn)生復(fù)位、IRQ、FIQ和軟中斷等幾種主要異常的條件,這幾種異常會

13、使ARM分別進入到哪種模式?ARM核響應(yīng)異常的過程,以及這幾種異常地返回指令是什么?答:復(fù)位異常:當nRESET信號被拉低時,ARM處理器放棄正在執(zhí)行時的指令,等到nRESET下信號再次變高時,ARM執(zhí)行下列操作:(1)強制M4:0復(fù)為10011,進入管理模式;(2)將CPSR中的I和F置位;(3)將CPSR中的T位清零(4)強制pc從地址0x00開始對下一條指令進行取值;(5)返回ARM狀態(tài)并回復(fù)執(zhí)行,無返回指令。IRQ:只有CPSR中相應(yīng)的I位被清除時,才可能發(fā)生IRQ異常,進入中斷模式,內(nèi)核自動作如下處理:(1)將異常處理的返回地址保存到R14-irq中(2)用戶模式的CPSR被保存到S

14、PSR-irq中;(3)修改CPSR,禁止新的IRQ中斷產(chǎn)生,進入ARM狀態(tài),IRQ模式(4)置IRQ模式下的IRQ異常處理程序的中斷入口地址向量。地址0x00000018。 返回指令:subspc , R14-irq , #4FIQ:只有CPSR中的想用下位被清零時,才發(fā)生下IQ異常進入FIQ模式,F(xiàn)IQ中的8個專用寄存器用來保護中斷地址。其返回指令: subs pc,R14-fiq , #4軟中斷swi:用于進入“管理模式”,通常用于請求一個特定的管理函數(shù)。返回指令:movs pc,R14-svc三、 ARM7TDMI指令系統(tǒng)1、 ARM7TDMI支持哪幾種指令集,各有什么特點?答:支持A

15、RM指令集和Thumb指令集兩種。ARM指令集:指令32位,效率高,代碼密度低,所有ARM指令都是可以有條件執(zhí)行的 。Thumb指令集:指令16位,代碼密度較高,Thumb指令僅有一條指令具備條件執(zhí)行功2、 ARM匯編指令的基本格式?答:基本指令:在ARM指令集中,每條指令占有4個字節(jié),即指令長度為32位。3、 何謂ARM指令的條件碼?默認的條件碼是什么?舉例說明ARM指令的條件碼對指令執(zhí)行的影響。答:條件碼是按照指定條件執(zhí)行的操作條件:默認條件碼是AL(無條件執(zhí)行)例子:比較兩值大小,并進行相應(yīng)加1處理:cmp R0,R1;ADDHI R0,R0,#1;ADDLS R1,R1,#14、 解釋

16、何為“滿堆?!?、“空堆?!?、“遞增堆?!焙汀斑f減堆?!? ARM指令系統(tǒng)中是如何支持的?答:滿堆棧:堆棧指針指向最后壓入棧的有效數(shù)據(jù)項。 空堆棧:堆棧指針指向下一個待壓入數(shù)據(jù)的空位置。 遞增堆棧:在向堆棧寫入數(shù)據(jù)后,堆棧指針的值變大,即向高地址方向生長。 遞減堆棧:在想堆棧寫入數(shù)據(jù)后,堆棧指針的值變小,即向低地址方向生長。ARM指令支持四種對戰(zhàn)類型:滿遞增,空遞增,滿遞減,空遞減。5、 請說明MOV指令與LDR加載指令的區(qū)別和用途。答:LDR的操作數(shù)既可以來源于寄存器也可以來源于存儲器,MOV的操作數(shù)能來源于寄存器。LDR指令從內(nèi)存中讀取數(shù)據(jù)放入寄存器,用于對內(nèi)存變量和數(shù)據(jù)的訪問、查表、程序的

17、跳轉(zhuǎn)、外圍部件的控制操作等;MOV指令將8位立即數(shù)或寄存器傳送到目標寄存器(Rd),可用于移位運算等操作。6、 解釋 B指令、BL指令與BX指令的功能差別?簡述他們的應(yīng)用場合。答:B指令:是分支指令,跳轉(zhuǎn)到標號指定的地址程序。 Bl指令:帶連接的分支指令,跳轉(zhuǎn)到指定的地址程序,同時還將程序計數(shù)器PC的值保存到LR寄存器中。 BX指令:帶狀態(tài)切換的分支指令,跳轉(zhuǎn)到Rm指定的地址處執(zhí)行程序,根據(jù)跳轉(zhuǎn)地址的最低位來切換處理器狀態(tài)。B/BL指令跳轉(zhuǎn)范圍限制在當前指令的+-32MB地址內(nèi)。7、 解釋SWI(軟中斷)指令的執(zhí)行過程和典型應(yīng)用。答:SWI指令用于產(chǎn)生軟中斷,從而實現(xiàn)先從用戶模式到管理模式的變

18、換。在切換時,CPSR寄存器內(nèi)容將保存到管理模式的SPSR中,同時程序跳轉(zhuǎn)到SWI異常向量入口處。 SWI用于系統(tǒng)功能調(diào)用。8、 ARM匯編指令條件碼如下表,分析下兩段程序片斷的功能,寫出其等價的類C語言功能描述:條件助記符標志含義EQZ=1相等NEZ=0不相等CS/HSC=1無符號數(shù)大于或等于CC/LOC=0無符號數(shù)小于MIN=1負數(shù)PLN=0正數(shù)或零VSV=1溢出VCV=0沒有溢出HIC=1,Z=0無符號數(shù)大于LSC=0,Z=1無符號數(shù)小于或等于GEN=V有符號數(shù)大于或等于 LTN!=V有符號數(shù)小于 GTZ=0,N=V有符號數(shù)大于 LEZ=1,N!=V有符號數(shù)小于或等于 AL任何無條件執(zhí)行

19、 (指令默認條件) NV任何從不執(zhí)行(不要使用) 程序片斷1:CMPR0, R1 ADDHIR0 , R0 , #1 ADDLSR1 , R1 , #1程序片斷2:CMP R0 , #10 CMPNE R1 , #20 ADDNER0 , R0 , R1答:if(R0>R1)if(R0!=10)R0+;if(R1!=20)else R1+;R0+=R1;9、 結(jié)合ARM7TDMI結(jié)構(gòu)中的流水線結(jié)構(gòu),解釋IRQ中斷返回指令:SUBS PC , R14_irq , #4 的原理答:ARMTTDMI采用三級流水線結(jié)構(gòu),PC指向正在取值的指令,產(chǎn)生IRQ時,保存在R14-IRQ中的是PC的值,在

20、返回時為保證正確性應(yīng)返回到PC-4即中斷前“正在譯碼”的指令地址。所以返回指令為:subs pc,R14-irq,#4;四、 LPC2000系列ARM硬件資源原理與使用1、 LPC2000系列器件有幾種常見的封裝形式和其封裝特點?答:常見的封裝有64腳封裝,144腳封裝特點:功耗低,有多個32位定時器,多達9個外部中斷,16K字節(jié)靜態(tài)RAM, 1/128/256k字節(jié)片F(xiàn)lash存儲器,128為寬度接口加速器,4路10位ADC或8路10 位ADC(64腳和144腳封裝),46或76112個GPIO(64腳和144腳封裝)。2、 簡要說明一下LPC2000系列器件片內(nèi)存儲器的特點?答:片內(nèi)存儲器

21、分為片內(nèi)Flash和片內(nèi)靜態(tài)RAM。片內(nèi)Flash通過128位寬度的總線與ARM內(nèi)核相連,具有很高的速度,特有的存儲器加速功能,可以將程序直接放在Flash上運行。SRAM支持8位、16位和32位的讀寫訪問。3、 在LPC2000系列ARM芯片中,內(nèi)Flash有哪幾種寫入方式?答:(1)使用JTAG仿真/調(diào)試器,通過芯片的JTAG借口下載程序。 (2)使用在系統(tǒng)編程技術(shù),通過UART0接口下載程序。 (3)使用在應(yīng)用編程技術(shù),在用戶程序運行時對Flash進行擦出和/或編程操作, 實現(xiàn)數(shù)據(jù)的存儲和固件的現(xiàn)場升級。4、 ARM寄存器PC、CPSR、SPSR分別有什么用?答:PC是CUP中的程序計數(shù)

22、器,內(nèi)容總是指向正在“取指”指令的地址。CPSR是當前程序狀態(tài)寄存器,用來監(jiān)視和控制內(nèi)部操作的。SPSR是物理狀態(tài)寄存,用于保存CPSR的當前值,從異常退出時則由它來恢復(fù)CPSR。5、 什么是ARM處理器的異常?ARM處理器是如何處理異常的?答:異常:在執(zhí)行正常程序過程中,當發(fā)生某種異常事件或某種外部請求時,處理器就暫停執(zhí)行當前的程序,進入異常模式。如何處理異常:1) 保存執(zhí)行狀態(tài):將CPSR復(fù)制到發(fā)生的異常模式下的SPSR中。2) 模式切換:將CPSR模式位強制設(shè)置為與異常類型相對應(yīng)的值,同時處理器進入到ARM執(zhí)行模式,禁止所有IRQ中斷,當進入FIQ快速中斷模式時禁止FIQ中斷。3) 保存

23、返回地址:將下一條指令的地址(被打斷程序)保存在LR(異常模式下LR_excep)中。4) 跳入異常向量表:強制設(shè)置PC的值為相應(yīng)異常向量地址,跳轉(zhuǎn)到異常處理程序中。6、 什么是ARM體系結(jié)構(gòu)中的異常向量表?在應(yīng)用中有何作用?答:處理器規(guī)定了異常處理程序入口的地址區(qū)間,并規(guī)定了地址的存放順序,一般稱為異常向量表。在異常處理過程中,可以加快異常服務(wù)的響應(yīng)速度。7、 在ARM體系結(jié)構(gòu)中,異常向量表中存放的是什么內(nèi)容?答:異常處理程序的程序入口地址。8、 在ARM體系結(jié)構(gòu)中,異常向量表中0x0014(保留字)單元存放的是什么內(nèi)容?有何用途?答:保留的異常入口,早期的ARM結(jié)構(gòu)中會被用到,而在ARM7

24、中是保留的,以確保軟件能與不同的ARM結(jié)構(gòu)兼容。而在有些處理器芯片中,這4個字節(jié)已經(jīng)有了非常特殊的用特。9、 什么是ISP技術(shù)?IAP技術(shù)?在實際應(yīng)用中有何實際意義?答:ISP:在系統(tǒng)可編程指電路板上的空白器件可以編程寫入最終用戶代碼而不需要從電路板上取下器件已經(jīng)編程的器件也可以用ISP方式擦除或再編程。IAP:是指在應(yīng)用編程,即在程序運行中編程,就是片子提供一系列的機制(硬件/軟件上的)當片子在運行程序的時候可以提供一種改變flash數(shù)據(jù)的方法。10、 LPC2000系列器件中,許多芯片的引腳具有多種功能,應(yīng)用中如何使用其特定的功能?答:設(shè)置寄存器PINSEL0、PINSEL1、PINSEL

25、2為特定功能的值。11、 簡述LPC2000系列芯片的引腳設(shè)置寄存器PINSEL0、PINSEL1、PINSEL2的具體功能?答:PINSEL0控制引腳P0.0P0.15的連接狀態(tài),每兩位控制一個引腳。PINSEL1控制引腳P0.16P0.31的連接狀態(tài),每兩位控制一個引腳。PINSEL2控制P1端口和P2端口。12、 簡述LPC2000系列芯片內(nèi)部GPIO的功能特點?答:(1)可以獨立控制每個GPIO口的方向;(2)可以獨立設(shè)置每個GPIO的輸出狀態(tài);(3)所有GPIO口在復(fù)位后默認位輸入狀態(tài)。13、 結(jié)合GPIO 結(jié)構(gòu)原理圖,簡述GPIO的工作方式設(shè)置內(nèi)容。芯片引腳答:芯片某個管腳首先經(jīng)過

26、unix功能選擇,對應(yīng)PINSELx寄存器選擇其功能,如果選擇GPIO功能,在經(jīng)過MUX2中IOxDIR寄存器對應(yīng)位選擇,控制管腳輸入輸出方向,GPIO管腳輸入時通過IOxPIN寄存器讀入,輸出時通過IOxSET或IOxCLR寄存器控制輸出實現(xiàn)對應(yīng)GPIO管腳的控制。14、 設(shè)計編程:LPC2131的P0.7引腳連接了一個蜂鳴器,編程發(fā)出等周期的滴滴聲。答:#define Void DelayNS(int m)int i;for(;m>0;m-)for(i = 0;i<50000;i+)main()PINSEL0 = 0x00000000;IO0DIR = 1 << 7

27、;while (1)IO0SET = 1 << 7;DelayNS(50);IO0CLR = 1 << 7;DelayNS(50);15、 設(shè)計編程:LPC2131的P01:0 兩引腳分別連接了2個按鍵K1和K4;P07:6 兩引腳分別連接了2個指示燈LED1和LED2;請編制驅(qū)動程序,使Kx 按鍵時,LEDx 燈亮。答:#define k1 1<<0#define k2 1<<1#define LED1 1<<7#define LED2 1<<8main()PINSEL0=0x00000000;IO0DIR=IO0DIR

28、 & (k1);IO0DIR=IO0DIR & (k2);IO0DIR=IO0DIR|LED1;IO0DIR=IO0DIR|LED2;IO0CLR=IO0CLR|LED1|LED2;While(1)If(IO0PIN & k1)=0)IO0SET=LED1;else IO0SET=LED1;If(IO0PIN & k2)=0)IO0SET=LED2;else IO0SET=LED2;16、 名詞解釋:中斷、中斷源、中斷優(yōu)先級、中斷屏蔽、中斷向量、中斷響應(yīng)、中斷控制。答:中斷:CPU在執(zhí)行一個程序時,對系統(tǒng)發(fā)生的某個事件(程序自身或外界的原因)作出的一種反應(yīng):CP

29、U暫停正在執(zhí)行的程序,保留現(xiàn)場后自動轉(zhuǎn)去處理相應(yīng)的事件,處理完該事件后,到適當?shù)臅r候返回斷點,繼續(xù)完成被打斷的程序。中斷源:把引起中斷的原因,或者能夠發(fā)出中斷請求信號的來源統(tǒng)稱為中斷源。中斷優(yōu)先級:為使系統(tǒng)能及時響應(yīng)并處理發(fā)生的所有中斷,系統(tǒng)根據(jù)引起中斷事件的重要性和緊迫程度,硬件將中斷源分為若干個級別,稱作中斷優(yōu)先級。 中斷屏蔽:中斷向量:中斷服務(wù)程序的入口地址。中斷響應(yīng):中斷響應(yīng)是當中央處理機發(fā)現(xiàn)已有中斷請求時,中止,保存現(xiàn)行程序執(zhí)行,并自動引出中斷處理程序的過程。 中斷控制:CPU能否暫停正在執(zhí)行的中斷服務(wù)程序,而轉(zhuǎn)去執(zhí)行為另一個中斷源而編寫的中斷服務(wù)程序,如果另一個中斷源的優(yōu)先級高,C

30、PU就暫停正在執(zhí)行中斷服務(wù)程序而轉(zhuǎn)去執(zhí)行為另一個中斷源而編寫的中斷服務(wù)程序,否則,另一個中斷源就不能打斷正在執(zhí)行的中斷服務(wù)程序。17、 結(jié)合ARM VIC 結(jié)構(gòu)原理圖,簡述ARM體系結(jié)構(gòu)中的中斷控制原理。1) 向量中斷控制器(VIC)的功能特點?2) 中斷信號的來源?中斷信號的標示?3) 中斷信號如何屏蔽?如何清除?4) ARM核從何處獲得中斷向量?5) 如何將中斷源指派為IRQ、FIQ?6) 向量IRQ的設(shè)置方法?答:(1)最多32個中斷請求輸入;16個向量IRQ中斷;16個優(yōu)先級,可動態(tài)分配優(yōu)先級; 可產(chǎn)生軟件中斷;當I=1時,禁止IRQ中斷,反之使能之;當F=1時,禁止FIQ中斷,反之使

31、能之。(2)答:18、 ARM 芯片中定時器結(jié)構(gòu)原理如下圖,試設(shè)計一個周期為2秒的方波發(fā)生器。(假設(shè)該系統(tǒng)的外圍設(shè)備時鐘頻率Fpclk = 10MHz)答:int mianPINSEL0=PINSEL0 & (1(3<<10) | (2<<10);T0CTCR=0x00;T0TC=0;T0PR=99;T0MCR=0x02<<3;T0MR1=Fpclk/100;T0EMR | =0xc2;T0TCR=0x01;While(1);19、 使用學過的知識設(shè)計設(shè)計一個汽車用“車速表”,寫出你的設(shè)計方案并編程實現(xiàn)。提示:可用霍爾元件將車輪的轉(zhuǎn)動轉(zhuǎn)換為脈沖。車輪

32、每轉(zhuǎn)動一圈會產(chǎn)生一個方波脈沖。答:轉(zhuǎn)動脈沖:void _irq IRQ_Timer0 (void)if (IO0SET & BEEP) = 0)IO0SET = BEEP; /* 關(guān)閉BEEP */elseIO0CLR = BEEP;T0IR = 0x01; /* 清除中斷標志*/VICVectAddr = 0x00; /* 通知VIC中斷處理結(jié)束 */int main (void)int spped=1;PINSEL1 = 0x00000000; /* 設(shè)置管腳連接GPIO */IO0DIR = BEEP; /* 設(shè)置BEEP控制口輸出*/IRQEnable(); /* IRQ中斷使能*/* 定時器0初始化 */T0TC = 0; /* 定時器設(shè)置為0*/T0PR = 0; /* 時鐘不分頻*/T0MCR = 0x03; /* 設(shè)置T0MR0匹配后復(fù)位T0TC,并產(chǎn)生中斷標志*/T0MR0 = Fpclk / spped; /* 0.5秒鐘定時*/T

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論