




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
..嵌入式系統開發習題11.什么是嵌入式系統?有何特點?答:嵌入式系統的概念有很多種,在嵌入式系統領域中比較認同的嵌入式系統的概念是:嵌入式系統是以應用為中心,以計算機技術為基礎,并且軟硬件可裁剪,適用于應用系統對功能、可靠性、成本、體積、功耗有嚴格要求的專用計算機系統。嵌入式系統的特點:=1\*GB2⑴嵌入式系統是將先進的計算機技術、半導體技術以及電子技術與各個行業的具體應用相結合的產物,這一點就決定了它必然是一個技術密集、資金密集、高度分散、不斷創新的知識集成系統。=2\*GB2⑵系統內核小。由于嵌入式系統一般是應用于小型電子裝置中,系統資源相對有限,所以內核較之傳統的操作系統要小得多。=3\*GB2⑶專用性強。=4\*GB2⑷系統精簡。=5\*GB2⑸系統軟件〔OS要求具有高實時性。=6\*GB2⑹嵌入式軟件開發要走向標準化,需要使用多任務的操作系統。=7\*GB2⑺嵌入式系統本身并不具備在其上進行進一步開發的能力。2.嵌入式系統可以分為幾層?每一層各完成哪些功能?答:嵌入式系統由硬件層、中間層、軟件層和功能層組成。硬件層:以嵌入式微處理器為核心,存儲器用以存儲數據和執行代碼,相關的設備接口和I/O接口,這些組成了一個嵌入式系統的基礎,實現邏輯運算,算術運算等。中間層:將系統上層軟件和底層硬件進行分離,封裝成標準的接口,在上層軟件開發人員無需知道底層硬件的具體情況,完成的任務是底層硬件的初始化、數據的輸入/輸出操作、硬件的配置等功能。軟件層:主要由RTOS、文件系統、圖形用戶接口、網絡系統和通用的組件模塊組成,是軟件開發的基礎。功能層:用來完成被控對象的控制功能。3.嵌入式系統中硬件抽象層有什么特點?答:硬件抽象層是介于硬件層與軟件層之間的中間層,它將系統上層軟件與底層硬件分離開來,具有以下兩個特點:=1\*GB2⑴硬件相關性:因為嵌入式實時系統的硬件環境具有應用相關性,而作為上層軟件與硬件平臺之間的接口,硬件抽象層需要為操作系統提供操作和控制具體硬件的方法。=2\*GB2⑵操作系統相關性:不同的操作系統具有各自的軟件層次結構,因此,不同的操作系統具有特定的硬件接口形式。4.簡述嵌入式處理器的硬件組成?答:隨著集成電路集成度的不斷提高,嵌入式系統板級的硬件電路模塊也越來越多的集成到芯片內部,目前處理器芯片內部的電路模塊組成如下:=1\*GB2⑴處理器內核,以CPU為核心,有的還包含MMU〔存儲器管理單元、Cache〔高速緩存、ICE〔在線仿真等電路模塊。=2\*GB2⑵DSP/協處理器,對于多媒體處理的處理器,內部一般有DSP〔數字信號處理、浮點運算、圖像加速等協處理器。=3\*GB2⑶RAM/ROM,在單片機處理器中,處理器芯片內部一般集成了ROM〔只讀存儲器和RAM〔可讀可寫存儲器。=4\*GB2⑷處理器內部控制電路,如PLL〔鎖相環、復位、DMA〔直接存儲器存取、中斷控制器、低功耗控制、看門狗等電路。=5\*GB2⑸芯片內部接口電路,如GPIO〔通用輸入、輸出接口、I2C〔雙向兩線制的串行總線接口、IIS〔音頻總線接口、SPI〔串行外設接口、USB〔通用串行總線接口、LCD〔液晶顯示接口、ADC/DAC〔模數/數模轉換、UART〔通用異步收發器、IrDA〔紅外接口、CAN〔控制器局域網絡總線接口、以太網接口、Timer/RTC〔定時器/計數器接口等電路模塊。5.嵌入式處理器分那幾類?它們有何特點?答:=1\*GB2⑴嵌入式微處理器。特點:處理能力強,具有較高的性能,價格也相應較高。=2\*GB2⑵嵌入式微控制器。特點:主要用于嵌入式體統工業的主流,跟嵌入式微處理器相比,微控制器的最大特點是單片化,體積大大減小,從而使功耗和成本下降,可靠性提高。并且價格低廉,功能優良,擁有的品種和數量最多。=3\*GB2⑶嵌入式DSP處理器。特點:DSP處理器是專門用于信號處理方面的處理器,在系統結構和指令算法方面進行了特殊設計,具有很高的編譯效率和指令的執行速度。=4\*GB2⑷SoC片上系統。特點:=1\*GB3①實現了軟硬件無縫結合,直接在處理器片內嵌入操作系統的代碼模塊=2\*GB3②具有極高的綜合性,在一個硅片內部運用VHDL等硬件描述語言,實現一個復雜的系統=3\*GB3③絕大部分系統構件在系統內部,系統簡潔,減少了系統的體積和功耗,提高了系統的可靠性跟設計生產效率。6.分析目前市場上常用的幾種嵌入式處理器,說明不同嵌入式處理器的各自特點?答:目前市場上常用的嵌入式處理器有MCS51單片機,ARM處理器,MIPS處理器,PowerPC處理器,MC68000處理器,X86處理器等。MCS51的特點是,8位CPU,片內振蕩器,4KBROM ,128KBRAM,21個特殊功能寄存器,32根I/O總線,片外可尋找范圍分別為64KB的外部程序和數據,兩個16位的定時/計數器,一個全雙工串口接口,中斷結構分為兩級優先級,5個中斷源,適于按位邏輯運算的處理器。ARM處理器的特點是,體積小,功耗低,成本低,高性能,支持16/32位雙指令集,在全球有眾多合作伙伴。MIPS處理器的特點是,高性能,高檔次的處理器,有32位和64位的處理器,簡化硬件設計,強調軟硬件協同提高性能。PowerPC處理器特點,具有優異的性能,低能量消耗,低散熱量。MC68000處理器,是一個16/32位的CISC處理器,采用32位總線和寄存器,這個結構對之后的32為產品保持兼容。X86處理器的特點,可變指令長度的CISC處理器,允許不對齊訪問存儲器。7.舉例說明嵌入式處理器的性能指標?并分析對嵌入式系統的影響?答:性能指標主要有主頻,處理器字長,數據通路速度,運算速度,高速緩存和處理器的系統架構。主頻,執行每條指令的時鐘周期數一定,主頻越高單位時間內執行的指令越多。處理器字長,處理器內部數據運算的基本位數,反映的是計算精度,以及單次處理數據的總長度;數據通路速度,讀取指令數據傳輸計算數據的速度越高,處理器性能越好。運算速度,用MIPS〔每秒執行多少百萬條指令表示,MIPS越大,說明運算速度越快;高速緩存,突破主存訪問速度的瓶頸,提高處理器的綜合性能。8.簡述你對嵌入式操作系統的認識,分析嵌入式操作系統有哪些特點?答:嵌入式操作系統EOS是一種支持嵌入式系統應用的操作系統軟件,它是嵌入式系統〔包括軟硬件系統極為重要的組成部分,通常包括與硬件相關的底層驅動軟件、系統內核、設備驅動接口、通信協議、圖形界面、標準化瀏覽器等。EOS是相對于一般操作系統而言的,它除具備了一般操作系統最基本的功能,如任務調度、同步機制、中斷處理、文件功能等之外,還有以下特點:=1\*GB2⑴可裝卸性,開放性、可伸縮性的體系結構。=2\*GB2⑵強實時性,EOS實時性一般較強,可用于各種控制系統中。=3\*GB2⑶統一的接口,提供各種設備驅動接口。=4\*GB2⑷操作方便、簡單,提供友好的圖形GUI,追求易學易用。=5\*GB2⑸提供強大的網絡功能,支持TCP/IP協議及其他協議,提供TCP/UDP/IP/PPP協議支持及統一的MAC訪問層接口,為各種移動計算設備預留接口。=6\*GB2⑹強穩定性,弱交互性。=7\*GB2⑺固化代碼。=8\*GB2⑻更好地硬件適應性,也就是良好的移植性。9.試分析實時操作系統中可搶占型和不可搶占型有何區別?并舉例說明。答:實時操作系統可分為可搶占型和不可搶占型兩類。對于基于優先級的系統而言,可搶占型的實時操作系統是指內核可以搶占正在運行任務的CPU使用權并將使用權交給進入就緒態的優先級更高的任務,是內核搶了CPU讓別的任務運行。不可搶占型實時操作系統使用某種算法以決定讓某個任務運行后,就把CPU的控制權完全交給該任務,直到它主動將CPU控制權還回來。比如嵌入式操作系統uC/OS,可以根據優先級進行搶占使用CPU,優先級高的任務可以比優先級低的任務優先使用CPU。10.簡述嵌入式系統的開發過程?答:嵌入式系統的開發過程可以分為需求分析、建立開發環境、體系結構設計、軟件/硬件設計、系統集成和系統優化與測試6個階段。如果設計的流程是從需求分析開始,然后是建立開發環境,依次進行,最后是系統優化與測試,那么就叫做自上而下的設計流程;反之就叫做自下而上的設計流程。所有的嵌入式系統設計不可避免的設計這六個階段,更重要的是找到一個好的設計方法,目前一種比較好的設計方法是采用計算機輔助設計工具。11.簡述在線仿真器ICE和在線調試器ICD有何區別?答:在線仿真器ICE是一種模擬CPU的設備,能執行CPU的全部動作。采用該方式調試時,利用仿真頭代替目標板上的CPU,可以完全仿真CPU的行為。在線調試器ICD是將CPU的調試功能的引腳引出來,讓外部的硬件直接連接到這些引腳上去監控整個CPU的動作。12.試分析嵌入式系統測試中的純軟件測試過程,舉例說明實現方法。答:純軟件測試過程是指用工具采用軟件打點技術,在被測試代碼中加入一些函數,這些函數用來完成數據的生成,并將數據送往目標機系統的共享內存中,同時,在目標機系統中運行一個與處理任務,用于完成這些數據的預處理,然后將處理過的數據通過目標機的串口,網口或者USB口送往宿主機測試平臺。舉例,可以在程序中間插入函數,讀出當前所有寄存器內容,發送至目標機系統,測試者可以根據這些數據了解系統執行情況。習題2按照ARM處理器的命名規則,說明ARM7TDMI中T、D、M、I的含義。答:T:支持16位的Thumb指令集;D:支持JTAG片上調試;M:支持長乘法操作〔64位結果的ARM指令,包含快速乘法器;I:帶有嵌入式追蹤宏單元ETM〔EmbeddedTraceMacro,用來設置斷點和觀察點。什么是哈佛結構?與普林斯頓結構有何區別?答:哈佛結構是一種將程序中指令和數據分開存儲的存儲器結構。即哈佛結構中程序存儲器和數據存儲器是兩個獨立的存儲器,每個存儲器獨立編址、獨立訪問。普林斯頓結構〔馮·諾伊曼結構是一種將程序指令存儲器和數據存儲器合并在一起的存儲器結構。程序指令存儲地址和數據存儲地址指向同一個存儲器的不同物理位置。這便是。這便是兩種結構的區別。什么是RSIC?什么是CSIC?簡述他們的特點與差別。答:RSIC是精簡指令集計算機,CISC是復雜指令集計算機。兩者的區別在于不同的CPU設計理念和方法。對于CISC:=1\*GB2⑴在CSIC結構的指令系統中,各種指令的使用頻率相差懸殊。有80%的指令只在20%的運行時間內才會用到。=2\*GB2⑵CISC結構指令系統的復雜性帶來了計算機體系結構的復雜性,這不僅增加了研制時間和成本,而且還容易造成設計錯誤。=3\*GB2⑶在CISC結構指令系統中,由于各條指令的功能不均衡性,不利于采用先進的計算機體系結構技術來提高系統的性能。對于RISC:=1\*GB2⑴簡化指令集,只保留常用的基本指令;=2\*GB2⑵設計大量的通用存儲器,減少訪存的次數;=3\*GB2⑶采用裝載/保存結構,支持流水線技術,使每個周期時間相等;=4\*GB2⑷采用簡單的指令格式、規整的指令字長和簡單的尋址方式;=5\*GB2⑸單機器周期指令,即大多數的指令都可以在一個機器周期內完成,并且允許處理器在同一時間內執行一系列的指令。ARM7處理器是幾級流水線?在ARM7處理器中,"PC指向的是下一條要執行的指令",這句話對嗎?為什么?答:ARM7處理器采用三級流水線。"PC指向的是下一條要執行的指令",這句話不對。在ARM處理器中將PC程序計數器定義到R15寄存器,無論處理器處于何種狀態,PC總是指向"正在取值"指令的地址,一般來說,人們習慣性的約定將"正在執行的指令作為參考點",成為當前第一條指令,那么PC總是指向隨后的第三條指令,或者說PC總是指向當前正在執行的指令地址再加上2條指令的地址,即指向正在執行指令的下下一條指令,而不是指向下一條要執行的指令。簡述ARM處理器中在線仿真器模塊EmbeddedICE-RT的作用。答:ARM處理器中的在線仿真器模塊EmbeddedICE-RT,一般還帶有嵌入式宏跟蹤單元模塊ETM,實現ARM處理器的在線調試和運行過程的跟蹤功能;并且具有諸多ICE功能,例如實時尋址、斷點、單步、對ARMCPU的完全控制、對ASIC系統其余部分的訪問,以及對主機顯示器外設訪問、鍵盤輸入和磁盤存儲。ARM處理器的工作狀態分為哪二種?ARM處理器又是怎么定義和標志的?答:ARM處理器的工作狀態分為ARM狀態和Thumb狀態,這兩種狀態有程序狀態字CPSR中T標志位確定,為0時處理器工作在ARM狀態,為1時處理器工作在Thumb狀態。ARM7TDMI支持哪幾種指令集,各有什么特點?答:ARM7TDMI處理器內核包含2套指令系統,分別為ARM指令集和Thumb指令集,兩種指令集的特點是:ARM指令集:處理器執行32位字對齊方式的ARM指令,每條ARM指令長度為32位,指令的功能強大。Thumb指令集:處理器執行16位字對齊方式的Thumb指令,每條Thumb指令長度為16位,是ARM指令功能的子集。ARM7處理器有哪些工作模式?如何實現不同模式之間的切換?舉例說明。答:ARM處理器供支持7種工作模式,分別為:用戶模式〔usr;快速中斷模式〔fiq;外部中斷模式〔irq;管理模式〔svc;數據訪問終止模式〔abt;系統模式〔sys;未定義指令中止模式〔und。在7中模式中,除用戶模式外,其他的6種模式稱為特權模式,特權模式可以自由的切換處理器模式,而用戶模式不能直接切換到別的模式。特權模式下通過修改當前程序狀態寄存器CPSR中控制位M[4:0]的值,來改變處理器的運行模式。例如MSRCPSR_c,#〔NoInt|SVC32Mode//從系統模式切換到管理模式MSRCPSR_c,#〔NoInt|SYS32Mode//從管理模式切換到系統模式描述ARM7處理器的內部寄存器結構,并分別說明快速中斷FIQ有何特點?答:ARM7微處理器共有37個32位寄存器,其中31個為通用寄存器,6個為狀態寄存器。37個寄存器定義如下:=1\*GB2⑴31個通用寄存器:R0~R15、R8_fiq、R9_fiq、R10_fiq、R11_fiq、R12_fiq、R13_fiq、R14_fiq、R13_svc、R14_svc、R13_abt、R14_abt、R13_und、R14_und、R13_irq、R14_irq。=2\*GB2⑵6個狀態寄存器:CPSR、SPSR_abt、SPSR_svc、SPSR_irq、SPSR_fiq、SPSR_und。快速中斷FIQ,適用于對一個突發事件的快速響應,在ARM狀態中,快中斷有8個專用的寄存器,可以縮短狀態切換時需要的時間。當CPSR中相應的F位清零,快速中斷被使能。什么是中斷延時?在實時系統中如何計算中斷延時時間?答:中斷延時是系統響應一個中斷所需要的時間,即從外部中斷請求信號發出到執行對應的中斷服務程序ISR的第1條指令所需要的時間。FIQ的中斷延時計算,當FIQ使能時,最壞的延時包括:Tsyncmax:請求通過同步器的最長時間,為兩個處理器周期。Tldm:最長執行時間,最長為20個周期。Texc:數據中止異常進入時間,為三個周期。Tfiq:FIQ進入時間,為兩個周期總的延時可為27個周期。在內存的數據存儲過程中,什么是"字對齊"和"半字對齊"?答:在內存數據存儲過程中,一般分為小端存儲格式和大端存儲格式。下面以小端存儲格式為例來說明字對齊和半字對齊:在小端存儲格式中,對于地址為A的字單元,其中字節的低位字節到高位字節地址順序為A,A+1,A+2,A+3;對于地址為A的半字單元,其中字節的低位字節到高位字節地址順序為A,A+1。簡述程序計數器〔PC在處理器工作中的作用。答:在ARM處理器中將PC程序計數器定義到R15寄存器,無論處理器處于何種狀態,PC總是指向"正在取值"指令的地址。簡述ARM處理器中的返回鏈接寄存器〔LR在處理器工作中的作用。答:鏈接寄存器LR用于保存子程序返回地址或者異常處理程序的返回地址,LR寄存器一共有6個,其中子程序的返回地址使用一個R14,每種異常模式各自有一個專用的LR寄存器用于保存異常處理程序的返回地址,它們分別為R14_fiq、R14_svc、R14_abt、R14_und、R14_irq。分別簡述ARM處理器中的CPSR、SPSR在處理器工作中的作用。答:ARM內核包含1個CPSR和5個僅供異常處理模式使用的SPSR。由于所有模式全部共享一個程序狀態寄存器CPSR,因此處理器所有的狀態全部都保存在CPSR中,也就是ARM內核是通過CPSR來監視和控制內部操作的。每種異常模式都有一個對應的程序狀態保存寄存器SPSR,用于保存任務在異常發生之前的CPSR狀態的當前值。結合CPSR的結構,說明程序狀態字中各個bit位的作用。答:=1\*GB2⑴條件代碼標志〔共計4bit含義如下:N:運算結果的最高位反映在該標志位。對于有符號二進制補碼,結果為負數時N=1,結果為正數或零時N=0;Z:指令結果為0時Z=1〔通常表示比較結果"相等",否則Z=0;C:當進行加法運算,最高位產生進位時C=1,否則C=0。當進行減法運算<包括CMP指令>,最高位產生借位時C=0,否則C=1。V:當進行加法/減法運算,并且發生有符號溢出時V=1,否則V=0,其它指令V不變。=2\*GB2⑵CPSR的最低8位為控制位,控制了處理器的工作方式。當發生異常時,這些位被硬件改變。當處理器處于一個特權模式時,可用軟件操作這些位。它們分別是:中斷禁止位包括I和F位:當I位置位時,IRQ中斷被禁止;當F位置位時,FIQ中斷被禁止。T位反映了處理器的當前狀態:當位T=1時,處理器正在Thumb狀態下運行;當位T=0時,處理器正在ARM狀態下運行。模式位包括M[4:0]共計5bit,這些位決定處理器的操作模式簡述ARM7TDMI內部有哪些寄存器及特點。答:ARM7微處理器共有37個32位寄存器,其中31個為通用寄存器,6個為狀態寄存器。37個寄存器定義如下:=1\*GB2⑴31個通用寄存器:R0~R15、R8_fiq、R9_fiq、R10_fiq、R11_fiq、R12_fiq、R13_fiq、R14_fiq、R13_svc、R14_svc、R13_abt、R14_abt、R13_und、R14_und、R13_irq、R14_irq。=2\*GB2⑵6個狀態寄存器:CPSR、SPSR_abt、SPSR_svc、SPSR_irq、SPSR_fiq、SPSR_und。特點:在ARM狀態中,R0~R7是通用寄存器,是不分組寄存器;R8~R14,SPSR根據模式進行分組的寄存器;R15是程序計數器,不進行分組;CPSR是狀態寄存器,不進行分組。什么是ARM處理器的異常?ARM處理器中有哪幾種異常?答:在ARM中,異常是一些事件,這些事件能導致正常的程序執行流程被暫時地停止,而進入到該事件對應的處理器異常模式并對該事件進行處理。ARM中定義了復位、未定義指令、SWI〔軟中斷、預取指終止、預取數終止、irq以及fiq等7種異常,與之對應地ARM7處理器有5種異常模式。分別簡述ARM7的IRQ、FIQ異常處理過程,說明其異常向量地址。答:IRQ異常的處理流程如下:=1\*GB2⑴進入IRQ異常模式。程序運行在用戶模式下,當一個IRQ異常中斷發生時,內核切換到"中斷模式",并自動的做如下處理。=1\*GB3①將異常處理程序的返回地址保存到異常模式下的R14<R14_irq>中。=2\*GB3②用戶模式的CPSR將被保存到中斷異常模式SPSR_irq中。=3\*GB3③修改CPSR,將I置1,禁止新的IRQ中斷產生,但不改變F值,不限制FIQ中斷發生,清零T標志位,進入ARM狀態,修改模式位,設置為IRQ模式。=4\*GB3④將IRQ異常中斷入口向量地址0x00000018送入PC。=5\*GB3⑤在IRQ模式下,用戶模式的R13和R14將不能操作,而R13_irq和R14_irq可以操作,即R13_irq保存IRQ模式下的地址指針,R14_irq保存了"IRQ中斷返回地址+4"。=2\*GB2⑵退出IRQ異常模式。中斷服務程序執行完畢后,使用一條指令將返回地址送入PC,即可實現IRQ中斷返回,在返回過程中處理器會自動將SPSR_irq中的內容復制到CPSR,恢復中斷前的處理器狀態。FIQ異常進入與退出的流程與IRQ類似,其異常入口地址是0x0000001C。ARM7處理器對哪些異常可以進行屏蔽?如何屏蔽或允許?答:FIQ和IRQ可以被屏蔽。將CPSR的標志位I和F分別置位對應著IRQ和FIQ中斷被禁止,清零這些位又可以將其使能。說明CPSR中T位的作用,ARM7處理器如何切換狀態?答:CPSR中T標志位為0時處理器工作在ARM狀態,為1時處理器工作在Thumb狀態。由于ARM采用字對齊或者半字對齊的存儲模式,這意味著地址的最低一個比特位就不會在尋址過程中使用到。故,使用地址的最低位進行區分,以何種模式取值和執行指令,當地址地位為1時,置CPSR的T位為1,反之,置位為0。大端存儲模式和小端存儲模式的含義是什么?畫出在0x2000單元中存儲0x87654321數據的大端存儲模式和小端存儲模式。答:大端存儲模式:在大端存儲格式中,對于地址為A的字單元,其中字節的低位字節到高位字節地址順序為A+3,A+2,A+1,A;對于地址為A的半字單元,其中字節的低位字節到高位字節地址順序為A+1,A。即數據的低字節存放在高地址中的順序進行存儲。小端存儲模式:在小端存儲格式中,對于地址為A的字單元,其中字節的低位字節到高位字節地址順序為A,A+1,A+2,A+3;對于地址為A的半字單元,其中字節的低位字節到高位字節地址順序為A,A+1。即數據的高字節存放在高地址中的順序進行存儲。0x210x430x650x870x210x430x650x870x210x430x650x870x20030x20000x20000x2003上圖中,左側為大端存儲模式,右側為小端存儲模式。習題3ARM7TDMI支持哪幾種指令集,各有什么特點?答:支持ARM指令集和Thumb指令集,各自特點是ARM指令集的指令是32位,執行效率高、功能全,每條指令可以根據條件執行,但是代碼密度低。Thumb指令集指令是16位,在功能上是ARM指令集的子集,功能并沒有降低。ARM指令的尋址方式有幾種?并指出下列指令中的尋址方式。答:ARM指令的尋址方式有8種,分別為立即尋址、寄存器尋址、寄存器移位尋址、寄存器間接尋址、基址變址尋址、相對尋址、多寄存器尋址、堆棧尋址。⑴SUBR0,R1,R2 寄存器尋址⑵LDRR0,[R2]寄存器間接尋址⑶MVNR0,#0x0F2 立即尋址 ⑷LDMIAR0,{R1-R5}多寄存器尋址⑸STRR2,[R4,#0x02]! 基址變址尋址⑹LDRR1,[R2,R3]基址變址尋址⑺MOVR1,R1,ROR#2 寄存器移位尋址 ⑻LDRR1,[R3],#0x04基址變址尋址簡述ARM指令集中第2個操作數〔operand2的三種形式。答:⑴常數表達方式。該常數必須對應8位位圖,即常數是由一個8位的常數循環右移偶數位得到。例如:MOVR2,#100; ⑵寄存器方式。Operand2是Rm寄存器方式,在寄存器方式下操作數即位寄存器中的數值。例如:SUBR0,R1,R2;⑶寄存器移位方式。Rm,shift表示將寄存器的移位結果作為操作數,但Rm值保持不變。例如:MOVR0,R1,RRX;將R1帶擴展的循環右移1位,存入R0中。指出下列指令是否正確,若不正確請說明原因。⑴MOVSR1,101 不正確,立即尋址方式應該是#101⑵MVNR1,#0x10F正確⑶STMDAR11,{R2-R8}!不正確,不能同時存儲在R2和R8中 ⑷ADDR0!,R2,#4正確⑸LDRR4,[R5]!不正確,LDR是存儲到單個寄存器的加載指令,而這個是兩個存儲器都進行存儲,應該為 LDRR4,[R5]⑹MRSPC,CPSR不正確MRS是將CPSR傳送到通用寄存器中,但這里的通用寄存器不包括R15,即PC⑺LDMFDSR0!,{R5-R8,R2}正確⑻ADDR3,[R3],R7不正確,ADD指令不能訪問存儲器<9>LDRR11,[R15,R8]!正確<10>BXSR0正確何謂ARM指令的條件碼?默認的條件碼是什么?舉例說明ARM指令的條件碼對指令執行的影響。答:所謂的ARM指令的"條件執行"是指在指令碼中含有本條指令的執行條件,當CPSR中的條件碼標志滿足時,處理器執行本條指令,否則本條指令不執行。默認是無條件執行。比如執行指令"ANDEQR2,R1,R3"時,如果CPSR中的Z=1時,執行R2=R1&R3,否則不執行該指令。解釋"滿堆棧"、"空堆棧"、"遞增堆棧"和"遞減堆棧"?ARM指令系統中是如何支持的?答:滿堆棧:堆棧指針SP指向最后壓入的堆棧有效數據項。空堆棧:堆棧指針SP指向下一個待壓入數據的空位置。遞增堆棧:向高地址方向生長。遞減堆棧:向低地址方向生長。=1\*GB2⑴滿遞增:堆棧向上增長,SP指向內含有效數據項的最高棧單元。指令如LDMFA、STMFA等;=2\*GB2⑵空遞增:堆棧向上增長,SP指向堆棧上的第一個空位置。指令如LDMEA、STMEA等;=3\*GB2⑶滿遞減:堆棧向下增長,SP指向內含有效數據項的最低棧單元。指令如LDMFD、STMFD等;=4\*GB2⑷空遞減:堆棧向下增長,SP指向堆棧下的第一個空位置。指令如LDMED、STMED等。試說明MOV指令、LDR加載指令和LDR偽指令三者的區別。答:MOV指令是在寄存器間進行數據傳送,影響標志位。LDR指令是將存儲器中的數據按給定地址加載到寄存器中,不影響標志位。LDR偽指令是可以在一個立即數前面加等號,把一個地址寫入某寄存器。解釋B指令、BL指令與BX指令的功能差別,并舉例說明其使用方法。答:B指令是分支指令,BL指令是帶鏈接的分支指令,BX是帶狀態切換的分支指令。對于B指令"BWAITA"指跳轉至標號WAITA處開始執行,B指令的跳轉范圍為±32M,對于BL指令,實現程序跳轉,并保持PC到鏈寄存器LR中,跳轉范圍±32M,舉例"BLDELAY"完成的跳轉至標號DELAY處執行,并把PC-4存入LR。BX指令,帶狀態切換的跳轉,比如"BXR0"表示跳轉R0指定的地址開始執行,并查看R0[0]位的值,如果是1,對CPSR的T位置位,解釋目標程序為Thumb指令,如果是0,對CPSR的T位清零,解釋目標程序為ARM指令。分析下列兩段程序片斷的功能,試用類C語言寫出其等價功能。程序片斷2:CMP R0,#10 程序片斷2:CMP R0,#10 CMPNER1,#20ADDNE R0,R0,R1〔2if<<R0!=10>&&<R1!=20>>RO=R0+R1;〔2if<<R0!=10>&&<R1!=20>>RO=R0+R1;if<R0>R1>R0++;elseR1++;使用ARM匯編指令的條件執行功能,試用匯編語言實現下列兩條C代碼語句。⑴ if<x==y> a=b+c;⑴ if<x==y> a=b+c;elsea=b–c;⑵ if<x==y>&&<a==b>c=c*2+b;〔2〔2LDRR0,xLDRR1,yLDRR2,aLDRR3,bLDRR4,cCMPR0,R1CMPEQR2,R3,MULEQR4,R4,#2ADDR4,R4,R3STRc,R4LDRR0,xLDRR1,yLDRR0,xLDRR1,yLDRR2,bLDRR3,cCMPR0,R1ADDEQR4,R2,R3SUBNER4,R2,R3STRa,R4下列代碼段是實現開IRQ中斷和關IRQ中斷功能,試補齊空白處內容。⑵ MRS⑵ MRSR1,CPSRORRR1,R1,#0x80MSRCPSR_c,R1⑴ MRSR0,CPSRBICR1,R0,0x80MSRCPSR_c,R1如果ARM處理器中各寄存器及存儲單元參數如下圖所示,試寫出執行下列指令后,各寄存器及存儲單元中內容變化情況。⑴STMIA R13!,{R0-R3} ⑵LDMDB R13, {R0-R3}<2>, R0←[R13],R1<2>, R0←[R13],R1←R1+4;R1←[R13],R1←R1+4;R2←[R13],R1←R1+4;R3←[R13],R1←R1+4;<1>, [R13]←R0[R13+4]←R1[R13+8]←R2[R13+12]←R3習題4什么是計算機語言?一般可以分為哪幾種?各自的優缺點?答:計算機語言是計算機可以識別、理解的語言。計算機語言分為三類:機器語言,匯編語言和高級語言。機器語言〔MachineLanguage是由0和1二進制代碼表示和存儲的指令與數據。它的特點是能被機器直接識別與執行;程序所占內存空間較少。其缺點是難認、難記、難編、易錯。匯編語言是一種面向物理層操作的計算機語言。不同的處理器類型,具有不同的匯編語言。使用匯編語言編寫程序能夠直接利用硬件系統的特性〔如寄存器、標志、中斷系統等,可直接對位、字節、字寄存器或存儲單元、I/O端口進行處理,同時也能直接使用CPU指令系統提供的各種尋址方式,編制出高質量的程序,這樣的程序不但占用內存空間少,而且執行速度快。缺點:由于匯編語言不直接支持復雜的抽象數據類型,在描述目標系統模型時,需要程序員自己組織各種抽象數據類型的存儲方式,使得匯編語言程序設計較高級語言困難的多,需要較多的軟件開發時間,也增加了程序設計過程中出錯的可能性,程序維護也麻煩。高級語言〔HighLevelLanguage是脫離具體機器〔即獨立于機器的通用語言,不依賴于特定計算機的結構與指令系統。與目標系統的數學模型之間有著良好的對應關系,可在各種機器上通用,具有很好的通用性和可移植性。缺點:處理器是不能直接執行這種用高級語言編寫的源程序,需要先將它翻譯成對應的目標程序〔即機器語言程序,才能運行。簡述ARM匯編語言上機操作過程。答:=1\*GB2⑴設計、編輯匯編語言源程序;=2\*GB2⑵匯編、連接、下載到目標系統;=3\*GB2⑶調試運行;簡述編寫一個匯編語言源程序的基本步驟。答:⑴分析目標系統,建立數學模型,確定算法⑵根據算法設計流程圖⑶合理分配寄存器,存儲空間和外設資源⑷根據流程圖編寫源程序⑸上機調試程序⑹形成文檔循環程序設計中,循環的基本結構有幾種?其循環控制方法有幾種?各自的應用特點?答:循環程序的基本結構:⑴初始化部分:建立循環初始值。⑵循環體:是循環程序的主體部分。⑶修改部分:為執行下一次循環而修改某些參數。⑷控制部分:通過判斷循環結束條件是否成立,決定是否繼續執行循環。⑸結束處理部分:對循環結束進行適當處理,如存儲結果和打印輸出等。循環程序設計中一個重要環節就是如何控制循環次數。循環控制方法:⑴用計數控制循環。特點:循環比較次數是已知的,因此可以用計數器控制循環。⑵用條件控制循環。有些情況無法確定循環次數,但循環結束的條件是已知的,這時可通過循環測試結束條件是否滿足的方法,條件滿足結束循環,否則繼續循環。匯編子程序傳遞參數有哪幾種方式?答:⑴寄存器傳遞參數方式⑵存儲區域傳遞參數方式⑶堆棧傳遞參數方式C語言和ARM匯編語言進行程序編制時常用的開發方法有哪些?答:使用C語言和ARM7匯編語言進行程序編制時常用的開發方法:混合編程和交叉編程。簡述APCS規則。答:⑴寄存器使用規則。ARM處理器寄存器組中的{R0-R11}用來保存局部變量;{R12-R15}用于系統專用:R12用于子程序內部調用的片段寄存器;R13當前模式的堆棧指針;R14鏈接寄存器,保存子程序的返回地址;R15用作程序計數器。其中,由于{R4-R11}用來保存局部變量,對于遵守APCS規則的函數,在進入該函數的時候,程序員必須注意保存{R4-R11}中會被函數使用的寄存器,當返回時,再返回它們的值。⑵堆棧使用規則。APCS規則中的堆棧為FD類型,也就是滿遞減堆棧,并且堆棧的操作是8字節對齊的,所以需要在匯編程序中用偽指令PRESERVE8來告訴連接器,本程序使用的堆棧是字節對齊的。⑶參數傳遞規則。ARM7處理器寄存器組中{R0-R3}用于程序間的參數傳遞,其中R0傳遞第一個參數,R1傳遞第二個參數,以此類推;如果參數數目超過4個,那么必須使用堆棧進行傳遞。實現將某個寄存器中的字數據拆分成4組字節數據的功能。答:不妨設數據在R0中,拆成的數據存放在R1~R4中,程序代碼如下。MOVR1,R0MOVR1,R0ANDR1,R1,#0xFF;MOVR2,R0,LSR0x08ANDR2,R2,#0xFFMOVR3,R0,LSR#0x08ANDR3,R3,#0xFFMOVR4,R0,LSR0x08ANDR4,R4,#0xFF程序執行完之后,四組字節的數據存放在R1~R4的低八位,高24為清零實現統計任意字符串包含的字符個數的功能。〔約定:字符串以0為結束標志答:LDRR0,string;將一個字符串的地址放到R0中。LDRR0,string;將一個字符串的地址放到R0中。MOVR1,0;將字符串結束符放R1中MOVR3,0;將統計長度的放入R3中LDRR2,[R0];將字符串的第一個字符放入R2count:CMPR2,R1;將R2中內容與結束符0進行比較BEQnext;如果相等,說明比較結束ADDR3,R3,#1;如果不等長度值加1LDRR2,[R0+#1];講下一個字節裝入R2Bcount;分支結構,返回至比較處,繼續比較。next: ;跳出這個算法的標號實現10個64位有符號數的相加運算。答:不妨假設這10個64位數緊密排列存儲在存儲器中,每個64位數占用8個字節的內存空間,按小端模式存放,首地址為sp不妨假設這10個64位數緊密排列存儲在存儲器中,每個64位數占用8個字節的內存空間,按小端模式存放,首地址為spLDRR0,SP;LDRR1,[R0];LDRR2,[R0,#-4];MOVR3,#9;count:CMPR3,#0;BEQnext;LDRR4,[R0,#-8];ADCR1,R1,R4;LDRR5,[R0,#-12];ADDR2,R2,R5;SUBR0,R0,#8;SUBR3,R3,#1CLRC;next:目標達到,10個數相加的結果高32位放在R1中,低32位放在R2中。實現如下功能:已知BUF1中有N1個按從小到大順序排列的互不相等的字符號數,BUF2中有N2個從小到大順序排列的互不相等的字符號數,將BUF1和BUF2中的數合并到BUF3中,并按從小到大順序排列且互不相等。AREACOPY,CODE,READONLYENTRYAREACOPY,CODE,READONLYENTRYCODE32startLDRBR2,=BUF1LDRBR3,=BUF2LDRBR3,=BUF2LDRBR4,=BUF3LDRR5,=N1LDRR6,=N2ADDR5,R5,R6MOVR1,#0BLLOOPstopMOVR0,#0x18LDRR1,=0x20026SWI0x123456LOOPCMPR5,R1BEQstopLDRBR0,[R2]LDRBR6,[R3]CMPR0,R6BLSCOPY1BHICOPY2COPY1LDRBR0,[R2],#1STRBR0,[R4],#1ADDR1,R1,#1CMPR0,#0BEQLOOPCOPY2LDRBR0,[R3],#1STRBR0,[R3],#1ADDR1,R1,#1CMPR0,#0BEQLOOPAREACOPYDATA,DATA,READWRITEBUF1DCB"whosspeaking",0BUF2DCB"thisis",0BUF3DCB"A",N1DCD8N2DCD6習題5什么是存儲器映射?簡述LPC2000系列處理器中各種資源是如何映射的?答:將物理存儲器分配到邏輯地址的過程稱為存儲器映射。LPC2000系列處理器中的存儲器映射空間范圍為:0x00000000-0xFFFFFFFF,起始地址依次為:FLASH—0x00000000,SRAM—0x40000000,BOOTBLOCK—0x7FFFE000,外部存儲器0x80000000,VPB〔低速外設地址—0xE0000000,AHB—0xF0000000.什么是重映射?試分析重映射的原理與實現機制。答:存儲器重映射:將已經映射過的存儲器再次映射的過程稱為存儲器重映射,它使同一物理存儲單元映射多個不同的邏輯地址。原理:此時運用了異常向量表重映射技術,就是將BootBlock的0x7FFFE000~0x7FFFE03F,片內SRAM的0x40000000~0x4000003F及片外存儲器的0x80000000~0x8000003F向量表分別重映射到0x0000~0x003F地址空間。實現機制:使用存儲器映射控制機制來改變0x0000~0x003F區間的中斷向量映射關系,比如LPC2000提供了一個存儲映射控制寄存器MEMMAP,可以被讀寫,低兩位為00、01、10、11時分別重映射BootBlock、片內Flash、片內SRAM和片外存儲器。什么是中斷?敘述中斷處理過程。答:計算機在執行正常程序過程中,當出現某種異常事件或某種外部請求時,處理器就暫停執行當前的程序,而轉去執行對異常事件或某種外部請求的處理操作。當處理完畢后,CPU再返回到被暫停執行的程序,繼續執行,這個過程稱為中斷。中斷處理過程一般包括五個步驟:中斷請求,中斷響應,斷點保護,中斷處理和中斷返回。ARM7的中斷類型有哪些?哪種方式最快?當有多個中斷源同時向CPU發出中斷申請時,CPU依據什么來進行響應中斷?答:根據中斷源的不同,中斷可以分為硬件中斷和軟件中斷。有三類:非向量IRQ中斷,向量IRQ中斷,FIQ中斷。它們的優先級依次升高。所以FIQ中斷的處理速度最快。當多個中斷源同時向CPU發出中斷申請時,CPU只能按一定的次序處理相應和處理,這個響應的次序稱為中斷優先級。處理原則為:⑴不同優先級的多個中斷源同時發出中斷請求,按優先級由高到低依次處理。⑵低優先級中斷正在處理,出現高優先級請求,應轉去處理高優先級請求,服務結束后再返回原優先級較低的中斷服務程序繼續執行。⑶高優先級中斷正在處理,出現低優先級請求,可暫不響應。⑷中斷處理時,出現同級別請求,應在當前中斷處理結束以后再處理新的請求。LPC2000系列有那些降低功耗的方法?簡述空閑模式和掉電模式的區別。答:降低功耗的方法有空閑模式和掉電模式。除了采用這兩種模式外,還允許程序對某個外設進行關閉控制,可以獨立的關閉應用中不需要的外設,這樣進一步降低功耗。空閑模式和掉電模式的區別:在空閑模式下,處理器停止執行指令,此時處理器,存儲器,內部總線以及相關的控制器不再消耗功率,但整個系統的時鐘仍然有效,外設也能在空閑模式下繼續工作,并可產生中斷使處理器恢復運行。然而在掉電模式下,振蕩器關閉,這樣芯片內部沒有任何時鐘。處理器狀態和寄存器,外設寄存器,內部SRAM值以及引腳的邏輯電平在掉電模式下被保持。簡述LPC2000系列中PLL的工作原理,說明系統時鐘的配置過程。答:PLL接受的輸入時鐘頻率范圍為10~25MHz,PLL的輸出時鐘信號是由電流控制振蕩器〔CCO分頻得到的,CCO的振蕩頻率由"相位頻率檢測"部件控制,該部件會比較輸出時鐘信號和CCO經過M分頻后信號的相位和頻率,并根據誤差輸出不同的電流值以控制CCO的振蕩頻率,CCO的輸出頻率經過M分頻后再送給"相位頻率檢測"部件檢測以控制CCO的振蕩頻率,經過反復拉鋸調節過程,能夠使得"相位頻率檢測"部件的兩路輸入信號頻率和相位逐步接近,漸漸穩定到預期的頻率值上。這種反復拉鋸調節過程稱為PLL鎖定過程,輸出頻率穩定后即"鎖定"成功。其配置過程:1.選擇處理器的操作頻率,選擇振蕩器的頻率,計算M值和P值;2.配置PLLCON使能但不連接的PLL的模式,根據P和M的值配置PLLCFG寄存器,發送PLL饋送序列,然后等待PLL鎖定或中斷;3.連接PLL,發送PLL饋送序列。簡述LPC2000系列芯片內部向量中斷控制器〔VIC的功能特點,如果定時器0作為一個向量中斷源,需要對VIC進行哪些配置?簡述向量處理過程。答:向量中斷控制器〔VIC負責管理芯片的中斷源,最多可管理32個中斷輸入請求,16個向量IRQ中斷和1個非向量中斷,16個優先級可動態分配給中斷請求,可產生軟中斷。VIC為每一個中斷分配中斷通道號,通道號就是每一種中斷源的唯一標識,中斷到來時,根據VIC通道號就能確定中斷源。1.配置中斷選擇寄存器VICIntSelect,中斷通道4分配為IRQ中斷;2.配置寄存器VICVectAddr0,確定定時器0中斷的服務程序地址;3.配置寄存器VICVectCntl0,向量IRQ通道0控制寄存器位分配位數值;4.配置中斷時能寄存器,使能中斷。FIQ、IRQ有什么不同?向量IRQ和非向量IRQ有什么不同?答:快速中斷請求FIQ要求具有最高優先級。向量IRQ具有中等優先級,該級別可分配32個請求中的16個,32個請求中的任意一個都可分配到16個向量IRQslot中的任意一個,其中slot〔具有最高優先級,而slot15則為最低優先級。非向量IRQ的優先級最低。習題6簡述LPC2000系列芯片的引腳設置寄存器PINSEL0、PINSEL1、PINSEL2的具體功能。答:這三個寄存器的主要功能是實現對引腳的功能選擇。具體來說PINSEL0和PINSEL1可以配置P0口<P0.0~P0.31>的功能,PINSEL2寄存器用來配置P1.0~P1.16引腳的功能。PINSELx的連個比特位可配置一個引腳的功能,比如以PINSEL[1:0]兩個比特位的00、01、10可以配置P0.0為GPIO、TxD<UART0>、PWM1,11保留。簡要描述LPC2000系列芯片內部GPIO的功能特點?舉例說明GPIO輸入和輸出的應用。答:GPIO<GeneralPurposeInput/Outputports,通用輸入輸出接口>是用于二進制數據的輸入和輸出。芯片的某個引腳通過MUX1功能選擇,對應PINSELx寄存器選擇器功能。如果選擇該引腳為GPIO那,再經MUX2中的IOxDIR對應位選擇控制管腳的輸入和輸出方向,GPIO管腳為輸入時通過IOxPIN寄存器讀入,GPIO為輸出時通過IOxSET和IOxCLR寄存器控制輸出,實現對對應GPIO管腳的控制。當引腳設置為GPIO輸出模式時,使用IOxSET寄存器設置其從引腳輸出高電平,向某位寫入1是對應引腳輸出高電平,寫入0無效;使用IOxCLR寄存器設置從引腳輸出低電平,向某位寫入0是對應引腳輸出低電平。GPIO輸入用于向ARM核中讀入數據,GPIO輸出用于輸出數據。LPC2000系列芯片外部中斷有幾種觸發方式?[例6.7]中外部中斷修改為EINT1,P0.5輸出控制LED,試編程實現。答:外部中斷有兩類四種觸發方式:邊沿觸發〔上升沿觸發或者下降沿觸發,電平觸發〔高電平觸發或低電平觸發。編程實現的代碼如下:#include"config.h"#include"config.h"#difineLED1<<5//設置P0.5控制LED,高電平LED點亮void__irqURQ_Eint1<void>{uint32i;i=IO0SET;//讀取LED控制值if<<i&LED>==0>IO0SET=LED;//點亮LEDelseIO0CLR=LED;//熄滅LEDWHILE<<EXTINT&0x02>!=0>//等待EINT1恢復為高電平{EXTINT=0x02;//清除EINT1中斷標志}VICVectAddr=0;//向量中斷結束}intmain<void>{PINSEL0=0x000000C0;//設置P0.3為EINT0 IO0DIR=LED;//設置P0.5引腳為輸出EXTMODE=0x00;//設置EINT1為電平觸發EXTPOLAR=0x00;//極性寄存器-低電平有效IO0CLR=LED;//設置LED初態為熄滅VICIntSelect=0x00000000;//設置中斷類型為IRQ中斷VICDefVECAddr=<int>IRQ_Eint1;//裝載中斷服務程序地址EXTINT=0x02;//清除EINT1中斷標志VICIntEnable=1<<15//使能EINT1while<1>;//等待中斷return0;}簡述LPC2000系列芯片內部定時器的內部由哪些模塊構成?各模塊完成功能是什么?答:定時器內部由三部分組成:分頻與計數模塊、匹配控制模塊和捕獲控制模塊。分頻計數模塊:屬于基本模塊,提供每個定時器捕獲匹配的基本時鐘,屬于定時器的公共部分,可對外部接入時鐘進行預分頻。匹配控制模塊:比較器隨時進行MR0~MR3與TC的匹配,當TC計數值與某一MRx的預置值相等時即執行MCR編程的功能。捕獲控制模塊:外部觸發捕獲時,將當前TC值裝在如CRx中。采用匹配中斷輸出產生周期為1秒的方波。答:#include"config.h"#include"config.h"intmain<void>{PINSEL0=PINSEL0&<~<3<<10>>|<2<<10>;T0CTCR=0x00;T0TC=0;T0PR=199;T0MCR=0x02<<3;T0MR1=Fpclk/200;T0EMR|=0xC2;T0TCR=0x01;while<1>;return0;}通過一個定時器中斷控制多個輸出接口控制LED燈分別以0.1S、0.5S和1S頻率同時閃爍,假設這三種燈分別連接P0.1、P0.2和P0.3,試編程實現上述功能。答:程序如下:#include"config.h"#include"config.h"#defineled11<<1//p0.1控制led1,低電平點亮#defineled21<<2//p0.2控制led2,低電平點亮#defineled31<<3//p0.3控制led3,低電平點亮void__irqIRQ_Time1<void>{if<<IO0SET&led1>==0>IO0SET=IO0SET|led1;//關閉led1elseIO0CLR=IO0CLR&led1;//點亮led1T0IR=T0IR|0x01;//清除MR0中斷標志位VICVectAddr=VICVectAddr&0x00//通知VIC中斷處理結束}void__irqIRQ_Time2<void>void__irqIRQ_Time2<void>{if<<IO0SET&led2>==0>IO0SET=IO0SET|led2;//關閉led2elseIO0CLR=IO0CLR&led2;//點亮led2T0IR=T0IR|0x02;//清除MR1中斷標志位VICVectAddr=VICVectAddr&0x00//通知VIC中斷處理結束}void__irqIRQ_Time3<void>{if<<IO0SET&led3>==0>IO0SET=IO0SET|led3;//關閉led.3elseIO0CLR=IO0CLR&led3;//點亮led3T0IR=T0IR|0x04;//清除MR2中斷標志位VICVectAddr=VICVectAddr&0x00//通知VIC中斷處理結束}intmain<void>{PINSEL0=0x00000000;//設置引腳為GPIOIO0DIR=IO0DIR&led1;//設置led1控制口輸出IO0DIR=IO0DIR&led2;//設置led2控制口輸出IO0DIR=IO0DIR&led3;//設置led3控制口輸出IRQEnable<>;//IRQ中斷使能T0TC=0;//定時器設置為0T0PR=0;//時鐘不分頻T0MCR=0x01B3;//設置T0MR1,T0MR1,T0MR2匹配后復位T0TC,并產生中斷T0MR0=Fpclk/10;//0.1s定時T0MR1=Fpclk/2;//0.5s定時T0MR2=Fpclk;//1s定時T0TCR=0x01;//啟動定時器VICIntSelect=0x00;//設置所有中斷通道為IRQ中斷VICVectCntl0=0x20|0x04;//設置定時器0中斷通道分配最高優先級VICVectAddr0=<uint32>IRQ_Time1;//進入MR0中斷VICIntEnable=1<<0x04;//使能定時器0中斷VICVectAddr0=<uint32>IRQ_Time2;//進入MR1中斷VICIntEnable=1<<0x04;//使能定時器0中斷VICVectAddr0=<uint32>IRQ_Time3;//進入MR2中斷VICIntEnable=1<<0x04;//使能定時器0中斷while<1>;//等待中斷return0;}簡述串行通信與并行通信概念。答:串行通信是指要傳輸的數據的各個位,逐比特一位一位的傳輸方式。并
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 8 大自然謝謝您 教學設計-2023-2024學年道德與法治一年級下冊統編版
- 生命生態安全教案家庭樹
- 商場場地出租協議8篇
- 一年級語文上冊 第一單元 識字(一)3 口耳目教學設計 新人教版
- Module5 Unit1 How many?(教學設計)-2024-2025學年外研版(三起)英語三年級上冊
- 七年級語文上冊 第二單元 綜合性學習 有朋自遠方來教學設計 新人教版
- 超輕黏土培訓
- 2023八年級數學上冊 第十五章 分式15.2 分式的運算15.2.1 分式的乘除第2課時 分式的乘除混合運算與分式的乘方教學設計(新版)新人教版
- 2024-2025學年高中物理 第二章 力 第六節 力的分解教學設計 教科版必修1
- Unit7 study skills教學設計-2023-2024學年牛津譯林版七年級英語下冊
- 《論十大關系》毛概課堂展示課件
- 《蟻群算法》課件
- 物業糾紛法律知識講座
- 《中藥直腸滴入治療》課件
- AI技術在教育中的應用:學校教育與教育機構培訓
- 家長要求學校換老師的申請書
- 人教版八年級美術下冊全冊完整課件
- 北師大版初中歷史初二歷史上冊《人民解放戰爭的勝利》評課稿
- 2023年人教版音樂四年級下冊全冊教案
- 《岳陽樓記》比較閱讀67篇(歷年中考語文文言文閱讀試題匯編)(含答案與翻譯)(截至2020年)
- 【自動化瓶蓋封裝機設計9100字(論文)】
評論
0/150
提交評論