




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、2008年12月15日南京大學(xué)計算機(jī)系1嵌入式系統(tǒng)原理與開發(fā)嵌入式系統(tǒng)原理與開發(fā)第第13講講南京大學(xué)計算機(jī)系 俞建新主講2008年春季2008年12月15日南京大學(xué)計算機(jī)系2第第7章章 中斷、中斷、DMA和時間管理和時間管理l本章主要介紹以下內(nèi)容:l嵌入式中斷控制器l嵌入式DMA控制器l嵌入式時鐘電源管理器l嵌入式實時時鐘l嵌入式脈寬調(diào)制定時器2008年12月15日南京大學(xué)計算機(jī)系3引言引言 l中斷控制、DMA控制、時鐘脈沖控制和定時控制是所有計算機(jī)的必備功能,嵌入式處理器也不例外。l這一講主要學(xué)習(xí)S3C44B0X嵌入式處理器中的中斷控制器、DMA控制器以及與時間控制直接相關(guān)的四個部件。l與時
2、間控制直接相關(guān)的四個部件是分別是:時鐘電源管理器、鎖相環(huán)、實時時鐘和脈沖寬度調(diào)制定時器。2008年12月15日南京大學(xué)計算機(jī)系47.1 嵌入式系統(tǒng)中斷控制嵌入式系統(tǒng)中斷控制l本節(jié)介紹以下內(nèi)容l嵌入式中斷控制器工作原理lS3C44B0X中斷控制器lS3C44B0X的中斷優(yōu)先級產(chǎn)生模塊lS3C44B0X的向量中斷模式lS3C4510B中斷控制器簡介lS3C2410X中斷控制器簡介l建立異常中斷向量中斷表l非向量中斷模式的中斷入口程序范例l嵌入式中斷應(yīng)用程序舉例lS3C44B0X硬件中斷應(yīng)用舉例2008年12月15日南京大學(xué)計算機(jī)系5中斷控制器概述幾種處理器的中斷控制器一覽表處理器型號Pentium
3、 4MCS-51S3C44B0XS3C4510MPC680計算機(jī)類別PC單片機(jī)嵌入式嵌入式嵌入式體系結(jié)構(gòu)x868051ARM7ARM7PowerPC內(nèi)置/外置芯片外置,8259A,可以級聯(lián)內(nèi)置內(nèi)置內(nèi)置內(nèi)置中斷源數(shù)8個, 最大級聯(lián)方式下64 個5個共30個, 外部8個共21個共44個控制寄存器IRR,IMR,ISR,ICW1-ICW4,OCW1-OCW3TCON,IE,SCON,IPINTCON,INTPNDINTMOD,INTMSKEXTINT,EXTINTPND, , , etcINTPND,INTMOD,INTMSK,INTOFFSET,EXTPNDPRI, , , etc兩個控制器:SI
4、U和CPM2008年12月15日南京大學(xué)計算機(jī)系6PC機(jī)的中斷控制器機(jī)的中斷控制器l以普遍使用的基于x86處理器的PC機(jī)(臺式機(jī)和筆記本)為例,它們都擁有兩塊級聯(lián)的中斷控制器接口芯片Intel 8259A,這種中斷控制器接口芯片早期是分立元件,安裝在主板上。自從80386處理器問世之后到現(xiàn)在所有PC機(jī)的這兩塊8259A中斷接口控制器都集成在芯片組中。2008年12月15日南京大學(xué)計算機(jī)系7嵌入式系統(tǒng)中斷控制器概述嵌入式系統(tǒng)中斷控制器概述l對通用計算機(jī)而言,中斷控制包括:中斷請求管理、中斷使能/禁能、中斷優(yōu)先級分配、中斷優(yōu)先級判定、中斷屏蔽/解除屏蔽、中斷響應(yīng)、現(xiàn)場保護(hù)和恢復(fù)等等。l中斷控制由C
5、PU內(nèi)部的中斷處理邏輯和寄存器,以及外部的中斷控制器接口芯片完成。l從功能角度看,嵌入式處理器與通用處理器的中斷控制器擁有基本相同的功能,只是實現(xiàn)細(xì)節(jié)不同。2008年12月15日南京大學(xué)計算機(jī)系8PC和和ES的中斷控制器之主要差異的中斷控制器之主要差異l中斷控制器對于PC和ES都是不可缺少的l但是PC機(jī)的中斷控制器與CPU芯片是分離的,而ES中的中斷控制器幾乎都是內(nèi)嵌的。l例如:8051系列和ARM系列處理器等。2008年12月15日南京大學(xué)計算機(jī)系9x86與與ARM中斷向量表的比較中斷向量表的比較lx86處理器的中斷向量表l實模式中斷向量表起始地址是0號單元地址,每一個中斷向量占4字節(jié),總共
6、占空間1KB字節(jié)。lARM處理器的中斷向量表l與x86處理器類似,ARM處理器在啟動時也需要一個異常中斷向量表。該表也從ROM的0號地址單元存放,每4個字節(jié)對應(yīng)于一個異常中斷,總空間只有32個字節(jié)。l與x86處理器實模式中斷向量表不同的是ARM處理器的中斷向量表中存放的是轉(zhuǎn)移指令,而不是轉(zhuǎn)移目標(biāo)的邏輯地址。2008年12月15日南京大學(xué)計算機(jī)系10lx86處理器的實模式中斷向量表起始地址是0號單元地址,每一個中斷向量占4字節(jié),總共占空間1KB字節(jié)。x86處理器的每一個中斷向量就是該中斷向量號所對應(yīng)的中斷服務(wù)子程序首條指令的邏輯地址。 x86處理器的實模式中斷向量表2008年12月15日南京大學(xué)
7、計算機(jī)系11三種嵌入式中斷控制器介紹三種嵌入式中斷控制器介紹l以下詳細(xì)介紹S3C44B0X中斷控制器的工作原理與使用方法l概括介紹S3C4510B和S3C2410X的中斷控制器。l共同特點:三者都內(nèi)嵌在處理器芯片內(nèi)。l差異之處:這些中斷控制器能夠管理的中斷源數(shù)量各不相同,內(nèi)部控制寄存器的設(shè)置不同,中斷優(yōu)先級分配也不一樣。2008年12月15日南京大學(xué)計算機(jī)系12lARM系列處理器有兩種中斷請求類型:l普通中斷請求IRQl快速中斷請求FIQ7.1.1 ARM處理器的中斷類型處理器的中斷類型 2008年12月15日南京大學(xué)計算機(jī)系13lIRQ中斷請求lInterrupt Requestl也叫IRQ
8、異常,屬于普通中斷請求。l由nIRQ引腳上的低電平觸發(fā)。lIRQ中斷請求的優(yōu)先級低于FIQ,當(dāng)FIQ信號進(jìn)入時,IRQ被暫停執(zhí)行。IRQ普通中斷請求普通中斷請求2008年12月15日南京大學(xué)計算機(jī)系14FIQ快速中斷請求快速中斷請求lFIQ中斷請求中斷請求lFast Interrupt Requestl也叫FIQ異常,屬于快速中斷請求。l用于高速數(shù)據(jù)傳輸和通道處理l在ARM工作模式下,F(xiàn)IQ擁有充足的私用寄存器(比IRQ多了5個寄存器)。無需程序員在編程時考慮節(jié)省寄存器,從而減小了任務(wù)切換時的開銷。2008年12月15日南京大學(xué)計算機(jī)系15lFIQ由外部的nFIQ引腳上的低電平產(chǎn)生,其電平輸入
9、依賴于ISYNC(ARM7TDMI輸入信號),能夠排除同步或異步的情況。當(dāng)ISYNC信號為低電平時,IRQ和FIQ被認(rèn)為是異步的,在中斷影響處理器流程之前,會產(chǎn)生一個時鐘周期延時以轉(zhuǎn)入同步狀態(tài)。FIQ的信號產(chǎn)生的信號產(chǎn)生2008年12月15日南京大學(xué)計算機(jī)系16l在特權(quán)(非用戶)模式下,設(shè)置/復(fù)位PSR(CPSR和SPSR的統(tǒng)稱)的I位和F位,能夠禁止/允許CPU響應(yīng)IRQ和FIQ中斷請求。因此為了開發(fā)IRQ和FIQ中斷響應(yīng)功能,I位和F位必須被清0,同時INTMSK(中斷屏蔽寄存器)的相應(yīng)位也必須清0。 IRQ中斷和中斷和FIQ中斷的禁能中斷的禁能/使能方式使能方式2008年12月15日南京
10、大學(xué)計算機(jī)系17ADS/AXD中的增強(qiáng)型程序狀態(tài)字中的增強(qiáng)型程序狀態(tài)字(EPSR)l以下是ADS的AXD工具給出的EPSR顯示界面2008年12月15日南京大學(xué)計算機(jī)系18lS3C44B0X處理器能夠處理30個中斷源,其中內(nèi)建的中斷控制器可接受26個中斷源的中斷請求信號。4個外部中斷(EINT4/5/6/7)請求是通過“或”的形式合成為1個中斷源送至中斷控制器,2個UART錯誤中斷(UERROR0/1)也是如此。l下面給出S3C44B0X的中斷控制器內(nèi)部寄存器以及處理流程。7.1.2 S3C44B0X中斷控制器概述中斷控制器概述2008年12月15日南京大學(xué)計算機(jī)系197.1.2.1 S3C4
11、4B0X的中斷控制寄的中斷控制寄存器組存器組2008年12月15日南京大學(xué)計算機(jī)系20S3C44B0X處理器的中斷源說明l有關(guān)S3C44B0X處理器的中斷源的詳細(xì)信息如教材中的表7-2(212頁)所示。l表7-2的欄目說明l第2列:中斷源名稱l第3列:中斷描述l第4列:從屬連接的中斷優(yōu)先級裁決器的主單元名l第5列:從屬連接的中斷優(yōu)先級裁決器的輔單元名l第6列:二級中斷向量地址(小端序)2008年12月15日南京大學(xué)計算機(jī)系21S3C44B0X的中斷源清單 (1)序序號號中斷源中斷源描述描述主單元主單元引腳引腳輔單元輔單元引腳引腳中斷向量地址中斷向量地址1EINT0外部中斷0mGAsGA0 x0
12、000 00202EINT1外部中斷1mGAsGB0 x0000 00243EINT2外部中斷2mGAsGC0 x0000 00284EINT3外部中斷3mGAsGD0 x0000 002C5EINT4/5/6/7外部中斷4/5/6/7mGAsGKA0 x0000 00306TICKRTC時鐘節(jié)拍中斷mGAsGKB0 x0000 00347INT_ZDMA0通用DMA0中斷mGBsGA0 x0000 00408INT_ZDMA1通用DMA1中斷mGBsGB0 x0000 00442008年12月15日南京大學(xué)計算機(jī)系22S3C44B0X的中斷源清單 (2)序序號號中斷源中斷源描述描述主單元主單
13、元引腳引腳輔單元輔單元引腳引腳中斷向量地中斷向量地址址9INT_BDMA0橋DMA0中斷mGBsGC0 x0000 004810INT_BDMA1橋DMA1中斷mGBsGD0 x0000 004C11INT_WDT看門狗中斷mGBsGKA0 x0000 005012INT_UERR0/1串行口O/1錯誤mGBsGKB0 x0000 005413INT_TIMER0定時器0中斷mGCsGA0 x0000 006014INT_TIMER1定時器1中斷mGCsGB0 x0000 006415INT_TIMER2定時器2中斷mGCsGC0 x0000 006816INT_TIMER3定時器3中斷mGC
14、sGD0 x0000 006C17 INT_TIMER4定時器4中斷mGCsGKA0 x0000 00702008年12月15日南京大學(xué)計算機(jī)系23S3C44B0X的中斷源清單 (3)序序號號中斷源中斷源描述描述主單元主單元引腳引腳輔單元輔單元引腳引腳中斷向量地中斷向量地址址18INT_TIMER5定時器5中斷mGCsGKB0 x0000 007419INT_URXD0串行口0接收中斷mGDsGA0 x0000 008020INT_URXD1串行口1接收中斷mGDsGB0 x0000 008421INT_IICIIC中斷mGDsGC0 x0000 008822INT_SIOSIO中斷mGDsG
15、D0 x0000 008C23INT_UTXD0串行口0發(fā)送中斷mGDsGKA0 x0000 009024INT_UTXD1串行口1發(fā)送中斷mGDsGKB0 x0000 009425INT_RTCRTC報警中斷mGKA0 x0000 00A026INT_ADCAD轉(zhuǎn)換結(jié)束中斷mGKB0 x0000 00C02008年12月15日南京大學(xué)計算機(jī)系24S3C44B0X的中斷源優(yōu)先級l上面的表7-2的欄目序號代表了中斷源的中斷優(yōu)先級。l例如:EINT0,外部中斷0的中斷優(yōu)先級為1,是具有最高優(yōu)先級的中斷源l在例如:INT_ADC,AD轉(zhuǎn)換操作結(jié)束中斷的中斷優(yōu)先級為26,它的中斷優(yōu)先級最低。2008年
16、12月15日南京大學(xué)計算機(jī)系25lEINT4,EINT5,EINT6和EINT7是S3C44B0X處理器的外部中斷請求引腳,它們共用同一個中斷請求源。l因此,ISR(中斷服務(wù)子程序)要通過讀取EXTINTPND30寄存器來區(qū)別這4個中斷源,并在處理結(jié)束時通過將EXTINTPND30中對應(yīng)位寫1來清除該位。 S3C44B0X “線或線或”的的4個外部中斷源個外部中斷源 2008年12月15日南京大學(xué)計算機(jī)系26lS3C44B0X中的中斷請求(懸置)寄存器就是INTPND寄存器,其端口地址在0 x01E00004,只讀屬性,初值為0 x0。l它記錄中斷請求信號的到來,相當(dāng)于PC機(jī)8259A中斷控制
17、器接口中的中斷請求寄存器(IRR:Interrupt Request Register)。因為S3C44B0X的中斷控制器只處理26個中斷源,所以INTPND寄存器共有26個位有效位。其中的26位bit25-bit0分別對應(yīng)26個中斷源,標(biāo)記該中斷源的中斷請求狀態(tài),稱為該中斷源的中斷Pending狀態(tài)位。Pending位等于0,說明對應(yīng)的中斷源沒有發(fā)出中斷請求;Pending位等于1,說明對應(yīng)的中斷源發(fā)出了中斷請求。l參看表7-3的左起第3列。 S3C44B0X的中斷請求(懸置)寄存器INTPND2008年12月15日南京大學(xué)計算機(jī)系27中斷控制器主要功能列表(表7-3)控制位中斷源INTPN
18、D寄存器中斷請求寄存器只讀存儲器INTMOD中斷模式寄存器INTMSK中斷屏蔽寄存器I_ISPR/F_ISPR中斷服務(wù)懸掛寄存器I_ISPC/F_ISPC中斷服務(wù)懸掛清除寄存器0ADC轉(zhuǎn)換結(jié)束中斷1:中斷請求發(fā)生,但并非一定得到處理。0:中斷請求沒有發(fā)生1:FIQ中斷0:IRQ中斷1:屏蔽中斷0:開放中斷I_ISPR/ F_ISPR:0=未執(zhí)行ISR,1=正執(zhí)行ISR。I_ISPC/F_ISPC:寫“1”清除Pending位寫“0”不改變Pending狀態(tài)1RTC報警中斷同上同上同上同上2UART1發(fā)送中斷同上同上同上同上注:本表是教材的表7-3,沒有全部繪出。該中斷控制器對其余中斷源(表7-
19、2列出)的控制功能與上面列出的3個中斷源控制功能類似。2008年12月15日南京大學(xué)計算機(jī)系28l當(dāng)一個中斷源發(fā)出中斷請求,INTPND寄存器中對應(yīng)的Pending位會被自動置1。此時如果S3C44B0X對該中斷源開放IRQ或者FIQ,中斷服務(wù)程序(ISR)就會被啟動執(zhí)行。中斷服務(wù)程序執(zhí)行完畢返回主程序之前必須清除該中斷源的Pending位。由于INTPND寄存器是只讀寄存器,不可直接改寫。所以在中斷服務(wù)程序結(jié)束之前,需要對中斷服務(wù)懸掛清除寄存器I_ISPC或F_ISPC的相應(yīng)位寫入“1”,以實現(xiàn)清除該中斷源的Pending位。INTPND寄存器的操作2008年12月15日南京大學(xué)計算機(jī)系29
20、l中斷模式寄存器INTMOD位于0 x01E00008,可讀可寫屬性,初值為0 x0,其中的26位bit25-bit0分別對應(yīng)26個中斷源,標(biāo)記該中斷源的中斷請求模式是IRQ還是FIQ。這26位稱為中斷模式位(Mode bit)。如表7-3的左起第4列所示。當(dāng)某中斷源在INTMOD寄存器中的Mode位設(shè)置為1,則ARM7TDMI內(nèi)核將以FIQ模式響應(yīng)此中斷源的中斷請求;否則,以IRQ模式響應(yīng)。 中斷模式寄存器INTMOD2008年12月15日南京大學(xué)計算機(jī)系30l程序員可以通過中斷模式寄存器INTMOD的設(shè)置將所有的中斷源定義為IRQ中斷。在這種中斷的預(yù)設(shè)定工作狀態(tài)下,如果在同一時刻發(fā)生了多個
21、中斷請求(例如,13個或者8個等等),中斷響應(yīng)例程就能夠通過讀取INTPND寄存器來了解哪些中斷發(fā)生了,并對產(chǎn)生的中斷依次進(jìn)行處理。這就是通過軟件查詢方式來決定中斷服務(wù)的優(yōu)先級。 軟件讀取INTPND查詢中斷源2008年12月15日南京大學(xué)計算機(jī)系31lS3C44B0X的中斷屏蔽寄存器是INTMSK寄存器,端口地址:0 x01E0000C,具有可讀可寫屬性,初值為0 x07FFFFFF。在INTMSK寄存器中,bit25到bit0的26位依次對應(yīng)著26個中斷源。取值為1,表示該中斷源的中斷請求被屏蔽,CPU不會響應(yīng);取值為0,表示該中斷源的中斷請求被CPU響應(yīng)。bit26是全局(GLOBAL)
22、屏蔽位,取值為1時所有的中斷請求都被屏蔽,并且INTPND寄存器被設(shè)為1。請參看表7-3的右起第2列。 中斷屏蔽寄存器INTMSK2008年12月15日南京大學(xué)計算機(jī)系32l值得注意的是:如果某個中斷源在INTMSK寄存器中的對應(yīng)屏蔽位為1,但是這個中斷源還是發(fā)出了中斷請求,則它在INTPND寄存器的Pending位還是會置位,只是不會自動轉(zhuǎn)入中斷服務(wù)程序。如果全局屏蔽位被置1,那么,當(dāng)任一中斷發(fā)生時,中斷Pending位還是會置位,但是所有的中斷都不會得到服務(wù)。 INTMSK寄存器的中斷屏蔽位1值=屏蔽中斷,0值=非屏蔽2008年12月15日南京大學(xué)計算機(jī)系33lS3C44B0X的中斷控制器
23、是INTCON,位于0 x01E00000,R/W屬性,共4位,初值是0 x7。這4位的定義如下表所示,參看下表: 中斷控制器INTCON2008年12月15日南京大學(xué)計算機(jī)系34INTCON寄存器的位定義(表7-4)INTCON位描述初始值F0允許/禁止快速中斷 0:允許,1:禁止在使用FIQ中斷之前,該位必須清零。FIQ不支持向量中斷1I1允許/禁止普通中斷 0:允許,1:禁止在使用IRQ中斷之前,該位必須清零。1V2允許/禁止向量中斷模式 0:允許,1:禁止1保留3002008年12月15日南京大學(xué)計算機(jī)系35lI_ISPR是IRQ模式下的中斷服務(wù)懸掛寄存器,位于0 x01E00020,
24、只讀屬性,初值為0 x0。F_ISPR是FIQ模式下的中斷服務(wù)懸掛(Pending)寄存器,位于0 x01E00038,只讀屬性,初值為0 x0。這兩個寄存器的26位bit25-bit0分別對應(yīng)26個中斷源,標(biāo)記該中斷源是否正處于中斷服務(wù)狀態(tài),稱為中斷服務(wù)懸掛位。請參看表7-3的最右欄。 中斷服務(wù)懸掛寄存器I_ISPR或F_ISPR2008年12月15日南京大學(xué)計算機(jī)系36l如果在I_ISPR中的對應(yīng)位置1,則表明該中斷源正在執(zhí)行IRQ型中斷服務(wù)程序。如果在F_ISPR中的對應(yīng)位置1,則表明該中斷源正在執(zhí)行FIQ型中斷服務(wù)程序。根據(jù)INTMOD的設(shè)置,顯然上述兩種情況中只能出現(xiàn)一種。此外,在任
25、何情況下I_ISPR和F_ISPR寄存器中,只有1位被置位。這就是說,I_ISPR和F_ISPR分別只登記一個正在服務(wù)的中斷。 I_ISPR或F_ISPR的位操作2008年12月15日南京大學(xué)計算機(jī)系37lI_ISPC是IRQ模式下的中斷服務(wù)懸掛清除寄存器,位于0 x01E00024,只寫屬性,初值未定義。F_ISPC是FIQ模式下的中斷服務(wù)懸掛清除寄存器,位于0 x01E0003C,只寫屬性,初值未定義。lI_ISPC或F_ISPC寄存器起清除中斷懸掛位(INTPND)的作用。這兩個寄存器的26位bit25-bit0分別對應(yīng)26個中斷源,只接受寫入的數(shù)據(jù),稱為中斷服務(wù)懸掛清除位,其作用是標(biāo)記
26、中斷源的中斷服務(wù)懸掛狀態(tài)是否被清除。請參看表7-3的最右欄。 中斷服務(wù)懸掛清除寄存器I_ISPC或F_ISPC 2008年12月15日南京大學(xué)計算機(jī)系38l如果中斷服務(wù)懸掛清除位的寫入值為0,則標(biāo)記該中斷源的中斷服務(wù)懸掛狀態(tài)沒有變化。如果中斷服務(wù)懸掛清除位的寫入值為1,則標(biāo)記該中斷源的中斷服務(wù)懸掛位被清除。一旦I_ISPC或F_ISPC寄存器中有某一個位被置位(寫入“1”),則對應(yīng)在INTPND寄存器中的該中斷源Pneding位將會被自動清除(復(fù)位)。此外,I_ISPC和F_ISPC還會通知中斷控制器,該中斷服務(wù)程序(ISR)已經(jīng)結(jié)束。 中斷服務(wù)懸掛清除位的操作含義2008年12月15日南京大
27、學(xué)計算機(jī)系39l總之,為某個中斷源服務(wù)的ISR結(jié)束時,與該中斷源相對應(yīng)的Pending位也必須被清除。要將INTPND的某一個Pending位清零,其方法就是在I_ISPC或F_ISPC的相應(yīng)位寫入1。在向I_ISPC或F_ISPC寄存器寫清除位時,還必須注意:I_ISPC或F_ISPC寄存器在ISR中只能被操作1次。 中斷服務(wù)子程序的結(jié)束處理 2008年12月15日南京大學(xué)計算機(jī)系40l兩種S3C44B0X中斷源確定方式:l一種方式是通過程序查詢方式進(jìn)行,也就是查詢PEND寄存器里的置1位決定中斷源。該方式在轉(zhuǎn)跳到相應(yīng)中斷服務(wù)程序之前,因為執(zhí)行的指令數(shù)目較多,有較長延遲時間。再者各個中斷源的
28、優(yōu)先級由PEND寄存器的位定義序號確定,固定不變。l另一種方式由中斷優(yōu)先級產(chǎn)生模塊來決定中斷源,各個中斷源的中斷優(yōu)先級通過該模塊的硬件接線決定。這就是所謂的向量中斷模式,它只適用于IRQ。 7.1.2.2 S3C44B0X處理器的中斷優(yōu)先處理器的中斷優(yōu)先級產(chǎn)生模塊級產(chǎn)生模塊 2008年12月15日南京大學(xué)計算機(jī)系41l當(dāng)多個IRQ中斷源同時請求中斷時,中斷優(yōu)先級產(chǎn)生模塊(硬件優(yōu)先級邏輯)可以決定哪一個IRQ應(yīng)該得到響應(yīng)。然后,這個硬件邏輯產(chǎn)生普通中斷請求信號,跳到異常中斷向量表中對應(yīng)IRQ的地址處,再跳轉(zhuǎn)到與該中斷相應(yīng)的中斷服務(wù)程序的首地址。與前一種軟件方式相比,這種方式將大大減少中斷延遲。中
29、斷優(yōu)先級產(chǎn)生模塊的硬件判優(yōu) 2008年12月15日南京大學(xué)計算機(jī)系42S3C44B0X中斷優(yōu)先級產(chǎn)生模塊結(jié)構(gòu)圖 l參看教材圖7-1l4個從單元mGA、mGB、mGC、mGD的優(yōu)先級可以通過對I_CMST寄存器編程進(jìn)行設(shè)置2008年12月15日南京大學(xué)計算機(jī)系43l對于IRQ中斷請求有一個中斷請求優(yōu)先級產(chǎn)生模塊。如果使用中斷向量模式,并且中斷源被配置為IRQ中斷,中斷請求將被中斷優(yōu)先級產(chǎn)生模塊進(jìn)行判優(yōu)處理。中斷優(yōu)先級產(chǎn)生模塊包括5個單元:1個主單元,4個從單元。每個從單元管理6個中斷源,包括4個可編程的優(yōu)先級源(sGn)和2個固定優(yōu)先級源(sGKn)。 S3C44B0X中斷優(yōu)先級產(chǎn)生模塊內(nèi)部結(jié)構(gòu)
30、(1)2008年12月15日南京大學(xué)計算機(jī)系44l1個主單元管理4個從單元mGn和2個單獨中斷源mGKn,以確定4個從單元和2個單獨中斷源的優(yōu)先級。其中4個從單元mGA、mGB、mGC及mGD的優(yōu)先級次序可編程,或者通過Round-Robin(輪轉(zhuǎn))方式來決定。在2個單獨中斷源mGKA和mGKB之間,mGKA總是具有更高的優(yōu)先級。由于實時時鐘RTC接線在mGKA入口上,數(shù)模轉(zhuǎn)換器ADC接線在mGKB入口上,所以實時時鐘的中斷請求優(yōu)先級高于數(shù)模轉(zhuǎn)換器的中斷請求優(yōu)先級。 S3C44B0X中斷優(yōu)先級產(chǎn)生模塊內(nèi)部結(jié)構(gòu)(2)2008年12月15日南京大學(xué)計算機(jī)系45l中斷優(yōu)先級中斷優(yōu)先級l如果中斷源A被
31、設(shè)置為FIQ中斷,而中斷源B設(shè)置為IRQ中斷,那么中斷源A比中斷源B具有更高的中斷優(yōu)先級,因為在任何情況下,F(xiàn)IQ中斷都比IRQ中斷具有更高的優(yōu)先級。l如果中斷源A和中斷源B在不同的從單元中,并且A所在的從單元的優(yōu)先級比B所在的從單元優(yōu)先級高,則中斷源A的優(yōu)先級肯定比中斷源B的優(yōu)先級高。 S3C44B0X中斷優(yōu)先級產(chǎn)生模塊內(nèi)部結(jié)構(gòu)(3)2008年12月15日南京大學(xué)計算機(jī)系46l連接到sGA、sGB、sGC和sGD入口上的中斷源的中斷優(yōu)先級總是高于連接到sGKA和sGKB入口上的中斷源的中斷優(yōu)先級。在sGA、sGB、sGC和sGD入口之間,優(yōu)先級的高低是可編程的,或者通過輪轉(zhuǎn)方式來決定。在sG
32、KA和sGKB兩個入口之間,sGKA總是擁有更高的優(yōu)先級。 S3C44B0X中斷優(yōu)先級產(chǎn)生模塊內(nèi)部結(jié)構(gòu)(4)2008年12月15日南京大學(xué)計算機(jī)系47S3C44B0X的中斷優(yōu)先級判優(yōu)小結(jié)S3C44B0X優(yōu)先級產(chǎn)生模塊的內(nèi)部結(jié)構(gòu)如下一頁幻燈片插圖所示。圖中主單元(主群)的中斷源優(yōu)先級定義:1 mGA、mGB、mGC、mGDmGKAmGKB;2 mGA、mGB、mGC、mGD之間優(yōu)先級可以通過對I_CMST寄存器編程設(shè)定或者可輪詢圖中從單元(從群)的中斷源優(yōu)先級定義: sGA、sGB、sGC、sGDsGKAsGKB; sGA、sGB、sGC、sGD之間優(yōu)先級可以通過對I_PSLV寄存器編程設(shè)定或者
33、可輪詢。2008年12月15日南京大學(xué)計算機(jī)系487.1.2.3 中斷控制器的主要初始化操作中斷控制器的主要初始化操作l程序狀態(tài)寄存器的I位和F位l中斷模式l中斷掛起寄存器l只讀,通過I_ISPC和F_ISPC來清除l中斷屏蔽寄存器2008年12月15日南京大學(xué)計算機(jī)系49設(shè)置中斷控制寄存器指針變量的語句/* INTERRUPT 參看44B.H */#define rINTCON(*(volatile unsigned *)0 x1e00000)#define rINTPND(*(volatile unsigned *)0 x1e00004)#define rINTMOD(*(volatile
34、 unsigned *)0 x1e00008)#define rINTMSK(*(volatile unsigned *)0 x1e0000c)2008年12月15日南京大學(xué)計算機(jī)系50設(shè)置設(shè)置INTCON寄存器寄存器V位的語句位的語句/ Initialze interrupts. 參看UHAL.Cvoid uHALr_InitInterrupts(void)/ Non-vectored,IRQ disable,FIQ disable rINTCON=0 x0; / 允許向量中斷,允許IRQ和FIQ / All=IRQ mode rINTMOD=0 x0; / All interrupt is
35、 masked. rINTMSK=BIT_GLOBAL; /uHALr_InitInterrupts2008年12月15日南京大學(xué)計算機(jī)系51S3C44B0X中斷初始化函數(shù)中斷初始化函數(shù)void InitInt (void)#define V 0 / 0 = 向量模式, 1 = 非向量模式#define I 0 / 0 = IRQ 使能#define F 1 / 0 = FIQ 使能 (不允許向量中斷) ,1 = Reserved rINTCON = (V2)+(I1)+F);/ EINT0 EINT1 EINT2 EINT3 EINT4567 TICK ZDMA0 ZDMA1 / BDMA0
36、 BDMA1 WDT UERR0/1 TIMER0 TIMER1 TIMER2/ TIMER3 TIMER4 TIMER5 URXD0 URXD1 IIC SIO UTXD0 UTXD1 / RTC ADC./ 0 = IRQ mode,1 = FIQ mode rINTMOD = (025)+(024)+(023)+(022)+(021)+(020)+(019)+(018)+(017)+(016)+(015)+(014)+(013)+(012)+(011)+(010)+(09)+(08)+(07)+(06)+(05)+(04)+(03)+(02)+(01)+0);/ 0 = Service
37、available 1 = Masked2008年12月15日南京大學(xué)計算機(jī)系52S3C44B0X中斷初始化函數(shù)(續(xù))中斷初始化函數(shù)(續(xù))rINTMSK = (125)+(124)+(123)+(122)+(121)+(120)+(119)+(118)+(117)+(116)+(115)+(114)+(113)+(112)+(111)+(110)+(19)+(18)+(17)+(16)+(15)+(14)+(13)+(12)+(11)+1); / 1表示屏蔽/ IRQ priority of slave register rI_PSLV = 0 x1b1b1b1b;/默認(rèn)值/ IRQ prio
38、rity of master register/默認(rèn)值 rI_PMST = 0 x00001f1b;/ IRQ interrupt service pending clear register rI_ISPC = rI_ISPR; / 初值為0 x0,Clear all pending./ FIQ interrupt service pending clear register rF_ISPC = rF_ISPR; / 初值為0 x0, Clear all pending. rEXTINTPND = 0 x0f; / 外部中斷(4,5,6,and 7) 懸掛寄存器被置1清除2008年12月15
39、日南京大學(xué)計算機(jī)系53l一旦ARM處理器收到中斷控制器發(fā)來的IRQ中斷請求,不論是否是向量中斷模式,通常都會在0 x18處執(zhí)行一條轉(zhuǎn)移指令。l S3C44B0X處理器有一個向量中斷新特性,它只用于IRQ中斷,以減少中斷延遲時間。l在向量中斷模式下,當(dāng)ARM7TDMI在0 x00000018地址取指令時,中斷控制器會加載一條轉(zhuǎn)移指令到數(shù)據(jù)總線上。這條轉(zhuǎn)移指令將使程序計數(shù)器的取值為對應(yīng)于各個中斷源的唯一地址。 7.1.3 S3C44B0X的向量中斷模式的向量中斷模式 2008年12月15日南京大學(xué)計算機(jī)系54向量中斷模式下向量中斷模式下IRQ處理流程舉例處理流程舉例第第2個外部中斷個外部中斷EIN
40、T2的的IRQ處理處理以以EINT2中斷為例,中斷為例,IRQ處理流程如下:處理流程如下:EINT2中斷信號0X180X20執(zhí)行 ldr pc,handlerEINT2轉(zhuǎn)到 handlerEINT2 handler handleEINT2 處執(zhí)行。handlerEINT2此為宏指令,包括:保存工作狀態(tài),運(yùn)行handleEINT2,恢復(fù)工作狀態(tài)handleEINT2就是相應(yīng)中斷處理函數(shù)的首地址分支指令使跳轉(zhuǎn)2008年12月15日南京大學(xué)計算機(jī)系55l中斷控制器為每一個中斷源的中斷向量地址生成一條轉(zhuǎn)移機(jī)器指令。例如,如果EINT0是IRQ,則中斷控制器產(chǎn)生一條轉(zhuǎn)移指令,它從0 x18轉(zhuǎn)移到0 x2
41、0。這樣,中斷控制器就產(chǎn)生一條0 xEA000000的機(jī)器指令。用戶程序代碼必須為轉(zhuǎn)移指令確定轉(zhuǎn)移地址,讓每一個向量地址上的轉(zhuǎn)移指令轉(zhuǎn)移到所對應(yīng)的ISR(中斷服務(wù)子程序)。與向量地址相對應(yīng)的轉(zhuǎn)移機(jī)器指令按照下面的方法計算: S3C44B0X的向量中斷模式舉例 2008年12月15日南京大學(xué)計算機(jī)系56l向量中斷模式的轉(zhuǎn)移機(jī)器指令=0 xEA000000+(-0 x08)2)l例如:定時器0中斷以向量中斷模式處理,跳轉(zhuǎn)到它的ISR的轉(zhuǎn)移指令位于0 x00000060。ISR的起始地址是0 x10000,則存放在向量地址0 x00000060的轉(zhuǎn)移指令計算算式如下:l0 xEA000000+(0
42、x10000-0 x60-0 x8)2) = 0 xEA000000+0 x3FE6 = 0 xEA003FE6l這就是說0 xEA003FE6的32位機(jī)器指令將被寫入0 x00000060地址。這個機(jī)器指令通常由匯編器自動產(chǎn)生,無需程序員按照上面的方法計算。 S3C44B0X向量中斷模式向量中斷模式ISR的起始地址計算的起始地址計算2008年12月15日南京大學(xué)計算機(jī)系5744BINIT.s給出的給出的S3C44B0X一級中斷向量表地址分布一級中斷向量表地址分布2008年12月15日南京大學(xué)計算機(jī)系58一級和二級中斷向量表說明一級和二級中斷向量表說明S3C44B0中斷系統(tǒng)中有兩張中斷轉(zhuǎn)移表,
43、經(jīng)過二重轉(zhuǎn)移才跳到中斷處理程序。第一張中斷向量表由硬件決定,所在區(qū)域為ROM(flash),地址空間從 0 x00開始,其中0 x00-0 x1C為異常向量入口地址,0 x20-0 xC0為中斷向量入口地址。第二張中斷向量表在RAM中,可以方便地更改,其位置在程 序連接后才定。通過ldr PC,=Handler*之類的偽指令語句連接兩張中斷向量表。注意參考44BINIT.s給出的S3C44B0X一級中斷向量表地址分布圖、Handler宏指令代碼段和HANDLER宏定義。2008年12月15日南京大學(xué)計算機(jī)系59啟動代碼啟動代碼44Binit.s中具體的中斷處中具體的中斷處理函數(shù)跳轉(zhuǎn)的宏指令理函
44、數(shù)跳轉(zhuǎn)的宏指令 HandlerFIQHANDLERHandleFIQ HandlerIRQHANDLERHandleIRQ HandlerUndefHANDLERHandleUndef HandlerSWIHANDLERHandleSWI HandlerDabortHANDLERHandleDabort HandlerPabortHANDLERHandlePabort HandlerResetHANDLERHandleReset HandlerADCHANDLERHandleADC HandlerRTCHANDLERHandleRTC HandlerUTXD1 HANDLERHandleUTX
45、D1 HandlerUTXD0 HANDLERHandleUTXD0 HandlerSIOHANDLERHandleSIO HandlerIICHANDLERHandleIIC ; 更多的宏指令.2008年12月15日南京大學(xué)計算機(jī)系60HANDLER宏定義宏定義MACRO ; 宏定義開始$HandlerLabel HANDLER $HandleLabel $HandlerLabelsub sp,sp,#4; 棧指針減4,為存下一個元素做好準(zhǔn)備stmfd sp!,r0 ; 將R0壓棧,R0將用作中間寄存器ldr r0,=$HandleLabel ; R0寄存器中裝載了標(biāo)號HandleXXXld
46、r r0,r0 ; 加載標(biāo)號HandleXXX 的地址到R0寄存器str r0,sp,#4 ; 把HandleXXX標(biāo)號地址壓棧; HandleXXX標(biāo)號地址就是ISR的首地址ldmfd sp!,r0,pc; 彈出棧區(qū)的兩個元素到R0和PC ; 將中斷服務(wù)子程序函數(shù)的首地址出棧,;放入程序指針中,系統(tǒng)將跳轉(zhuǎn)到對應(yīng)中斷處理函數(shù) MEND; 宏定義結(jié)束2008年12月15日南京大學(xué)計算機(jī)系61HANDLER宏定義里的棧操作詳解宏定義里的棧操作詳解暫存R0寄存器的內(nèi)容標(biāo)號HandleXXX的地址,即XXXISR首地址初始棧頂元素SP初始SP低地址高地址內(nèi)存儲器內(nèi)存儲器2008年12月15日南京大學(xué)計
47、算機(jī)系62HANDLER宏定義詳解宏定義詳解宏定義:宏定義:MACRO $HandlerLabel HANDLER $HandleLabel 解釋如下:解釋如下: $HandlerLabel 是宏HANDLER的地址標(biāo)號。例句:ldr pc,=HandlerADC 即是跳轉(zhuǎn)到HandlerADC HANDLER HandleADC 去執(zhí)行,然后將HandlerADC HANDLER HandleADC 展開,$HandleLabel 是該宏的參數(shù),同樣是一個地址標(biāo)號,這個地址標(biāo)號中的內(nèi)容是中斷服務(wù)程序的地址標(biāo)號。語句HANDLER $HandleLabel 的作用是跳轉(zhuǎn)到$HandleLabe
48、l 中所存的中斷服務(wù)程序的地址標(biāo)號處執(zhí)行。2008年12月15日南京大學(xué)計算機(jī)系63S3C44B0X的向量中斷初始化的向量中斷初始化lS3C44B0X的向量中斷初始化步驟如下的向量中斷初始化步驟如下:1,在操作系統(tǒng)初始化代碼中為一級中斷向量表和二級中斷向量表預(yù)留存儲空間。2,清除中斷控制器INTCON的第2位(允許向量中斷模式)3,初始化一級中斷向量表和二級中斷向量表。4,在RAM工作區(qū),以一級中斷向量表和二級中斷向量表的Handler宏的參數(shù)(ISR標(biāo)識符: Handlexxxx )為標(biāo)號地址,編寫一級和二級中斷服務(wù)子程序的實現(xiàn)代碼。匯編器會自動地將用xxxxISR的首地址替換Handlex
49、xxx形式參數(shù)。2008年12月15日南京大學(xué)計算機(jī)系64ARM處理器向量中斷下的可重入的處理器向量中斷下的可重入的IRQ/FIQ異常中斷處理程序異常中斷處理程序AREA INTERRUPT, CODE, READONLY IMPORT C_irq_handler IRQSUB LR, LR, #4STMFD SP! LRMRS R14, SPSRSTMFD SP!, R12,R14; code; 添加指令,清除中斷標(biāo)志位; 添加指令,開中斷; 切換到系統(tǒng)模式,使能中斷MSR CPSR_C, #0 x1F 2008年12月15日南京大學(xué)計算機(jī)系65ARM處理器向量中斷下的可重入的處理器向量中斷
50、下的可重入的IRQ/FIQ異常中斷處理程序(續(xù))異常中斷處理程序(續(xù)); 保存用戶模式的LR_usr以及被調(diào)用者不保存的寄存器 STMFD SP!, R0-R3, LR BL C_irq_handler ;跳轉(zhuǎn)到C語言的中斷處理程序LDMFD sp!, R0-R3, LR; 切換到IRQ模式,禁止IRQ中斷,F(xiàn)IQ中斷仍然允許MSR CPSR_c, #0 x92; 恢復(fù)工作寄存器和SPSR_irqLDMFD SP!, R12, R14MSR SPSR_cf, R14; 從IRQ處理程序返回LDRFD SP!, PCEND2008年12月15日南京大學(xué)計算機(jī)系66l下面給出了使用I_ISPR寄存
51、器來查詢IRQ中斷源的代碼段例子。這段代碼具有非向量中斷屬性,也是CPU執(zhí)行IRQ中斷服務(wù)程序之后的最早執(zhí)行的代碼段。盡管最前面的五條指令屬于CPU響應(yīng)向量中斷時轉(zhuǎn)向ISR入口的指令,其中也包括了IRQ類型的中斷響應(yīng)。但是由于發(fā)出中斷請求的IRQ中斷源可能不止一個,也許有多個,需要通過程序進(jìn)一步判斷具體那一個中斷源發(fā)出了請求中斷并且被CPU響應(yīng)。因此,我們說這是一個非向量中斷模式的中斷入口程序。 7.1.4 S3C44B0X非向量中斷模式處理非向量中斷模式處理 2008年12月15日南京大學(xué)計算機(jī)系67局部標(biāo)號的舉例-S3C44B0X處理器非向量中斷ISR入口地址查找2008年12月15日南京
52、大學(xué)計算機(jī)系68S3C44B0X處理器非向量中斷ISR入口地址查找的棧操作棧頂SP棧元素棧頂SP棧元素空棧頂SP棧元素空R9R8棧頂SP棧元素ISR首地址R9R8棧頂SP棧元素ISR首地址R9R8(a)(b)(c)(d)(e)2008年12月15日南京大學(xué)計算機(jī)系69l與x86處理器不同,ARM處理器的異常中斷向量表(也稱為中斷向量表)內(nèi)部并非單純地存放ISR入口邏輯地址,該表內(nèi)部存放了8條匯編指令,完成跳轉(zhuǎn)到對應(yīng)的異常中斷處理程序總?cè)肟诘刂?。ARM處理器的異常中斷向量表指令有兩種類型,一種是數(shù)據(jù)讀取型,例如:LDR PC, Reset_Addr;另一種是分支指令型,例如:BL Reset_H
53、andler。 7.1.5 ARM異常中斷向量表的特點異常中斷向量表的特點2008年12月15日南京大學(xué)計算機(jī)系70lARM處理器要求異常中斷向量表放在ROM的首地址為0 x0的連續(xù)32個字節(jié)空間,有些ARM處理器還可以把異常中斷向量表放在高位起始地址。l以下講解S3C44B0X處理器中斷向量表的存放形式和執(zhí)行機(jī)制。其他的ARM處理器的中斷向量表的存放形式和執(zhí)行機(jī)制可以類推。S3C44B0X處理器處理器中斷向量表的存放形式和執(zhí)行機(jī)制中斷向量表的存放形式和執(zhí)行機(jī)制2008年12月15日南京大學(xué)計算機(jī)系71建立異常中斷向量中斷表(建立異常中斷向量中斷表(1) 數(shù)據(jù)讀取指令型異常中斷向量表數(shù)據(jù)讀取指
54、令型異常中斷向量表l在這種異常向量表中,每一個中斷向量是一條單寄存器Load指令,它把存放ISR首地址的32位絕對地址變量值Load到PC寄存器。l指令形式如:LDR PC, SWI_ADDRl參看下面的幻燈片2008年12月15日南京大學(xué)計算機(jī)系72數(shù)據(jù)讀取指令型異常中斷向量表數(shù)據(jù)讀取指令型異常中斷向量表(LDR型)型)Vector_Init_BlockLDR PC, Reset_AddrLDR PC, Undefined_addrLDR PC, SWI_AddrLDR PC, Prefetch_AddrLDR PC, Abortt_AddrNOPLDR PC, IRQ_AddrLDR PC
55、, FIQ_AddrReset_Addr DCD Start_BootUndefined_addrDCD Undefined_HandlerSWI_Addr DCD SWI_HandlerPerfetch_Addr DCD Perfetch_HandlerAbort_Addr DCD Abort_HandlerDCD 0; 保留的句柄IRQ_Addr DCD IRQ_HandlerFIQ_Addr DCD FIQ_Handler(1)LDR型型異常中斷向量異常中斷向量表表2008年12月15日南京大學(xué)計算機(jī)系73建立異常中斷向量中斷表(建立異常中斷向量中斷表(2) 分支指令型異常中斷向量表分支
56、指令型異常中斷向量表l在這種異常向量表中,每一個中斷向量是一條分支指令,它轉(zhuǎn)移到對應(yīng)的ISR首地址標(biāo)號。l指令形式如:BL swi_handlel參看下面的幻燈片2008年12月15日南京大學(xué)計算機(jī)系74分支指令型異常中斷向量表分支指令型異常中斷向量表(BL型)型)Vector_Entryblreset_handle; 地址=0 x00000000blundefined_instruction_handle; 地址=0 x00000004blsoftware_interrupt_handle; 地址=0 x00000008blprefetch_abort_handle; 地址=0 x00000
57、00Cbldata_abort_handle; 地址=0 x00000010blnot_used_handle; 地址=0 x00000014blirq_handle; 地址=0 x00000018blfiq_handle; 地址=0 x0000001C(2)BL型異型異常中斷向量表常中斷向量表2008年12月15日南京大學(xué)計算機(jī)系75為為BL型中斷向量表分配型中斷向量表分配ISR首地首地址指針的存儲空間址指針的存儲空間MAP_ISR_STARTADDRESSreset_vectorfield4undefined_instruction_vectorfield4software_interru
58、pt_vectorfield4prefetch_abort_vectorfield4data_abort_vectorfield4not_used_vectorfield4irq_servicer_vectorfield4fiq_servicer_vectorfield4注意:注意:Field指示符定義由指示符定義由MAP指示符給定的一塊內(nèi)存區(qū)里的指示符給定的一塊內(nèi)存區(qū)里的字節(jié)空間,字節(jié)空間,#是指示符是指示符field的同義詞。的同義詞。2008年12月15日南京大學(xué)計算機(jī)系76l與LDR型向量表基本類似,從ROM的0 x0地址開始存放異常中斷向量表,一共安排了8個裝移到存放異常中斷向量的指
59、針的BL指令。l實際使用了7個BL指令,保留了1個未定義的BL指令。每個BL指令占4個字節(jié),整個向量表共占32個字節(jié)。使用了分支指令來完成轉(zhuǎn)向中斷服務(wù)子程序(ISR)的跳轉(zhuǎn)。BL型異常中斷向量表詳解型異常中斷向量表詳解2008年12月15日南京大學(xué)計算機(jī)系77裝入裝入ISR首地址到首地址到ISR指針存儲單元指針存儲單元以裝入以裝入software_interrupt_vector為例為例ldr r0, =software_interrupt_vector;SWI的ISR指針地址存放起始單元送入r0寄存器ldr r1,=swiisr;SWI的ISR首地址(32位絕對地址,標(biāo)號)存入r1str r
60、1, r0;將SWI的ISR首址裝入到該異常中斷ISR指針單元。2008年12月15日南京大學(xué)計算機(jī)系78l以BL型中斷向量表為例說明中斷請求發(fā)生之后的處理器操作。l一旦發(fā)生普通中斷請求,ARM處理器首先自動保存當(dāng)前狀態(tài)。也就是把PC值存入R14,CPSR值存入SPSR。進(jìn)入普通中斷模式,接著執(zhí)行0 x00000018單元的指令,即bl irq_handle。跳到標(biāo)號為irq_handle的2級中斷向量表處起始地址執(zhí)行。l標(biāo)號irq_handle處的代碼在后面給出。7.1.5.1 異常中斷發(fā)生時的操作異常中斷發(fā)生時的操作2008年12月15日南京大學(xué)計算機(jī)系79l處理器將通用寄存器和返回地址壓
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 國際產(chǎn)品授權(quán)分銷合同
- 辦公家具采購合同一
- 商品買賣合同「樣本」
- 商業(yè)地產(chǎn)買賣合同模板范文
- 公司設(shè)立投資合作合同范本
- 礦山棄渣處理合同范本
- 消防及安全整改合同履行細(xì)則
- 校企合作合同新范本
- 土地使用權(quán)出讓合同及物業(yè)銷售細(xì)則
- 躉船結(jié)構(gòu)培訓(xùn)課件
- 趣味語文課程設(shè)計
- 2024-2030年藝術(shù)攝影服務(wù)產(chǎn)業(yè)發(fā)展分析及發(fā)展趨勢與投資前景預(yù)測報告
- 【光明乳業(yè)股份有限公司財務(wù)報表探析(定量論文)7800字】
- 外研版(2019)必修 第一冊Unit 1 A New Start revision 課件
- 肺部感染臨床路徑
- 高中英語3500詞(亂序版)
- 鋼結(jié)構(gòu)吊裝技術(shù)交底
- 電商平臺定價策略優(yōu)化
- 人美版美術(shù) 二年級下冊全冊教學(xué)設(shè)計(表格式)
- 2024年廣東省廣州市黃埔區(qū)黃埔街道辦事處招聘4人歷年高頻難、易錯點500題模擬試題附帶答案詳解
- 數(shù)學(xué)家祖沖之課件
評論
0/150
提交評論