LPC2000系列微處理器組成與中斷技術.ppt
《LPC2000系列微處理器組成與中斷技術.ppt》由會員分享,可在線閱讀,更多相關《LPC2000系列微處理器組成與中斷技術.ppt(132頁珍藏版)》請在裝配圖網上搜索。
1,5.1LPC2000系列簡介5.2芯片內部結構5.3存儲器結構5.4系統控制模塊5.5中斷技術5.6向量中斷控制器,LPC2000系列微處理器組成與中斷技術,2,5.1LPC2000系列芯片簡介,嵌入式處理器常見的有ARM、PowerPC、MIPS、Motorola68K等,其中ARM占據了絕對主流?;贏RM平臺的嵌入式系統設計在工業(yè)控制、無線通訊、網絡應用、消費類電子產品、成像和安全產品等領域內均有廣泛地應用。ARM處理器根據其應用及其特點,分為控制類芯片、特殊應用類芯片、數字信號處理器、消費類電子的嵌入式芯片以及安全芯片??刂祁愋酒笙鄬^低,具有中斷控制器、片內存儲器;應用處理器具有MMU、支持SDRAM、附帶LCD控制器或接口并具有DMA;消費類電子的嵌入式芯片一般具有較強的專業(yè)性;數字信號處理器通過使用協處理器和DSP等方式提高運算能力;安全芯片使用專門的SecurCore內核。,3,5.1LPC2000系列芯片簡介,ARM系列種類繁多,本章我們主要討論一般控制類的芯片,以NXP公司LPC2000系列處理器為例進行介紹。LPC2000系列微控制器基于ARM7TDMI-SCPU內核。支持ARM和Thumb指令集,芯片內集成豐富外設,而且具有非常低的功率消耗。使該系列微控制器特別適用于工業(yè)控制、醫(yī)療系統、訪問控制和POS機等場合。,簡介,LPC2100系列LPC2200系列LPC2300系列LPC2400系列LPC2800系列,,4,5.1.1LPC2100系列芯片,LPC2100系列MCU基于一個支持實時仿真和跟蹤的16/32位ARM7TDMI-SCPU,并帶有128/256KB嵌入的高速Flash存儲器。128位寬度的存儲器接口和獨特的加速結構使32位代碼能夠在最大時鐘速率下運行。如果在實際應用中對代碼規(guī)模有嚴格控制,使用16位Thumb模式可將代碼規(guī)模降低超過30%,而性能的損失卻很小。,5,LPC2100系列MCU主要特點:,16/32位ARM7TDMI-S核,超小LQFP和HVQFN封裝;16/32/64kB片內SRAM;128/256kB片內Flash程序存儲器;128位寬度接口/加速器可實現高達60MHz工作頻率;通過片內boot裝載程序實現在系統編程(ISP)和在應用編程(IAP);EmbeddedICE可實現斷點和觀察點;嵌入式跟蹤宏單元(ETM)支持對執(zhí)行代碼進行無干擾的高速實時跟蹤;10位A/D轉換器,轉換時間低至2.44μs;CAN接口,帶有先進的驗收濾波器;包括2個16C550工業(yè)標準UART、高速I2C接口(400kHz)和2個SPI接口。,6,表5.1LPC2100系列MCU參數規(guī)格,7,5.1.2LPC2200系列芯片特點:,處理器和封裝:16/32位ARM7TDMI-S微控制器,LQFP144和TFBGA144封裝;RAM:16/64kB片內靜態(tài)RAM(LPC2210/LPC2220);串行boot裝載程序通過UART0來實現在系統下載和編程;調試:EmbeddedICE-RT和嵌入式跟蹤接口使用片內RealMonitor軟件對任務進行實時調試;支持對執(zhí)行代碼進行無干擾的高速實時跟蹤;8路10位A/D轉換器,轉換時間低至2.44μs;定時器:2個32位定時器(LPC2220也具有外部事件計數器)帶4路捕獲和4路比較通道;PWM單元(6路輸出)、實時時鐘(RTC)和看門狗;串口:包括2個16C550工業(yè)標準UART、高速I2C總線(400kbit/s)和2個SPI接口;在LPC2220上,可選擇帶有數據緩沖區(qū)和可變長度傳輸的同步串行口(SSP)來代替一個SPI;,8,LPC2200系列MCU芯片資源及特點(續(xù)),向量中斷控制器(VIC),可配置優(yōu)先級和向量地址;外存:通過外部存儲器接口可將存儲器配置成4組,每組的容量高達16Mb,數據寬度為8/16/32位;多達76個通用I/O口(可承受5V電壓)??墒褂?個邊沿或電平觸發(fā)的外部中斷管腳;通過可編程的片內鎖相環(huán)(PLL)可實現最大為60/75MHz(LPC2210/2220)的CPU操作頻率;頻率:帶外部晶體的片內振蕩器頻率范圍:1~30MHz,外部振蕩器的頻率高達50MHz;2個低功耗模式:空閑和掉電;喚醒:通過外部中斷將處理器從掉電模式中喚醒;優(yōu)化功耗:通過個別使能/禁止外部功能來優(yōu)化功耗;雙電源,CPU操作電壓范圍:1.65V1.95V(1.8V0.15V);I/O操作電壓范圍:3.03.6V(3.3V10%),I/O口可承受5V電壓。,9,表5.2LPC2200系列MCU參數規(guī)格表,10,5.1LPC2100/2200系列簡介,器件信息,關于LPC2000其它器件的介紹請登錄“LPC2000系列ARM”專欄,11,5.1LPC2000系列簡介5.2芯片內部結構5.3存儲器結構5.4系統控制模塊5.5中斷技術5.6向量中斷控制器,LPC2000系列微處理器組成與中斷技術,12,5.2芯片內部結構,LPC2000系列微控制器包含4大部分:,13,5.2芯片內部結構,,,,,,LPC2200系列芯片內部結構如圖5.1所示,芯片內部有三種總線,分別是局部總線、AHB和VPB,14,5.1LPC2000系列簡介5.2芯片內部結構5.3存儲器結構5.4系統控制模塊5.5中斷技術5.6向量中斷控制器,LPC2000系列微處理器組成與中斷技術,15,嵌入式系統中存儲器部分按其位置分為片內和片外存儲器,其存儲器主要分為RAM、ROM和FlashMemory。Flashmemory(閃速存儲器)是嵌入式系統中重要的組成部分,用來存儲程序和數據。FlashMemory是一種非易失性存儲器NVM(Non-VolatileMemory),掉電后數據不會丟失,但在使用FlashMemory時,必須根據其自身特性,對存儲系統進行特殊設計,以保證系統的性能達到最優(yōu)。,5.3存儲器結構,16,5.3存儲器尋址,5.3.1存儲器映射5.3.2片內存儲器5.3.3片外存儲器5.3.4存儲器重映射及引導塊5.3.5啟動代碼相關部分,17,LPC2000系列微處理器的片內儲存器大小,1MB,,512KB,,64KB,32KB,256KB,128KB,64KB,,,32KB,16KB,,,LPC2104LPC2114LPC2119LPC2134LPC2144LPC2212,,,,8KB,,,LPC2210LPC2290,LPC2220LPC2880,片內SRAM,,0KB,4KB,2KB,16KB,8KB,LPC2124LPC2194LPC2129LPC2214LPC2292LPC2294,LPC2136LPC2146,,LPC2103LPC2131LPC2141,,,LPC2101,,,LPC2102,LPC2105,LPC2106,LPC2132LPC2142,LPC2138LPC2148,,LPC2888,片內Flash,LPC2101,LPC2102,LPC2103LPC2131LPC2141,LPC2210LPC2290,LPC2132LPC2142,LPC2104LPC2114LPC2119LPC2134LPC2144LPC2212,LPC2124LPC2194LPC2129LPC2214LPC2292LPC2294,LPC2105,LPC2136LPC2146,LPC2220LPC2880,LPC2138LPC2148,LPC2106,LPC2888,18,概述,5.3.1存儲器映射,ARM芯片存儲器分布可以在片內和片外,這些存儲器本身不具有地址信息,它們在芯片中的地址是由芯片廠家或用戶分配的。給物理存儲器分配邏輯地址的過程稱為存儲器映射。通過這些邏輯地址就可以訪問到相應存儲器的物理存儲單元。,19,LPC2210存儲器地址分布,圖5.2LPC2210存儲器地址分布,ARM芯片存儲器分布可以在片內和片外,地址從低到高分布有片內FLASH、片內SRAM、BOOTBLOCK、保留的外存儲器空間、VPB外設以及AHB外設。,20,系統存儲器映射,5.3.1存儲器映射,256KB片內非失憶性存儲器(LPC2124/2214),2MBAHB外設,128KB片內非失憶性存儲器(LPC2114/2212),16KB片內靜態(tài)RAM,8KBBootBlock(片內ROM存儲器重映射),2MBVPB外設,16MBBank0,保留,保留給片內RAM存儲器,保留給片內FLASH存儲器,16MBBank1,16MBBank2,16MBBank3,,,,,保留給片外存儲器,用戶所見存儲器的分布,圖5.3系統存儲器地址映射,21,ARM存儲器映射空間,ARM7TDMI的存儲器映射空間0X00000000~0XFFFFFFFF起始地址依次為:FLASH——0X00000000,SRAM——0X40000000,BOOTBLOCK,外部存儲器0X80000000,VPB(低速外設地址)——0XE0000000,AHB(高速外設:向量中斷控制器,外部存儲器控制器)——從0XFFFFFFFF回頭。,22,5.3.1存儲器映射,AHB和VPB,AHB(先進的高性能總線)和VPB(VLSI外設總線)外設區(qū)域都為2M字節(jié),可各分配128個外設。每個外設空間的規(guī)格都為16K字節(jié),這樣就簡化了每個外設的地址譯碼。,注意:外設寄存器的地址都是字對齊。AHB和VPB外設區(qū)域中不管是字還是半字,都是一次性訪問。例如不可能對一個字寄存器的最高字節(jié)執(zhí)行單獨的讀或寫操作。,23,外設存儲器映射,5.3.1存儲器映射,注:AHB和VPB均為128x16kB(2MB)范圍。,24,AHB外設映射,5.3.1存儲器映射,注:只有LPC2200系列微處理器有外部總線控制器,25,VPB外設映射,4.3.3存儲器映射,26,5.3.2片內存儲器,LPC2000系列中除了LPC2210/2220/2290外,其它的ARM微處理器內部都帶有容量不等的Flash,這為ARM芯片的單片應用帶來可能。片內Flash通過128位寬度的總線與ARM內核相連,具有很高的速度,加上特有的存儲器加速功能,因此可以將程序直接放在Flash上運行。,片內FLASH程序存儲器,27,5.3.2片內存儲器,片內Flash編程方法,1.使用JTAG仿真/調試器,通過芯片的JTAG接口下載程序;,2.使用在系統編程技術(即ISP),通過UART0接口下載程序;,3.使用在應用編程技術(即IAP),在用戶程序運行時對Flash進行擦除和/或編程操作,實現數據的存儲和固件的現場升級。,,,,,,,,,,,JTAG,,UART0,28,5.3.2片內存儲器,LPC2000系列微控制器的片內RAM為靜態(tài)RAM(SRAM),它們可用作代碼和/或數據的存儲。SRAM支持8位、16位和32位的讀寫訪問。,片內靜態(tài)RAM,29,5.3.3片外存儲器,概述,在CPU外部擴展連接的存儲器芯片稱為片外存儲器,這些器件通常都具有數據線、地址線和控制線等。主要器件有ROM、FLASH、SRAM等。,,Bank0,Bank1,Bank2,Bank3,,,,,LPC2200,每個Bank尋址空間:16M字節(jié);數據寬度:8/16/32位。,30,5.3.3片外存儲器,片外Flash編程方法,Flash的擦寫操作需要配合一段符合Flash編程時序的代碼,這段代碼稱為裝載程序,一般由用戶編寫。,,,程序代碼(源),程序代碼(目標),Loader,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,下載用戶代碼時,首先得在CPU內運行裝載程序,通過它把從串口(或其它接口)接收的代碼寫到片外Flash中。,31,5.3.4存儲器重映射及引導塊,存儲器重映射,將已經過映射的存儲器再次映射的過程稱為存儲器重映射,它使同一物理存儲單元出現多個不同的邏輯地址。這些存儲單元主要包括引導塊“BootBlock”和用于保存異常向量表的少量存儲單元。,Addr1,0 x1234,0 x1234,,,注意:存儲器重映射并不是對映射單元的內容進行了復制,而只是將多個地址指向了同一個存儲單元,這種效果是通過芯片內部的“存儲器管理部件”實現的。,32,5.3.4存儲器重映射及引導塊,存儲器映射:為存儲器分配地址的過程.存儲器重映射:為了增加系統的靈活性,系統中有部分地址可以同時出現在不同的地址上,這就叫做存儲器重映射。包括引導塊“BootBlock”重映射和異常向量表的重映射。1.引導塊“BootBlock”及其重映射引入的原因:BootBlock中有些程序可被用戶調用,如擦寫片內Flash的IAP代碼。為了增加用戶代碼的可移植性,所以最好把BootBlock的代碼固定的某個地址上。但由于各芯片的片內Flash大小不盡相同,如果把BootBlock的地址安排在內部Flash結束的位置上,那就無法固定BootBlock的地址。廠家為了BOOTBLOCK在芯片中的位置固定,就在編址的2G靠前編址的位置虛擬劃分一個區(qū)域作為BOOTBLOCK區(qū)域,這就是重映射,這樣訪問<2G即<0X80000000的位置時,就可以訪問到在FLASH尾部的BOOTBLOCK區(qū)了。,33,5.3.4存儲器重映射及引導塊,1.引導塊及其重映射,引導塊(BootBlock)是芯片設計廠家在LPC2000系列ARM內部固化的一段代碼,用戶無法修改或刪除。這段代碼在芯片復位后被首先運行,其功能主要是:,判斷運行哪個存儲器上的程序;檢查用戶代碼是否有效;判斷芯片是否被加密;芯片的在應用編程(IAP)以及在系統編程功能(ISP)。,注意:部分器件內部雖然沒有用戶Flash空間(比如LPC2210/2220/2290),但它們仍然存在BootBlock,并且復位后會被首先運行。,34,5.3.4存儲器重映射及引導塊,引導塊在存儲器中的狀態(tài),LPC2200系列芯片的BootBlock為8KB大小,它們占用了用戶的Flash空間。,LPC2130系列芯片的BootBlock為12KB大小,除了LPC2138占用用戶的Flash空間外,該系列中其它的芯片不占用用戶Flash空間。,35,,BootBlock重新映射,,BootBlock重新映射,5.3.4存儲器重映射及引導塊,BootBlock,BootBlock,引導塊(BootBlock)的重映射,36,引入原因:由于ARM處理器的存儲器結構比較復雜,可能同時存在片內存儲器和片外存儲器等,他們在存儲器映射上的起始地址都不一樣,因此ARM內核要訪問的中斷向量表可能不在0 x0000~0 x003F地址上,因此采用了存儲器重映射來實現將存在與不同地方的中斷向量表都映射到0 x0000~0 x003F地址上。ARM內核在發(fā)生異常后,會使程序跳轉到0 x0000~0 x001C的異常向量表處,再經過向量跳轉到異常服務程序。但ARM單條指令的尋址范圍有限,無法用一條指令實現4G范圍的跳轉,所以應在其后面的0 x0020~0 x003F地址上放置跳轉目標,這樣就可以實現4G范圍內的任意跳轉,因此一個異常向量表實際上占用了16個字的存儲單元(64字節(jié))。,5.3.4存儲器重映射及引導塊,2.異常向量表概述,37,5.3.4存儲器重映射及引導塊,ARM異常入口,該位置被Boot裝載程序用作有效用戶程序的檢測標志。通過定義此保留值,使向量表所有數據32位累加和為0,芯片復位后才能脫機運行用戶程序。,38,5.3.4存儲器重映射及引導塊,異常向量表的重映射,異常向量表可以來自四個不同的區(qū)域:BootBlock、片內Flash、片內RAM和外部存儲器。微控制器可以執(zhí)行這些存儲器中的代碼。除了片內Flash的向量表位于0 x0000~0 x003F地址上,其他存儲器的向量表都不位于這個地址。為了能讓ARM內核通過訪問0 x0000~0 x003F地址訪問到其他存儲區(qū)域的向量表,這樣向量表必須進行重映射。,注意:除了“用戶片內Flash模式”外,其它模式下都無法訪問片內Flash的0 x0000~0 x003F區(qū)域。,39,來自不同區(qū)域的異常向量表,異常向量表,地址重映射,,,,復位后,首先運行BootBlock程序,將BootBlock內0 x7FFFE000~0 x7FFFE03F的異常向量表重映射到0 x0000~0 x003F地址以允許處理異常并在Boot裝載過程中使用中斷。,此時無需進行Flash向量表的重映射,其向量表本身就處于0 x0000~0 x003F地址空間。,異常向量表,異常向量表,再根據MEMMAP寄存器的設置運行片內Flash代碼。,片內RAM代碼。,片外存儲器代碼。,此時需將片內RAM0 x40000000~0 x4000003F的向量表重映射到0 x0000~0 x003F地址空間。,此時需將外部存儲器0 x80000000~0 x8000003F的向量表重映射到0 x0000~0 x003F地址空間。,地址重映射,地址重映射,40,外擴存儲器異常向量表實現示例,應用程序的異常向量表就存放在0 x80000000起始的64個物理存儲單元中。但是ARM核發(fā)生異常(中斷)后是從0 x00000000~0 x0000003F地址范圍取異常向量的。所以要把0 x80000000~0 x8000003F范圍內的存儲單元重新映射到0 x00000000~0 x0000003F地址范圍上。以后CPU存取0 x00000000~0 x0000003F地址就是存取0 x80000000~0 x8000003F范圍內的存儲單元。,41,ARM芯片的另外一種重映射方式,為了提高異常相應速度我們采取以下做法:(1)先把0 x00000000~0 x0000003F(FLASH)存儲單元內的異常向量表復制到0 x40000000~0 x4000003F(片內RAM的最低端64個字節(jié)的存儲單元)范圍內存儲單元中。(2)把0 x40000000~0 x4000003F范圍內存儲單元地址重新映射到0 x00000000~0 x0000003F地址范圍。這樣做了以后,當異常發(fā)生的時候,CPU取異常向量就是從RAM區(qū)中的異常向量表中區(qū),速度快了。,42,異常向量表的重映射的實現機制,存儲器映射控制寄存器,存儲器映射控制寄存器(MEMMAP)是一個可讀可寫的寄存器。,異常向量表可以重新映射到:BootBlock;片內Flash;片內SRAM;外部存儲器Bank0。,目的:為了允許運行在不同存儲器空間中的代碼對中斷進行控制,需要使用存儲器映射控制機制改變地址0 x0000~0 x003F的中斷向量的映射。,43,存儲器映射控制,系統引導與存儲器映射,對于LPC2200系列微處理器,當nRESET為低時,BOOT1:0腳的狀態(tài)控制著引導方式。,44,,MAP[1:0]設置值與各種異常地址范圍的關系,當發(fā)生異常時,對應的向量表實際訪問到0 x80000000~0 x8000003C地址。,,,,當發(fā)生異常時,對應的向量表實際訪問到0 x7FFFE000~0 x7FFFE03C地址。,當發(fā)生異常時,對應的向量表實際訪問到0 x40000000~0 x4000003C地址。,當發(fā)生異常時,對應的向量表實際訪問到0 x00000000~0 x0000003C地址。,異常向量表從片外存儲器中重映射。,異常向量表從BootBlock中重映射。,異常向量表從SRAM中重映射。,異常向量表來自片內Flash。,45,5.3.5系統啟動代碼介紹,概述,ARM微處理器在上電或復位后首先運行BootBlock中的一段代碼,這段代碼稱為“引導代碼”,由芯片廠商固化在芯片中。此后,在正式運行用戶main函數之前,還需要運行一段“啟動代碼”,由用戶添加。,引導代碼(BootBlock),用戶main函數,啟動代碼,向量表定義;堆棧初始化;系統變量初始化;中斷系統初始化;I/O初始化;外圍初始化;地址重映射等操作。,上電/復位,,46,啟動代碼流程圖,,,47,5.1LPC2000系列簡介5.2芯片內部結構5.3存儲器結構5.4系統控制模塊5.5中斷技術5.6向量中斷控制器,LPC2000系列微處理器組成與中斷技術,48,5.4系統控制模塊,系統控制模塊通常包括很多功能部件,這些功能部件的影響是全局性的,它們的狀態(tài)改變時可能引起整個系統運行狀態(tài)的改變,它們包括時鐘系統、功率控制、復位、存儲器映射控制。,49,5.4系統控制模塊功能匯總,概述,一個ARM芯片中通常有很多功能部件,有一些部件是全局性的,它們狀態(tài)的改變可能引起整個系統運行狀態(tài)的改變,這些部件我們統一稱之為系統控制模塊。,在這些系統控制模塊中,有些部件需要外部引腳的配合,如晶體振蕩器、外部復位輸入。,50,5.4系統控制模塊功能匯總,在系統控制模塊中,有些部件需要在進行寄存器配置后才能正常工作,如存儲器映射控制、鎖相環(huán)、功率控制、VPB分頻器。,51,5.4.1時鐘系統,概述,時鐘是計算機系統的脈搏,處理器核在一拍接一拍的時鐘驅動下完成指令執(zhí)行、狀態(tài)變換等動作。外設部件在時鐘的驅動下進行著各種工作,比如串口數據的收發(fā)、A/D轉換、定時器計數等。所以時鐘對于一個計算機系統是至關重要的,通常時鐘系統出現問題也是最致命的,比如振蕩器不起振、振蕩不穩(wěn)、停振等。,52,5.4.1時鐘系統,時鐘系統結構,LPC2000系列微控制器的時鐘系統包括四個部分:晶體振蕩器、喚醒定時器、鎖相環(huán)(PLL)和VPB分頻器。,外接晶體或外接時鐘源,產生穩(wěn)定的時鐘信號,將Fosc提升到合適的頻率,1,3,4,2,53,5.4.1時鐘部件-晶體振蕩器,1.晶體振蕩器,LPC2000系列微控制器的晶體振蕩器可以使用外部時鐘源(從屬模式),也可以使用外接晶體和片內振蕩電路(振蕩模式)產生時鐘。,54,時鐘部件-晶體振蕩器,從屬模式,使用從屬模式時,時鐘信號通過X1引腳從外部輸入,輸入頻率范圍:1~50(MHz),其幅度范圍為:200mV~1.8V。,55,時鐘部件-晶體振蕩器,振蕩模式,使用振蕩模式時,時鐘信號由內部晶體振蕩器和外部連接的晶體振蕩產生,振蕩頻率范圍:1~30(MHz)。,56,時鐘部件-晶體振蕩器,注意:如果使用了ISP下載功能或者連接PLL提高頻率,則輸入的時鐘頻率范圍必須在10~25(MHz)之間。,57,,5.4.1時鐘部件-喚醒定時器,2.喚醒定時器,喚醒定時器能夠確保振蕩器和芯片內部硬件電路在處理器開始執(zhí)行指令之前有足夠的時間初始化。工作原理如圖:,,對輸入時鐘計數,計數滿4096個周期后,控制開關閉合,,為CPU提供時鐘,58,5.4.1時鐘部件-喚醒定時器,當給芯片加電或某個事件使芯片退出掉電模式后,振蕩器就開始工作,但是需要一段時間來產生足夠振幅的信號驅動時鐘邏輯。振蕩的波形大致如下:,,注:喚醒定時器就通過監(jiān)測晶振狀態(tài)來判斷是否能開始可靠的執(zhí)行代碼。,59,5.4.1時鐘部件-喚醒定時器,喚醒定時器與時鐘的關系,喚醒定時器檢測到有效時鐘信號后,計數4096個時鐘脈沖,并在這段時間里初始化系統硬件。如芯片滿足運行條件(Flash初始化完成、外部復位信號已撤除等),接通系統時鐘,處理器開始執(zhí)行指令。總之,LPC2000系列芯片的喚醒定時器是根據晶振的情況來執(zhí)行最短時間的復位,它在處理器從掉電模式中喚醒或發(fā)生了任何復位時激活。,60,5.4.1時鐘部件-PLL(鎖相環(huán)),3.鎖相環(huán),LPC2000系列芯片內部均具有PLL電路,振蕩器產生的時鐘Fosc通過PLL升頻,可以獲得更高的系統時鐘(Fcclk)。,輸入范圍10~25MHz,將FOSC提升到10~60MHz,61,PLL內部結構框圖,5.4.1時鐘部件-PLL(鎖相環(huán)),62,5.4.1時鐘部件-PLL(鎖相環(huán)),PLL的鎖定過程,CCO的輸出頻率受到“相位頻率檢測”部件的控制,輸出所需頻率的過程不是一蹴而就的,而是一個拉鋸反復的過程。,,,CCO的輸出頻率在高低起伏一段時間后漸漸穩(wěn)定在了預期的頻率值,輸出頻率穩(wěn)定后即“鎖定”成功,63,5.4.1時鐘部件-PLL(鎖相環(huán)),寄存器描述,與PLL相關的寄存器有四個,其中三個為控制寄存器,還有一個是狀態(tài)寄存器。,64,寄存器描述,PLLCFG.MSEL[4:0],PLLCON.PLLE,PLLCFG.PSEL[1:0],PLLCON.PLLC,PLL控制寄存器(PLLCON):,PLLE:PLL使能,該位為1時將激活PLL并允許其鎖定到指定的頻率;,PLLC:PLL連接,當PLLE為1,并且在PLL鎖定后,該位為1,將把PLL作為時鐘源連接到CPU,否則直接使用振蕩器時鐘。,PLL配置寄存器(PLLCFG):,MSEL[4:0]:PLL倍頻器值,在PLL頻率計算中其值為(M-1);,PSEL[1:0]:PLL分頻器值,在PLL頻率計算中其值為P。,PLL狀態(tài)寄存器(PLLSTAT):,,,,,,MSEL[4:0]、PSEL[1:0]、PLLE、PLLC:讀出反映這幾個參數的設置值,寫入無效;,PLOCK:反映PLL的鎖定狀態(tài)。為0時,PLL未鎖定;為1時,PLL鎖定到指定頻率。,PLL控制位組合:,65,寄存器描述,PLL饋送寄存器(PLLFEED):,PLLFEED[7:0]:PLL饋送序列必須寫入該寄存器才能使PLL配置和控制寄存器的更改生效。饋送序列分兩步進行,如下所示:step1.將值0 xAA寫入PLLFEEDstep2.將值0 x55寫入PLLFEED,操作示例DISABLE_IRQ();//關閉中斷,防止饋送序列操作被打斷PLLFEED=0 xAA;//饋送序列第一步PLLFEED=0 x55;//饋送序列第二步ENABLE_IRQ();//饋送序列操作結束,打開中斷注:這兩個寫操作的順序必須正確,且必須是連續(xù)的VPB總線周期。,66,5.4.1時鐘部件-PLL(鎖相環(huán)),PLL和掉電模式,掉電模式會自動關閉并斷開PLL。從掉電模式喚醒不會自動恢復PLL的設定,PLL的恢復必須由軟件來完成。通常,首先將PLL激活并等待鎖定,然后再將PLL連接。注:不要試圖在掉電喚醒之后簡單地執(zhí)行饋送序列來重新啟動PLL,因為這會在PLL鎖定建立之前同時使能并連接PLL。,67,5.4.1時鐘部件-PLL(鎖相環(huán)),PLL頻率計算,Fosc為晶體振蕩器的輸出頻率,即PLL的輸入頻率,FOSC,FCCO,FCCO/(2p),FCCO/(2pM),連接PLL之后FCCLK=FCCO/(2p),Fcco為PLL電流控制振蕩器的輸出頻率,Fcclk為PLL最終的輸出頻率(也是處理器的時鐘頻率),Fcco經過“2P分頻”部件后得到Fcco/(2p)的頻率,Fcco/(2p)信號經過“M分頻”部件,得到Fcco/(2pM)的頻率,PLL鎖定后相位頻率檢測的兩輸入端信號的頻率相等,68,5.4.1時鐘部件-PLL(鎖相環(huán)),PLL頻率計算,可以得出以下幾個等式:Fosc=Fcco/(2pM)?Fcco=Fosc(2pM)Fcclk=Fcco/(2p)?Fcco=Fcclk(2p)最后得出PLL的輸出頻率(當PLL激活并連接時)為:Fcclk=MFosc或Fcclk=Fcco/(2P)CCO輸出頻率為:Fcco=Fcclk2P或Fcco=FoscM2P,69,5.4.1時鐘部件-PLL(鎖相環(huán)),確定PLL設定的過程,2.選擇合適的晶振頻率,3.計算M值,4.計算P值,1.確定處理器時鐘頻率,70,PLL設置舉例,系統要求Fosc=10MHz,Fcclk=60MHz。根據這些要求:確定Fcclk=60MHz;選擇Fosc=10MHz;計算M=Fcclk/Fosc=60MHz/10MHz=6。M-1=5,所以寫入PLLCFG[4:0]=00101;計算P=Fcco/(Fcclk*2),其中Fcco為156~320MHz。當Fcco=156MHz時,P=156MHz/(2*60MHz)=1.3當Fcco=320MHz時,P=2.67P取整數2,所以寫入PLLCFG[6:5]=01。,71,,,,,,,,,,,,PLL設置舉例,PLL配置過程:,uint8PLLSet(uint32Fcclk,uint32Fosc,uint32Fcco){uint8i;uint32plldat;i=(Fcco/Fcclk);switch(i){case2:plldat=((Fcclk/Fosc)-1)|(0<<5);break;case4:plldat=((Fcclk/Fosc)-1)|(1<<5);break;case8:plldat=((Fcclk/Fosc)-1)|(2<<5);break;case16:plldat=((Fcclk/Fosc)-1)|(3<=10ms,>=300ns,,振蕩器處于穩(wěn)定工作狀態(tài),5.4.3復位,外部復位,81,5.4.3復位,復位與電源上電次序,V18:數字1.8V供電電源V18A:模擬1.8V供電電源,V3:數字3.3V供電電源V3A:模擬3.3V供電電源,CPU內核,片內外設,,電源管理,,,1.8V為內核供電,因此1.8V電源必須正常上電。,82,5.4.3復位,外部復位和內部WDT復位的區(qū)別,,,,判斷引腳:P1.20/TRACESYNCP1.26/RTCKBOOT1和BOOT0,判斷引腳:P0.14,執(zhí)行用戶程序或運行ISP程序,,外部復位,時間,T0,T1,T2,,,WDT復位,時間,T0,執(zhí)行用戶程序或運行ISP程序,83,Boot程序工作流程—LPC2114/2124,84,Boot程序工作流程—LPC2210/2212/2214,85,5.4.3復位,復位與BootBlock,BootBlock的功能包括:,LPC2200系列微控制器可以同時存在片內存儲器和片外存儲器,BootBlock通過芯片上的BOOT0和BOOT1引腳來判斷程序的運行。,注:LPC2100系列微控制器只有片內Flash,它們無需判斷。,86,5.4.3復位,復位與BootBlock,BootBlock的功能包括:,BootBlock在將芯片的控制權交給用戶程序之前,要先判斷用戶程序是否有效,否則將不運行用戶程序,這樣可以避免在現場設備中的芯片因為代碼損壞而導致程序亂飛引起事故的情況發(fā)生。,87,CODE32AREAvectors,CODE,READONLYENTRYResetLDRPC,ResetAddrLDRPC,UndefinedAddr...DCD0 xb9205f80LDRPC,[PC,#-0 xff0]LDRPC,FIQ_AddrResetAddrDCDResetInitUndefinedAddrDCDUndefined...NouseDCD0IRQ_AddrDCD0,異常向量表源代碼,Reset[0 xe59ff018][0 xe59ff018]...[0 xb9205f80][0 xe51ffff0][0 xe59ff018][0 x8000008c][0 x80000040]...[0 x00000000][0 x00000000],指令機器碼,獲取跳轉地址,用戶代碼有效判別方案,調整該字使累加和為0,88,5.4.3復位,復位與BootBlock,BootBlock的功能包括:,芯片可加密可以保護芯片用戶的知識產權不受侵害。加密后:芯片禁止JTAG接口調試;芯片限制ISP命令,只能執(zhí)行芯片整片擦除。,對芯片加密的方法:在芯片Flash的0 x01FC地址處寫入數據0 x87654321即可。當BootBlock檢測到該地址存在加密標志字時,就對芯片的JTAG和ISP操作進行限制,達到加密的效果。,89,5.4.3復位,復位與BootBlock,BootBlock的功能包括:,LPC2000系列微控制器內部的Flash是無法從外部直接擦寫的,這些功能必須通過IAP代碼來實現。IAP可以實現片內Flash的擦除、查空、將數據從RAM寫入指定Flash空間、校驗、讀器件ID等功能。應用實例:數據存儲在線升級,90,5.4.3復位,復位與BootBlock,BootBlock的功能包括:,ISP功能是一種非常有用的片內Flash燒寫方式。ISP工作時,通過UART0使用約定協議與計算機上的ISP軟件進行通信,并按用戶的操作要求,調用內部的IAP代碼實現各種功能。比如把用戶代碼下載到片內Flash中。有兩種情況可以使芯片進入ISP狀態(tài)1、將芯片的P0.14引腳拉低后,復位芯片可以進入ISP狀態(tài);2、在芯片內部無有效用戶代碼時,BootBlock進入ISP狀態(tài)。,91,5.4.3復位,復位及復位芯片配置,一些微控制器自己在上電時會產生復位信號,但大多數微控制器需要外部輸入這個信號。阻容式復位電路:,電容兩端電壓不能突變,產生低電平脈沖復位,電源消失提供迅速放電回路,對電容充電,電容兩端電壓穩(wěn)定為電源電壓,這個電路成本低廉,但不能保證任何情況產生穩(wěn)定可靠的復位信號,所以一般場合需要使用CAT809、SP708和CAT1025等專門的復位芯片。,92,5.1LPC2000系列簡介5.2芯片內部結構5.3存儲器結構5.4系統控制模塊5.5中斷技術5.6向量中斷控制器,LPC2000系列微處理器組成與中斷技術,93,5.5中斷技術,5.5.1中斷概念日常生活引入:“讀書-敲門-電話”事件處理過程,,94,中斷概念,什么是中斷,計算機在執(zhí)行正常程序過程中,當出現某種異常事件或某種外部請求時,處理器就暫停執(zhí)行當前的程序,而轉去執(zhí)行對異常事件或某種外部請求的處理操作。當處理完畢后,CPU再返回到被暫停執(zhí)行的程序,繼續(xù)執(zhí)行,這個過程稱為中斷。主程序被打斷的地方稱其為斷點,在計算機系統中,實現中斷處理過程打的技術就稱為中斷技術,實現該技術包含的軟件、硬件的總體稱為中斷系統。,95,5.5.2中斷源及管理,中斷源,是指引起中斷的原因或發(fā)出中斷請求的來源。中斷源可分為硬件中斷源和軟件中斷源兩類。中斷請求是隨機發(fā)生的,當系統具有多個中斷源時,有時會同時出現多個中斷請求,CPU只能按一定的次序予以響應和處理,這個響應的次序稱為中斷優(yōu)先級。中斷系統優(yōu)先級有兩層含義:①中斷事件同時發(fā)生時,CPU響應誰;②CPU正在執(zhí)行ISR過程中,又有中斷事件,CPU如何處理。,96,不同級別的中斷請求處理原則,不同優(yōu)先級的多個中斷源同時發(fā)出中斷請求,按優(yōu)先級由高到低依次處理。低優(yōu)先級中斷正在處理,出現高優(yōu)先級請求,應轉去處理高優(yōu)先級請求,服務結束后再返回原優(yōu)先級較低的中斷服務程序繼續(xù)執(zhí)行。高優(yōu)先級中斷正在處理,出現低優(yōu)先級請求,可暫不響應。中斷處理時,出現同級別請求,應在當前中斷處理結束以后再處理新的請求。,97,中斷優(yōu)先級的確定,有多個中斷源時,多個中斷優(yōu)先級的確定是我們面臨的一個問題,在一般系統中通常用三種方法來確定中斷源的優(yōu)先級別:軟件查詢法,增加簡單硬件電路,進入中斷后,通過軟件按優(yōu)先級進行查詢確定,首先處理高優(yōu)先級中斷;硬件排隊電路法,通過鏈式硬件排隊電路,硬件確定優(yōu)先級,高優(yōu)先級直接可以屏蔽低優(yōu)先級;專用中斷控制電路法,在ARM嵌入式系統中,通過向量中段控制器確定。,98,中斷源管理,99,5.5.3中斷處理過程,中斷處理過程一般包括以下五個步驟::中斷請求、中斷響應、斷點保護、中斷處理和中斷返回。1.中斷請求物理事件轉換成一個電信號作為事件請求處理的申請。中斷處理過程中,首先要有中斷請求(中斷申請)。該信號可被屏蔽控制。,100,5.5.3中斷處理過程,2.中斷響應(軟件設置,硬件自動工作)CPU收到請求并進入到ISR的一系列動作:CPU總是在每條指令執(zhí)行的最后一個時鐘周期檢測有無中斷請求,若有中斷申請則對其進行響應。中斷響應的同時,中斷系統自動屏蔽控制,以保證中斷邏輯的正確性。中斷響應還要獲得相應的中斷向量,找到對應的ISR并運行它。一般有兩種方式:非向量中斷方式和向量中斷方式。不同的中斷系統,中斷響應的具體操作差別較大,基本原理相似。,101,5.5.3中斷處理過程,3.斷點保護(硬件自動工作)保護斷點,保障ISR能返回到主程序的斷點處繼續(xù)運行;斷點保護----主程序被打斷時的PC當前值備份。不同的系統中,保護的方法不一樣:x86將PC值入堆棧,ARM將PC值保護到LR。此操作都是由硬件自動完成。PSW----程序狀態(tài)字的保護;不同的系統中,保護的方法不一樣:x86需要軟件方式將PSW值入堆棧,ARM中CPSR硬件自動保護到SPSR。,102,5.5.3中斷處理過程,4.中斷處理(軟件編程)保護CPU數據現場,事件業(yè)務處理,恢復CPU數據現場;CPU數據現場保護----ISR運行中用到的數據寄存器要先保護后使用,以保證返回時主程序的中間結果不被影響;一般通過入堆棧實現,也有些場合通過切換CPU的寄存器組實現;PSW----程序狀態(tài)字的保護;不同的系統中,保護的方法不一樣;事件處理代碼完成對應的事件服務功能;恢復CPU數據現場---將保護數據原樣恢復。,103,5.5.3中斷處理過程,5.中斷返回(軟件編程)執(zhí)行完ISR后,要返回到原先被中斷的主程序的斷點處繼續(xù)運行;斷點保護的逆過程,使用之前保護的PC值,重置PC;不同的計算機有不同的中斷返回方法;x86使用專用的中斷返回指令(reti),ARM則是使用LR的值重置PC。,104,5.1LPC2000系列簡介5.2芯片內部結構5.3存儲器結構5.4系統控制模塊5.5中斷技術5.6向量中斷控制器,LPC2000系列微處理器組成與中斷技術,105,5.6向量中斷控制器,5.6.1向量中斷分類ARM7TDMI內核具有兩個中斷輸入,分別為IRQ中斷和FIQ中斷。向量中斷控制器(VIC,VectoredInterruptController)負責管理芯片的中斷源,最多可以管理32個中斷輸入請求,16個向量IRQ中斷和1個非向量中斷。常見的中斷源有:WDT(看門狗)、Timer(定時計數器)、PWM(脈寬調制器)、UART(通用異步收發(fā)器)、I2C(I2C接口)、SPI(SPI接口)、RTC(實時時鐘)、A/D(模數轉換器)、EINT(外中斷)等.,106,LPC2000系列處理器各功能模塊中斷標志以及VIC通道分配,107,5.6.2向量中斷結構,108,5.6.2向量中斷結構,ARM技術中的‘中斷’和‘異常’:在ARM中包含有7種異常:復位異常、SWI異常(軟中斷異常)、未定義指令異常、數據中止異常、指令中止異常、IRQ異常和FIQ異常?!袛唷恰惓!膬蓚€特例。習慣上將以IRQ異常方式傳遞、響應的中斷稱之為“IRQ中斷”;以FIQ異常方式傳遞、響應的中斷稱之為“FIQ中斷”。IRQ中斷又根據中斷服務程序入口地址的定位方式,被進一步劃分為‘向量IRQ中斷’和‘非向量IRQ中斷’。,109,5.6.2向量中斷結構,程序狀態(tài)寄存器CPSR與VIC的關系,ARM內核通過CPSR來監(jiān)視和控制內部的操作,CPSR中的“I”位和“F”位分別用來控制IRQ模式和FIQ模式的使能。,,,,CPU,,,,,,,,,ARM7TDMI-S,VIC,,,IRQ,FIQ,CPSR[7](I),CPSR[6](F),110,5.6.2向量中斷結構,程序狀態(tài)寄存器CPSR與VIC的關系,當I=1時,禁止IRQ中斷,當I=0時,使能IRQ中斷,,111,5.6.2向量中斷結構,程序狀態(tài)寄存器CPSR與VIC的關系,當F=1時,禁止FIQ中斷,當F=0時,使能FIQ中斷,,112,5.6.2向量中斷結構,中斷輸入請求可以在VIC中被設置為以下三類:FIQ中斷:具有最高優(yōu)先級;向量IRQ中斷:具有中等優(yōu)先級;非向量IRQ中斷:具有最低優(yōu)先級;,這三類中斷中,FIQ中斷優(yōu)先級最高,1個FIQ中斷時響應最快,當分配給FIQ中斷請求多于1個,VIC將FIQ中斷“相或”后向ARM產生FIQ信號,FIQ服務程序通過讀取狀態(tài)寄存器識別FIQ請求源,并分別予以處理。向量中斷IRQ(VectoredIRQ)優(yōu)先級中等,該級別可分配32個請求中的16個,32個中斷請求可靈活配置,中斷通道號可靈活配置到插槽slot0~slot15中,其中配置到slot0優(yōu)先級最高,配置到slot15級別在16個向量IRQ中最低。非向量IRQ(Non-vectoredIRQ)優(yōu)先級在VIC控制中最低。VIC將所有向量和非向量IRQ“相或”后向ARM處理器產生IRQ信號。,113,114,,,,,5.6.3向量中斷寄存器,115,控制寄存器功能描述,5.6.3向量中斷寄存器,116,寄存器描述-參數設置寄存器,,,,,,,,117,IRQ中斷相關寄存器,5.6.3向量中斷寄存器,注意:如果將同一個中斷源分配給多個使能的向量IRQ中斷,那么該中斷源發(fā)生中斷時,會使用最高優(yōu)先級(最低編號)的寄存器設置。,118,產生中斷后的服務程序地址,5.6.3向量中斷寄存器,119,寄存器描述-狀態(tài)寄存器,,,,注意:讀取VICRawIntr寄存器將得到所有32個中斷請求和軟件中斷的狀態(tài),它不管中斷是否使能或分類。,120,保護使能寄存器,5.6.3向量中斷寄存器,保護使能寄存器(VICProtection):,在某些場合可能需要禁止在用戶模式下訪問VIC寄存器,以提高軟件的安全等級。,121,5.6.4向量中斷的處理過程,ARM的FIQ、IRQ中斷是五種異常中的兩種,ARM使用對“異?!表憫幚淼姆椒憫幚鞦IQ、IRQ中斷。FIQ異常響應的服務入口地址固定為:0 x0000001C;IRQ異常響應的服務入口地址固定為:0 x00000018;IRQ中斷一般要對應多個中斷源,IRQ_ISR入口地址處理需要特殊處理;ARM啟動代碼的異常向量表部分:0 x00LDRPC,ResetAddr;跳轉到ResetAddr單元0 x04LDRPC,UndefinedAddr0 x08LDRPC,SWI_Addr0 x0CLDRPC,PrefetchAddr0 x10LDRPC,DataAbortAddr0 x14DCD0 xb9205f80;用戶代碼有效性檢查碼0 x18LDRPC,[PC,#-0 xff0];PC←(PC)–0 xff00 x1CLDRPC,FIQ_Addr,122,5.6.4向量中斷的處理過程,ARM啟動代碼的異常向量表部分說明:IRQ語句含義如下:0 x18LDRPC,[PC,#-0 xff0];PC←(PC)–0 xff0這條指令的地址是0 x18,執(zhí)行該指令時PC=0 x20;執(zhí)行的結果為PC=[0 x20-0 xff0]=[0 xfffff030];0 xfffff030恰是VICVectAddr寄存器的地址;結論:ARM處理器響應IRQ異常時,固定按VICVectAddr寄存器間接轉移。FIQ中斷語句含義,通常系統中僅安排一個FIQ中斷源,因此,FIQ異常響應的服務入口地址就是“FIQ_ISR”入口地址:0 x1CLDRPC,FIQ_Addr,123,,FIQ中斷處理,5.6.4向量中斷的處理過程,SUBSPC,LR,#4,,124,,IRQ中斷處理,5.6.4向量中斷的處理過程,硬件處理,軟件處理,125,5.6.5IRQ中斷的設計實例,將定時器0中斷分配為向量IRQ通道0,中斷服務程序地址設置為Timer0_ISR。,C代碼:,步驟:,IRQ通道0控制寄存器VICVectCntl0,向量IRQ通道0控制寄存器位分配,位,數值,,126,,圖示IRQ中斷的發(fā)生過程,,1.正在執(zhí)行用戶程序;,①,2.外部中斷0發(fā)生中斷;,②,3.VIC硬件將中斷服務程序地址裝入VICVectAddr寄存器;,,④,4.程序跳轉至異常向量表中IRQ入口0 x0018處;,5.執(zhí)行指令跳轉至VICVectAddr寄存器中的中斷服務地址;,,⑤,⑥,6.中斷服務程序執(zhí)行完畢,返回被中斷的用戶程序繼續(xù)執(zhí)行被中斷的代碼。,,,127,,圖示IRQ中斷的發(fā)生過程,,①,②,,④,,⑤,⑥,,,IRQ_Eint0,,注意:任何IRQ中斷產生之后,微控制器跳轉到地址0 x18執(zhí)行代碼,該地址處的指令為:LDRPC,[PC,#-0 xff0]在執(zhí)行該指令時,PC指向當前指令后的第2條指令,即地址0 x20。該指令將內存地址:0 x20-0 xFF0=0 xFFFFF030處的內容存入PC,該地址正是VICVectAddr寄存器的地址。所以一條ARM指令即可實現程序向中斷服務程序的跳轉。,128,使用VIC的注意要點,如果在片內RAM中調試程序,并使用了中斷,那么必須將存儲器映射控制設置為內部RAM模式;將多個中斷源設置為FIQ,將增加中斷響應延時,所以建議FIQ中斷只有一個中斷源;ADS1.2規(guī)定在定義中斷服務函數時必須加入關鍵字“__irq”,保證函數返回時會切換處理器模式;在退出中斷服務程序時要清零相應外設的中斷標志,以及VICVectAddr寄存器,為響應下次中斷作好準備。,129,VIC相關啟動代碼分析,.../*初始化VIC*/VICIntEnClr=0 xffffffff;VICVectAddr=0;VICIntSelect=0;...,在LPC2100、LPC2200的啟動代碼中包含有VIC初始化程序,默認是禁止所有中斷。,TargetResetInit函數:,InitStack...MSRCPSR_c,#0 xdfLDRSP,=StackUsrMOVPC,R0,在LPC2100、LPC2200的啟動代碼中默認是關閉IRQ和FIQ中斷的。如果用戶需要使用這兩個中斷,則要設置CPSR寄存器的I位或F位,這需要在特權模式下處理。最簡單的方法是在啟動代碼中設置(修改0 xdf值)。,處理器各模式堆棧設置:,130,5.6.5IRQ中斷的設計實例——VIC相關啟動代碼分析,CODE32AREAvectors,CODE,READONLYENTRYResetLDRPC,ResetAddrLDRPC,UndefinedAddr...DCD0 xb9205f80LDRPC,[PC,#-0 xff0]LDRPC,FIQ_AddrResetAddrDCDResetInitUndefinedAddrDCDUndefined...NouseDCD0IRQ_AddrDCD0FIQ_AddrDCDFIQ_Handler,異常向量表:,一旦產生IRQ中斷,微控制器切換到IRQ模式,并跳轉到向量表0 x0018地址執(zhí)行指令。,一旦產生FIQ中斷,微控制器切換到FIQ模式,并跳轉到向量表0 x001C地址執(zhí)行指令,然后跳轉到FIQ_Handler代碼段。,,,,,131,本章小結,本章首先介紹了ARM系列芯片特點及其內部結構,芯片內部由ARM7內核、局部總線、先進的高性能(AHB)總線和連接外設的外圍總線(VPB)連接各種資源。通過對存儲器結構分析,介紹了ARM處理器各種資源的地址分布以及地址映射,片內外存儲器資源及編程作了介紹,引入存儲器重映射概念,增加了系統的靈活性,包括引導塊“BootBlock”重映射和異常向量表的重映射,分析了引入重映射的目的,重映射的原理以及重映射的實現機制,給出了ARM微處理器在上電或復位后程序運行流程以及啟動代碼流程。系統控制模塊的功能部件影響全局,系統控制模塊對時鐘、鎖相環(huán)、功率控制以及復位等電路做了介紹。中斷是嵌入式處理器與外設傳輸數據很重要的一種方式,在中斷技術中講述了中斷概念、多個中斷源的管理以及一般中斷的處理過程。嵌入式處理器中斷源很多,LPC2000系列處理器通過向量中斷控制器VIC統一管理,通過對向量中斷控制器VIC的結構分析,給出了向量中斷的處理過程。,132,作業(yè),2,3,4,5,7,8,- 配套講稿:
如PPT文件的首頁顯示word圖標,表示該PPT已包含配套word講稿。雙擊word圖標可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設計者僅對作品中獨創(chuàng)性部分享有著作權。
- 關 鍵 詞:
- LPC2000 系列 微處理器 組成 中斷 技術
裝配圖網所有資源均是用戶自行上傳分享,僅供網友學習交流,未經上傳用戶書面授權,請勿作他用。
鏈接地址:http://m.appdesigncorp.com/p-11497056.html