ARM嵌入式系統(tǒng)試題答案解析[共27頁]
《ARM嵌入式系統(tǒng)試題答案解析[共27頁]》由會員分享,可在線閱讀,更多相關(guān)《ARM嵌入式系統(tǒng)試題答案解析[共27頁](27頁珍藏版)》請在裝配圖網(wǎ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)視或者輔助裝 置、機器和設備運行的裝置”。 特點:(1)嵌入式系統(tǒng)是將先進的計算機技術(shù),半導體技術(shù)以及電子技術(shù)與各行業(yè)的 具體應用相結(jié)合的產(chǎn)物,這一點就決定了他必然是一個技術(shù)密集,資金密集,高 度分散,不斷
2、創(chuàng)新的知識集成系統(tǒng)。(2)系統(tǒng)內(nèi)核小 (3)專用性強 (4)系統(tǒng)精 簡 (5)系統(tǒng)軟件要求 (6)嵌入式軟件開發(fā)要走向標準化,需要使用多任務的 操作系統(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、 什么是嵌入式處理器,嵌入式處理器可以分為幾大類? 答:嵌入式處理機是嵌入式的核心,是
3、控制,輔助系統(tǒng)運行的硬件單元。 分類:四大類(1)嵌入式微處理器 (2)嵌入式微控制器 (3)嵌入式DSP處 理器(4)SoC片上系統(tǒng) 5、 廣泛使用的三種類型的操作系統(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ā)周期。 二、
4、 ARM7體系結(jié)構(gòu) 1、 ARM是什么樣的公司? 答:它是一家微處理器行業(yè)的知名企業(yè),該企業(yè)設計了大量高性能、廉價、耗能低的 RISC處理器。特點是只設計芯片,而不生產(chǎn)。它將技術(shù)授權(quán)給世界上許多著名的半導 體、軟件和OEM廠商,并提供服務。 2、 什么是RISC?什么是CISC? 答:RISC是精簡指令集計算機的縮寫。CISC是復雜指令集計算機的縮寫。 3、 舉出2個ARM公司當前應用比較多的ARM處理器核? 答:ARM7系列、ARM9系列、ARM10系列、ARM11系列、intel的Xscale系列和MPCore系列。 4、 ARM7TDMI中的T、D、S、I
5、分別表示什么含義? 答:T:支持高密度16位的Thumb指令集 D:支持片上調(diào)試 S:ARM7TDMI 的可綜合(synthesizable)版本(軟核) I:支持EmbededICE觀察硬件 M:支持64位乘法 5、 ARM7TDMI處理器采用什么樣的體系結(jié)構(gòu),其可尋址地址空間多大? 答:ARM處理器使用馮.諾依曼結(jié)構(gòu) 使用單個平面的232個8位字節(jié)地址空間。地址空間可以看作是包含230個32位字, 或231個16位半字。 6、 ARM7TDMI處理器采用幾級流水線處理,使用何種存儲器編址方式? 答:ARM7TDMI處理器采用三級流水線。 ARM處理器
6、將存儲器看做是一個從0開始的線性遞增的字節(jié)集合。 7、 ARM處理器哪幾種狀態(tài)和模式? 答:共7種。 (1) 用戶模式 (2)快速中斷模式 (3)外部中斷模式 (4)管理模式 (5)數(shù)據(jù)訪問中斷模式 (6)系統(tǒng)模式 (7)未定義指令模式 8、 簡述ARM處理器兩種狀態(tài)的應用特點。 答:ARM狀態(tài):處理器執(zhí)行32位字對齊方式的ARM指令,每條ARM指令長度 為32位,指令的功能強大,處理器默認為此狀態(tài)。 Thumb狀態(tài):處理機執(zhí)行16位半字對齊方式的Thumb。每條Thumb指令長 度為16位,是ARM指令功能的子集。 9、 簡述ARM處理器7種模式的應
7、用特點。 答:(1)用戶模式:ARM處理器正常的程序執(zhí)行模式。 (2)快速中斷模式:用于高速數(shù)據(jù)傳輸或通道處理。 (3)外部中斷模式:用于通用的中斷處理。 (4)管理模式:操作系統(tǒng)使用的保護模式。 (5)數(shù)據(jù)訪問中斷模式:當數(shù)據(jù)或指令預取終止時進入該模式,可用于虛擬 存儲及存儲保護。 (6)系統(tǒng)模式:運行具有特權(quán)的操作系統(tǒng)任務。 (7)未定義指令模式:當未定義的指令執(zhí)行時進入該模式,可用于支持硬件 處理器的軟件仿真。 10、 結(jié)合CPSR的結(jié)構(gòu),說明其中的M[4:0]的作用和T位的作用。 答:M[4:0]是模式控制
8、位,這些位決定處理器的工作模式。 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模式下私有寄存器有R8-fiq,R9-
9、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) 位。AR
10、M內(nèi)核就是通過使用CPSR來監(jiān)視和控制內(nèi)部操作的。 SPSR用于保存CPSR的當前值,從異常退出時則可由SPSR來恢復CPSR。 16、 簡述ARM7的內(nèi)部寄存器R13、R14、R15的主要功能、作用和工作方式。 答:R13作為堆棧指針SP,用于指定堆棧操作出入口的地址。其他6個R13寄 存器為堆棧寄存器。為用戶模式和系統(tǒng)模式共用一個。 R14可以用作通用寄存器,也可以用作鏈接寄存器。鏈接寄存器用于保存子程序 地址或者返回地址。 R15:程序寄存器,總是指向正在“取指”的指令 17、 什么是計算機的尋址方式?ARM7TDMI有幾種尋址方式? 答:寄存器尋址、立即
11、尋址、寄存器移位尋址、寄存器間接尋址、基址尋址、多 寄存器尋址、堆棧尋址、相對尋址。 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é)存放在高地址中的順序進行存儲。
12、 0x20000000存放0x78,0x20000001存放0x56,0x20000002存放0x34 0x20000003存放0x12。 20、 什么是“字對齊”和“半字對齊”?ARM指令必須字對齊存放,Thumb指令必須半字對齊存放,這句話正確嗎? 答:如果一個字數(shù)據(jù)的訪問存儲地址A能被4整除,即地址的低兩位為零,則為 字對齊的存儲器訪問。 如果一個半數(shù)據(jù)的訪問的存儲地址A能被2整除,即地址的最低位為零,則 為半字對齊的存儲器訪問, 如果Thumb狀態(tài)下將一個非字對齊的地址寫入PC,則數(shù)據(jù)在寫入PC時第 0位被忽略,最終PC的
13、bit0為0,將會產(chǎn)生不可預料的結(jié)果。 21、 ARM指令長度和Thumb指令長度固定位長嗎?位長分別是多少? 答:固定 , ARM為一個字(32bit),Thumb為一個半字(16bit) 22、 ARM7TDMI中的中斷分為那兩類?在CPU級別如何分別屏蔽? 答:分別為IRQ,F(xiàn)IQ ,在cpu級別通過狀態(tài)寄存器CPSR中的I和F位置位來屏蔽。 23、 什么是ARM7TDMI中的異常?簡述ARM7TDMI中的復位、IRQ、FIQ和軟中斷等幾種主要異常的控制原理。 答:異常是指正常的程序被暫時中止的狀態(tài)模式。 復位異常時處理器進行管理模式執(zhí)行相應操作,I
14、和F均為禁止;軟中斷異常 也進入管理模式,I位禁止;IRQ異常時進入中斷模式,I位禁止;FIQ異常進 入快速中斷模式,I和F位均為禁止,都是通過異常向量表。 24、 簡述ARM7TDMI中產(chǎn)生復位、IRQ、FIQ和軟中斷等幾種主要異常的條件,這幾種異常會使ARM分別進入到哪種模式?ARM核響應異常的過程,以及這幾種異常地返回指令是什么? 答:復位異常:當nRESET信號被拉低時,ARM處理器放棄正在執(zhí)行時的指令,等到nRESET下信號再次變高時,ARM執(zhí)行下列操作:(1)強制M[4:0]復為10011,進入管理模式;(2)將CPSR中的I和F置位;(3)將CPSR中的T位清零(4
15、)強制pc從地址0x00開始對下一條指令進行取值;(5)返回ARM狀態(tài)并回復執(zhí)行,無返回指令。 IRQ:只有CPSR中相應的I位被清除時,才可能發(fā)生IRQ異常,進入中斷模式,內(nèi)核自動作如下處理:(1)將異常處理的返回地址保存到R14-irq中(2)用戶模式的CPSR被保存到SPSR-irq中;(3)修改CPSR,禁止新的IRQ中斷產(chǎn)生,進入ARM狀態(tài),IRQ模式(4)置IRQ模式下的IRQ異常處理程序的中斷入口地址向量。 地址0x00000018。 返回指令:subs pc , R14-irq , #4 FIQ:只有CPSR中的想用下位被清零時,才發(fā)生下IQ異常進入FIQ模式,F(xiàn)I
16、Q中的8個專用寄存器用來保護中斷地址。其返回指令: subs pc,R14-fiq , #4 軟中斷swi:用于進入“管理模式”,通常用于請求一個特定的管理函數(shù)。返回指令:movs pc,R14-svc 三、 ARM7TDMI指令系統(tǒng) 1、 ARM7TDMI支持哪幾種指令集,各有什么特點? 答:支持ARM指令集和Thumb指令集兩種。 ARM指令集:指令32位,效率高,代碼密度低,所有ARM指令都是可以有條件 執(zhí)行的 。 Thumb指令集:指令16位,代碼密度較高,Thumb指令僅有一條指令具備條件 執(zhí)行功 2、 ARM匯編指令的基本格式? 答:基本
17、指令: 在ARM指令集中,每條指令占有4個字節(jié),即指令長度為32位。 3、 何謂ARM指令的條件碼?默認的條件碼是什么?舉例說明ARM指令的條件碼對指令執(zhí)行的影響。 答:條件碼是按照指定條件執(zhí)行的操作條件:默認條件碼是AL(無條件執(zhí)行) 例子:比較兩值大小,并進行相應加1處理: cmp R0,R1;ADDHI R0,R0,#1;ADDLS R1,R1,#1 4、 解釋何為“滿堆棧”、“空堆棧”、“遞增堆?!焙汀斑f減堆?!? ARM指令系統(tǒng)中是如何支持的? 答:滿堆棧:堆棧指針指向最后壓入棧的有效數(shù)據(jù)項。 空堆棧:堆棧指針指向下一個待壓入數(shù)據(jù)的空位
18、置。 遞增堆棧:在向堆棧寫入數(shù)據(jù)后,堆棧指針的值變大,即向高地址方向生長。 遞減堆棧:在想堆棧寫入數(shù)據(jù)后,堆棧指針的值變小,即向低地址方向生長。 ARM指令支持四種對戰(zhàn)類型:滿遞增,空遞增,滿遞減,空遞減。 5、 請說明MOV指令與LDR加載指令的區(qū)別和用途。 答:LDR的操作數(shù)既可以來源于寄存器也可以來源于存儲器,MOV的操作數(shù)能來源 于寄存器。 LDR指令從內(nèi)存中讀取數(shù)據(jù)放入寄存器,用于對內(nèi)存變量和數(shù)據(jù)的訪問、查表、 程序的跳轉(zhuǎn)、外圍部件的控制操作等;MOV指令將8位立即數(shù)或寄存器傳送到目 標寄存器(Rd),可用于移位運算等操作。
19、6、 解釋 B指令、BL指令與BX指令的功能差別?簡述他們的應用場合。 答: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í)行過程和典型應用。 答:SWI指令用于產(chǎn)生軟中斷,從而實現(xiàn)先從用戶模式到管理模式的變換。在切換時,CPSR寄存器內(nèi)容將保存到管理模式的SPSR中
20、,同時程序跳轉(zhuǎn)到SWI異常向量入口處。 SWI用于系統(tǒng)功能調(diào)用。 8、 ARM匯編指令條件碼如下表,分析下兩段程序片斷的功能,寫出其等價的類C語言功能描述: 條件助記符 標志 含義 EQ Z=1 相等 NE Z=0 不相等 CS/HS C=1 無符號數(shù)大于或等于 CC/LO C=0 無符號數(shù)小于 MI N=1 負數(shù) PL N=0 正數(shù)或零 VS V=1 溢出 VC V=0 沒有溢出 HI C=1,Z=0 無符號數(shù)大于 LS C=0,Z=1 無符號數(shù)小于或等于 GE N=V 有符號數(shù)大于或等于 LT N!=V
21、有符號數(shù)小于 GT Z=0,N=V 有符號數(shù)大于 LE Z=1,N!=V 有符號數(shù)小于或等于 AL 任何 無條件執(zhí)行 (指令默認條件) NV 任何 從不執(zhí)行(不要使用) 程序片斷1: CMP R0, R1 ADDHI R0 , R0 , #1 ADDLS R1 , R1 , #1 程序片斷2: CMP R0 , #10 CMPNE R1 , #20 ADDNE R0 , R0 , R1 答:if(R0>R1) if(R0!=10) R0++; if(R1!=20) else
22、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的值,在返回時為保證正確性應返回到PC-4即中斷前“正在譯碼”的指令地址。所以返回指令為:subs pc,R14-irq,#4; 四、 LPC2000系列ARM硬件資源原理與使用 1、 LPC2000系列器件有幾種常見的封裝形式和其封裝特點? 答:常見的封裝有64腳封裝,144腳封裝
23、 特點:功耗低,有多個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或76~112個GPIO(64腳和144腳封裝)。 2、 簡要說明一下LPC2000系列器件片內(nèi)存儲器的特點? 答:片內(nèi)存儲器分為片內(nèi)Flash和片內(nèi)靜態(tài)RAM。片內(nèi)Flash通過128位寬度的總線 與ARM內(nèi)核相連,具有很高的速度,特有的存儲器加速功能,可以將程序直接放 在Flash上運行。SRAM支持8位、16位和32位的讀寫訪問。 3、 在LPC200
24、0系列ARM芯片中,內(nèi)Flash有哪幾種寫入方式? 答:(1)使用JTAG仿真/調(diào)試器,通過芯片的JTAG借口下載程序。 (2)使用在系統(tǒng)編程技術(shù),通過UART0接口下載程序。 (3)使用在應用編程技術(shù),在用戶程序運行時對Flash進行擦出和/或編程操作, 實現(xiàn)數(shù)據(jù)的存儲和固件的現(xiàn)場升級。 4、 ARM寄存器PC、CPSR、SPSR分別有什么用? 答:PC是CUP中的程序計數(shù)器,內(nèi)容總是指向正在“取指”指令的地址。 CPSR是當前程序狀態(tài)寄存器,用來監(jiān)視和控制內(nèi)部操作的。 SPSR是物理狀態(tài)寄存,用于保存CPSR的當前值,從異常退出時則由它來恢
25、復 CPSR。 5、 什么是ARM處理器的異常?ARM處理器是如何處理異常的? 答:異常:在執(zhí)行正常程序過程中,當發(fā)生某種異常事件或某種外部請求時,處理 器就暫停執(zhí)行當前的程序,進入異常模式。 如何處理異常: 1) 保存執(zhí)行狀態(tài):將CPSR復制到發(fā)生的異常模式下的SPSR中。 2) 模式切換:將CPSR模式位強制設置為與異常類型相對應的值,同時處理器進 入到ARM執(zhí)行模式,禁止所有IRQ中斷,當進入FIQ快速中斷模式時禁止FIQ中 斷。 3) 保存返回地址:將下一條指令的地址(被打斷程序)保存在LR(異常模式下 LR_excep)中。 4) 跳入異常向量表:強
26、制設置PC的值為相應異常向量地址,跳轉(zhuǎn)到異常處理程 序中。 6、 什么是ARM體系結(jié)構(gòu)中的異常向量表?在應用中有何作用? 答:處理器規(guī)定了異常處理程序入口的地址區(qū)間,并規(guī)定了地址的存放順序,一 般稱為異常向量表。 在異常處理過程中,可以加快異常服務的響應速度。 7、 在ARM體系結(jié)構(gòu)中,異常向量表中存放的是什么內(nèi)容? 答:異常處理程序的程序入口地址。 8、 在ARM體系結(jié)構(gòu)中,異常向量表中0x0014(保留字)單元存放的是什么內(nèi)容?有何用途? 答:保留的異常入口,早期的ARM結(jié)構(gòu)中會被用到,而在ARM7中是保留的,以 確保軟件能與不同的ARM結(jié)構(gòu)兼容。而在有些
27、處理器芯片中,這4個字節(jié)已經(jīng)有 了非常特殊的用特。 9、 什么是ISP技術(shù)?IAP技術(shù)?在實際應用中有何實際意義? 答:ISP:在系統(tǒng)可編程指電路板上的空白器件可以編程寫入最終用戶代碼而不需要 從電路板上取下器件已經(jīng)編程的器件也可以用ISP方式擦除或再編程。 IAP:是指在應用編程,即在程序運行中編程,就是片子提供一系列的機制(硬件/軟 件上的)當片子在運行程序的時候可以提供一種改變flash數(shù)據(jù)的方法。 10、 LPC2000系列器件中,許多芯片的引腳具有多種功能,應用中如何使用其特定的功能? 答:設置寄存器PINSEL0、PINSEL1、PINSEL2為特定功能的值
28、。 11、 簡述LPC2000系列芯片的引腳設置寄存器PINSEL0、PINSEL1、PINSEL2的具體功能? 答:PINSEL0控制引腳P0.0~P0.15的連接狀態(tài),每兩位控制一個引腳。 PINSEL1控制引腳P0.16~P0.31的連接狀態(tài),每兩位控制一個引腳。 PINSEL2控制P1端口和P2端口。 12、 簡述LPC2000系列芯片內(nèi)部GPIO的功能特點? 答:(1)可以獨立控制每個GPIO口的方向; (2)可以獨立設置每個GPIO的輸出狀態(tài); (3)所有GPIO口在復位后默認位輸入狀態(tài)。 13、 結(jié)合GPIO 結(jié)構(gòu)原理圖,簡述
29、GPIO的工作方式設置內(nèi)容。 芯片引腳 答:芯片某個管腳首先經(jīng)過unix功能選擇,對應PINSELx寄存器選擇其功能,如 果選擇GPIO功能,在經(jīng)過MUX2中IOxDIR寄存器對應位選擇,控制管腳輸入輸 出方向,GPIO管腳輸入時通過IOxPIN寄存器讀入,輸出時通過IOxSET或IOxCLR 寄存器控制輸出實現(xiàn)對應GPIO管腳的控制。 14、 設計編程:LPC2131的P0.7引腳連接了一個蜂鳴器,編程發(fā)出等周期的滴滴聲。 答: #define Void DelayNS(int m) { int i; for(;m>0;m--) for(i = 0;i
30、<50000;i++) } main() { PINSEL0 = 0x00000000; IO0DIR = 1 << 7; while (1) { IO0SET = 1 << 7; DelayNS(50); IO0CLR = 1 << 7; DelayNS(50); } } 15、 設計編程:LPC2131的P0[1:0] 兩引腳分別連接了2個按鍵K1和K4;P0[7:6] 兩引腳分別連接了2個指示燈LED1和LED2;請編制驅(qū)動程序,使Kx 按鍵時,LEDx 燈亮。 答: #define k1 1<<0 #define k2
31、1<<1 #define LED1 1<<7 #define LED2 1<<8 main() { PINSEL0=0x00000000; IO0DIR=IO0DIR & (~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=L
32、ED2; else IO0SET=LED2; } } 16、 名詞解釋:中斷、中斷源、中斷優(yōu)先級、中斷屏蔽、中斷向量、中斷響應、中斷控制。 答:中斷:CPU在執(zhí)行一個程序時,對系統(tǒng)發(fā)生的某個事件(程序自身或外界的原 因)作出的一種反應:CPU暫停正在執(zhí)行的程序,保留現(xiàn)場后自動轉(zhuǎn)去處理相應的 事件,處理完該事件后,到適當?shù)臅r候返回斷點,繼續(xù)完成被打斷的程序。 中斷源:把引起中斷的原因,或者能夠發(fā)出中斷請求信號的來源統(tǒng)稱為中斷源。 中斷優(yōu)先級:為使系統(tǒng)能及時響應并處理發(fā)生的所有中斷,系統(tǒng)根據(jù)引起中斷事件 的重要性和緊迫程度,硬件將中斷源分為若干個級別,稱作中斷優(yōu)先級。
33、 中斷屏蔽: 中斷向量:中斷服務程序的入口地址。 中斷響應:中斷響應是當中央處理機發(fā)現(xiàn)已有中斷請求時,中止,保存現(xiàn)行程序執(zhí) 行,并自動引出中斷處理程序的過程。 中斷控制:CPU能否暫停正在執(zhí)行的中斷服務程序,而轉(zhuǎn)去執(zhí)行為另一個中斷源而 編寫的中斷服務程序,如果另一個中斷源的優(yōu)先級高,CPU就暫停正在執(zhí)行中斷服 務程序而轉(zhuǎn)去執(zhí)行為另一個中斷源而編寫的中斷服務程序,否則,另一個中斷源就 不能打斷正在執(zhí)行的中斷服務程序。 17、 結(jié)合ARM VIC 結(jié)構(gòu)原理圖,簡述ARM體系結(jié)構(gòu)中的中斷控制原理。 1) 向量中斷控制器(VIC)的功能特點? 2) 中斷信號的來源?中斷信號的標
34、示? 3) 中斷信號如何屏蔽?如何清除? 4) ARM核從何處獲得中斷向量? 5) 如何將中斷源指派為IRQ、FIQ? 6) 向量IRQ的設置方法? 答:(1)最多32個中斷請求輸入;16個向量IRQ中斷;16個優(yōu)先級,可動態(tài)分配優(yōu)先級; 可產(chǎn)生軟件中斷;當I=1時,禁止IRQ中斷,反之使能之;當F=1時,禁止FIQ中斷,反之使能之。 (2) 答: 18、 ARM 芯片中定時器結(jié)構(gòu)原理如下圖,試設計一個周期為2秒的方波發(fā)生器。(假設該系統(tǒng)的外圍設備時鐘頻率Fpclk = 10MHz) 答:int mian{ PINSEL0=PINSEL0 & (1(3<<
35、10)) | (2<<10); T0CTCR=0x00; T0TC=0; T0PR=99; T0MCR=0x02<<3; T0MR1=Fpclk/100; T0EMR | =0xc2; T0TCR=0x01; While(1); } 19、 使用學過的知識設計設計一個汽車用“車速表”,寫出你的設計方案并編程實現(xiàn)。 提示:可用霍爾元件將車輪的轉(zhuǎn)動轉(zhuǎn)換為脈沖。車輪每轉(zhuǎn)動一圈會產(chǎn)生一個方波脈沖。 答: 轉(zhuǎn)動脈沖: void __irq IRQ_Timer0 (void) { if ((IO0SET & BEEP) == 0) IO0S
36、ET = BEEP; /* 關(guān)閉BEEP */ else IO0CLR = BEEP; T0IR = 0x01; /* 清除中斷標志*/ VICVectAddr = 0x00; /* 通知VIC中斷處理結(jié)束 */ } int main (void) { int spped=1; PINSEL1 = 0x00000000; /* 設置管腳連接GPIO */ IO0DIR = BEEP; /* 設置BEEP控制口輸出*/ IRQEnable(); /* IRQ中斷使能*/ /* 定時器0初始化 */ T0TC = 0; /* 定時器設置為0*/ T0PR =
37、0; /* 時鐘不分頻*/ T0MCR = 0x03; /* 設置T0MR0匹配后復位T0TC,并產(chǎn)生中斷標志*/ T0MR0 = Fpclk / spped; /* 0.5秒鐘定時*/ T0TCR = 0x01; /* 啟動定時器*/ /* 設置定時器0中斷IRQ */ VICIntSelect = 0x00; /* 所有中斷通道設置為IRQ中斷*/ VICVectCntl0 = 0x20 | 0x04; /* 設置定時器0中斷通道分配最高優(yōu)先級*/ VICVectAddr0 = (uint32)IRQ_Timer0; /* 設置中斷服務程序地址*/ VICIntE
38、nable = 1 << 0x04; /* 使能定時器0中斷*/ while (1){ if ((IO0PIN & KEY1) == 0) { spped=10; T0MR0 = Fpclk / spped; /* 0.5秒鐘定時*/ T0TC = 0; /* 定時器設置為0*/ } else if ((IO0PIN & KEY2) == 0) { spped=20; T0MR0 = Fpclk / spped; /* 0.5秒鐘定時*/ T0TC = 0; /* 定時器設置為0*/ } else if ((IO0PIN & KEY3) == 0) { s
39、pped=30; T0MR0 = Fpclk / spped; /* 0.5秒鐘定時*/ T0TC = 0; /* 定時器設置為0*/ } else if ((IO0PIN & KEY4) == 0) { spped=40; T0MR0 = Fpclk / spped; /* 0.5秒鐘定時*/ T0TC = 0; /* 定時器設置為0*/ } }; return 0; } 汽車車速: int main (void) { int Vx; PINSEL0 = (PINSEL0&(~(3<<20)))|(2<20); PINSEL0 = P
40、INSEL0&(0<<24); T0CTCR &= 0xf0; T0TC = 0; T0PR = 99; T0MCR = 0x03; T0MR0 = Fpclk/300; T1CTCR = (T1CTCR&(~0x0f)|0xf1); T1TC =0; T1MCR = 0x00; T1CCR &= ~0x07; T0TCR = 0x01; T1TCR = 0x01; while (1) { if ((T0IR&0x01) == 1) { T0IR = 0x01; Vx = T1TC; T1TC = 0; VtotalLen += Vx; VthisLen += Vx; Vspeed = (Vx*L*3.6)/HrN; } if ((IO0PIN & KClr) == 0) VthisLen = 0; } return 0; } 單純的課本內(nèi)容,并不能滿足學生的需要,通過補充,達到內(nèi)容的完善 教育之通病是教用腦的人不用手,不教用手的人用腦,所以一無所能。教育革命的對策是手腦聯(lián)盟,結(jié)果是手與腦的力量都可以大到不可思議。 ..
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024《增值稅法》全文學習解讀(規(guī)范增值稅的征收和繳納保護納稅人的合法權(quán)益)
- 2024《文物保護法》全文解讀學習(加強對文物的保護促進科學研究工作)
- 銷售技巧培訓課件:接近客戶的套路總結(jié)
- 20種成交的銷售話術(shù)和技巧
- 銷售技巧:接近客戶的8種套路
- 銷售套路總結(jié)
- 房產(chǎn)銷售中的常見問題及解決方法
- 銷售技巧:值得默念的成交話術(shù)
- 銷售資料:讓人舒服的35種說話方式
- 汽車銷售績效管理規(guī)范
- 銷售技巧培訓課件:絕對成交的銷售話術(shù)
- 頂尖銷售技巧總結(jié)
- 銷售技巧:電話營銷十大定律
- 銷售逼單最好的二十三種技巧
- 銷售最常遇到的10大麻煩