![附錄 S3C2410中斷源名稱_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/30/acb2e293-22b7-4fb6-82e8-26f8a85437a5/acb2e293-22b7-4fb6-82e8-26f8a85437a51.gif)
![附錄 S3C2410中斷源名稱_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/30/acb2e293-22b7-4fb6-82e8-26f8a85437a5/acb2e293-22b7-4fb6-82e8-26f8a85437a52.gif)
![附錄 S3C2410中斷源名稱_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/30/acb2e293-22b7-4fb6-82e8-26f8a85437a5/acb2e293-22b7-4fb6-82e8-26f8a85437a53.gif)
![附錄 S3C2410中斷源名稱_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/30/acb2e293-22b7-4fb6-82e8-26f8a85437a5/acb2e293-22b7-4fb6-82e8-26f8a85437a54.gif)
![附錄 S3C2410中斷源名稱_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/30/acb2e293-22b7-4fb6-82e8-26f8a85437a5/acb2e293-22b7-4fb6-82e8-26f8a85437a55.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、中斷源名稱描述仲裁判決器INT_ADCADC結(jié)束中斷、觸摸屏中斷 (2個)ARB5INT_RTCRTC鬧鐘中斷ARB5INT_SPI1SPI1中斷ARB5INT_UART0串口0中斷(ERR、RXD、TXD) (3個)ARB5INT_IICI2C中斷ARB4INT_USBHUSB主機中斷ARB4INT_USBDUSB設(shè)備中斷ARB4Reserved保留ARB4INT_UART1串口1中斷(ERR、RXD、TXD) (3個)ARB4INT_SPI0SPI0中斷ARB4INT_SDISDI中斷ARB3INT_DMA3DMA通道3中斷ARB3INT_DMA2DMA通道2中斷ARB3INT_DMA1D
2、MA通道1中斷ARB3INT_DMA0DMA通道0中斷ARB3INT_LCDLCD中斷(INT_FrSyn、INT_FiCnt) (2個)ARB3INT_UART2串口2中斷(ERR、RXD、TXD) (3個)ARB2INT_TIMER4定時器4中斷ARB2INT_TIMER3定時器3中斷ARB2INT_TIMER2定時器2中斷ARB2INT_TIMER1定時器1中斷ARB2INT_TIMER0定時器0中斷ARB2INT_WDT看門狗定時器中斷ARB1INT_TICKRTC定時中斷ARB1nBATT_FLT電池失效中斷ARB1Reserved保留ARB1EINT8_23外部中斷8_23 (16
3、個)ARB1EINT4_7外部中斷4_7 (4個)ARB1EINT3外部中斷3ARB0EINT2外部中斷2ARB0EINT1外部中斷1ARB0EINT0外部中斷0ARB0表1 中斷控制器支持的5 6個中斷源表2 SRCPND寄存器的定義位描述初始狀態(tài)31確定INT_ADC中斷請求。0沒有請求;1請求 030確定INT_RTC中斷請求。0沒有請求;1請求029確定INT_SPI1中斷請求。0沒有請求;1請求028確定INT_UART0中斷請求。0沒有請求;1請求027確定INT_IIC中斷請求。0沒有請求;1請求026確定INT_USBH中斷請求。0沒有請求;1請求025確定INT_USBD中斷
4、請求。0沒有請求;1請求024保留023確定INT_UART1中斷請求。0沒有請求;1請求022確定INT_SPI0中斷請求。0沒有請求;1請求021確定INT_SDI中斷請求。0沒有請求;1請求020確定INT_DMA3中斷請求。0沒有請求;1請求019確定INT_DMA2中斷請求。0沒有請求;1請求018確定INT_DMA1中斷請求。0沒有請求;1請求017確定INT_DMA0中斷請求。0沒有請求;1請求016確定INT_LCD中斷請求。0沒有請求;1請求015確定INT_UART2中斷請求。0沒有請求;1請求014確定INT_TIMER4中斷請求。0沒有請求;1請求013確定INT_TI
5、MER3中斷請求。0沒有請求;1請求012確定INT_TIMER2中斷請求。0沒有請求;1請求011確定INT_TIMER1中斷請求。0沒有請求;1請求010確定INT_TIMER0中斷請求。0沒有請求;1請求09確定INT_WDT中斷請求。0沒有請求;1請求08確定INT_TICK中斷請求。0沒有請求;1請求07確定nBATT_FLT中斷請求。0沒有請求;1請求06保留05確定EINT8_23中斷請求。0沒有請求;1請求04確定EINT4_7中斷請求。0沒有請求;1請求03確定EINT3中斷請求。0沒有請求;1請求02確定EINT2中斷請求。0沒有請求;1請求01確定EINT1中斷請求。0沒
6、有請求;1請求00確定EINT0中斷請求。0沒有請求;1請求0表3 INTMOD寄存器的定義位描述初始狀態(tài)31確定INT_ADC中斷模式。0IRQ;1FIQ 030確定INT_RTC中斷模式。0IRQ;1FIQ029確定INT_SPI1中斷模式。0IRQ;1FIQ028確定INT_UART0中斷模式。0IRQ;1FIQ027確定INT_IIC中斷模式。0IRQ;1FIQ026確定INT_USBH中斷模式。0IRQ;1FIQ025確定INT_USBD中斷模式。0IRQ;1FIQ024保留023確定INT_UART1中斷模式。0IRQ;1FIQ022確定INT_SPI0中斷模式。0IRQ;1FIQ
7、021確定INT_SDI中斷模式。0IRQ;1FIQ020確定INT_DMA3中斷模式。0IRQ;1FIQ019確定INT_DMA2中斷模式。0IRQ;1FIQ018確定INT_DMA1中斷模式。0IRQ;1FIQ017確定INT_DMA0中斷模式。0IRQ;1FIQ016確定INT_LCD中斷模式。0IRQ;1FIQ015確定INT_UART2中斷模式。0IRQ;1FIQ014確定INT_TIMER4中斷模式。0IRQ;1FIQ013確定INT_TIMER3中斷模式。0IRQ;1FIQ012確定INT_TIMER2中斷模式。0IRQ;1FIQ011確定INT_TIMER1中斷模式。0IRQ;
8、1FIQ010確定INT_TIMER0中斷模式。0IRQ;1FIQ09確定INT_WDT中斷模式。0IRQ;1FIQ08確定INT_TICK中斷模式。0IRQ;1FIQ07確定nBATT_FLT中斷模式。0IRQ;1FIQ0.6保留05確定IEINT8_23中斷模式。0IRQ;1FIQ04確定EINT4_7中斷模式。0IRQ;1FIQ03確定EINT3中斷模式。0IRQ;1FIQ02確定EINT2中斷模式。0IRQ;1FIQ01確定EINT1中斷模式。0IRQ;1FIQ00確定EINT0中斷模式。0IRQ;1FIQ0表4 INTMSK寄存器的定義位描述初始狀態(tài)31確定INT_ADC中斷屏蔽位。
9、0允許中斷;1屏蔽中斷 130確定INT_RTC中斷屏蔽位。0允許中斷;1屏蔽中斷129確定INT_SPI1中斷屏蔽位。0允許中斷;1屏蔽中斷128確定INT_UART0中斷屏蔽位。0允許中斷;1屏蔽中斷127確定INT_IIC中斷屏蔽位。0允許中斷;1屏蔽中斷126確定INT_USBH中斷屏蔽位。0允許中斷;1屏蔽中斷125確定INT_USBD中斷屏蔽位。0允許中斷;1屏蔽中斷124保留123確定INT_UART1中斷屏蔽位。0允許中斷;1屏蔽中斷122確定INT_SPI0中斷屏蔽位。0允許中斷;1屏蔽中斷121確定INT_SDI中斷屏蔽位。0允許中斷;1屏蔽中斷120確定INT_DMA3中
10、斷屏蔽位。0允許中斷;1屏蔽中斷119確定INT_DMA2中斷屏蔽位。0允許中斷;1屏蔽中斷118確定INT_DMA1中斷屏蔽位。0允許中斷;1屏蔽中斷117確定INT_DMA0中斷屏蔽位。0允許中斷;1屏蔽中斷116確定INT_LCD中斷屏蔽位。0允許中斷;1屏蔽中斷115確定INT_UART2中斷屏蔽位。0允許中斷;1屏蔽中斷114確定INT_TIMER4中斷屏蔽位。0允許中斷;1屏蔽中斷113確定INT_TIMER3中斷屏蔽位。0允許中斷;1屏蔽中斷112確定INT_TIMER2中斷屏蔽位。0允許中斷;1屏蔽中斷111確定INT_TIMER1中斷屏蔽位。0允許中斷;1屏蔽中斷110確定I
11、NT_TIMER0中斷屏蔽位。0允許中斷;1屏蔽中斷19確定INT_WDT中斷屏蔽位。0允許中斷;1屏蔽中斷18確定INT_TICK中斷屏蔽位。0允許中斷;1屏蔽中斷17確定nBATT_FLT中斷屏蔽位。0允許中斷;1屏蔽中斷16保留15確定IEINT8_23中斷屏蔽位。0允許中斷;1屏蔽中斷14確定EINT4_7中斷屏蔽位。0允許中斷;1屏蔽中斷13確定EINT3中斷屏蔽位。0允許中斷;1屏蔽中斷12確定EINT2中斷屏蔽位。0允許中斷;1屏蔽中斷11確定EINT1中斷屏蔽位。0允許中斷;1屏蔽中斷10確定EINT0中斷屏蔽位。0允許中斷;1屏蔽中斷1表5 PRIORITY寄存器的定義位描述
12、初始狀態(tài)20:19確定仲裁判決器Arbiter6的優(yōu)先級順序。00REQ0-1-2-3-4-5;01REQ0-2-3-4-1-5;10REQ0-3-4-1-2-5;11REQ0-4-1-2-3-5 ( 0和5不變)0018:17確定仲裁判決器Arbiter5的優(yōu)先級順序。00REQ1-2-3-4;01REQ2-3-4-1;10REQ3-4-1-2;11REQ4-1-2-30016:15確定仲裁判決器Arbiter4的優(yōu)先級順序。00REQ0-1-2-3-4-5;01REQ0-2-3-4-1-5;10REQ0-3-4-1-2-5;11REQ0-4-1-2-3-5 ( 0和5不變)0014:13確
13、定仲裁判決器Arbiter3的優(yōu)先級順序。00REQ0-1-2-3-4-5;01REQ0-2-3-4-1-5;10REQ0-3-4-1-2-5;11REQ0-4-1-2-3-5 ( 0和5不變)0012:11確定仲裁判決器Arbiter2的優(yōu)先級順序。00REQ0-1-2-3-4-5;01REQ0-2-3-4-1-5;10REQ0-3-4-1-2-5;11REQ0-4-1-2-3-5 ( 0和5不變)0010:9確定仲裁判決器Arbiter1的優(yōu)先級順序。00REQ0-1-2-3-4-5;01REQ0-2-3-4-1-5;10REQ0-3-4-1-2-5;11REQ0-4-1-2-3-5 (
14、0和5不變)008:7確定仲裁判決器Arbiter0的優(yōu)先級順序。00REQ1-2-3-4;01REQ2-3-4-1;10REQ3-4-1-2;11REQ4-1-2-3006確定仲裁判決器Arbiter6的循環(huán)優(yōu)先級。0優(yōu)先級不循環(huán);1優(yōu)先級循環(huán)15確定仲裁判決器Arbiter5的循環(huán)優(yōu)先級。0優(yōu)先級不循環(huán);1優(yōu)先級循環(huán)14確定仲裁判決器Arbiter4的循環(huán)優(yōu)先級。0優(yōu)先級不循環(huán);1優(yōu)先級循環(huán)13確定仲裁判決器Arbiter3的循環(huán)優(yōu)先級。0優(yōu)先級不循環(huán);1優(yōu)先級循環(huán)12確定仲裁判決器Arbiter2的循環(huán)優(yōu)先級。0優(yōu)先級不循環(huán);1優(yōu)先級循環(huán)11確定仲裁判決器Arbiter1的循環(huán)優(yōu)先級。0
15、優(yōu)先級不循環(huán);1優(yōu)先級循環(huán)10確定仲裁判決器Arbiter0的循環(huán)優(yōu)先級。0優(yōu)先級不循環(huán);1優(yōu)先級循環(huán)1表6 INTPND寄存器的定義位描述初始狀態(tài)31確定INT_ADC中斷請求未決。0沒有請求;1請求 030確定INT_RTC中斷請求未決。0沒有請求;1請求029確定INT_SPI1中斷請求未決。0沒有請求;1請求028確定INT_UART0中斷請求未決。0沒有請求;1請求027確定INT_IIC中斷請求未決。0沒有請求;1請求026確定INT_USBH中斷請求未決。0沒有請求;1請求025確定INT_USBD中斷請求未決。0沒有請求;1請求024保留023確定INT_UART1中斷請求未決
16、。0沒有請求;1請求022確定INT_SPI0中斷請求未決。0沒有請求;1請求021確定INT_SDI中斷請求未決。0沒有請求;1請求020確定INT_DMA3中斷請求未決。0沒有請求;1請求019確定INT_DMA2中斷請求未決。0沒有請求;1請求018確定INT_DMA1中斷請求未決。0沒有請求;1請求017確定INT_DMA0中斷請求未決。0沒有請求;1請求016確定INT_LCD中斷請求未決。0沒有請求;1請求015確定INT_UART2中斷請求未決。0沒有請求;1請求014確定INT_TIMER4中斷請求未決。0沒有請求;1請求013確定INT_TIMER3中斷請求未決。0沒有請求;
17、1請求012確定INT_TIMER2中斷請求未決。0沒有請求;1請求011確定INT_TIMER1中斷請求未決。0沒有請求;1請求010確定INT_TIMER0中斷請求未決。0沒有請求;1請求09確定INT_WDT中斷請求未決。0沒有請求;1請求08確定INT_TICK中斷請求未決。0沒有請求;1請求07確定nBATT_FLT中斷請求未決。0沒有請求;1請求06保留05確定IEINT8_23中斷請求未決。0沒有請求;1請求04確定EINT4_7中斷請求未決。0沒有請求;1請求03確定EINT3中斷請求未決。0沒有請求;1請求02確定EINT2中斷請求未決。0沒有請求;1請求01確定EINT1中
18、斷請求未決。0沒有請求;1請求00確定EINT0中斷請求未決。0沒有請求;1請求0實例6-1完成一個S3C2410芯片中斷源的中斷控制程序的編寫,需要完成四部分內(nèi)容。第一部分的實例在前面已經(jīng)介紹。下面介紹后三部分內(nèi)容的編程實例。例程中所用到的一些寄存器常量等在頭文件reg2410.h和isr.h中定義,詳見附錄。這兩個頭文件必須包含在例程文件中。#include "./inc/reg2410.h"#include "./inc/isr.h"例程中還需要用到下面的結(jié)構(gòu)體。/* 定義結(jié)構(gòu)體*/typedef structInterrupt_func_t In
19、terruptHandlers;void* data;int valid; /設(shè)置中斷是否有效1=有效0=無效mask_func_t mask;mask_func_t unmask;mask_func_t ack_irq;struct_InterruptFunc;static struct_InterruptFunc InterruptFuncNR_IRQS=NULL,;static void ack_irq(unsigned int irq) rSRCPND = (1 << irq); rINTPND = (1 << irq);static void mask_irq
20、(unsigned int irq) rINTMSK |= (1 << irq);static void unmask_irq(unsigned int irq) rINTMSK &= (1 << irq);(1) 56個中斷源中斷向量設(shè)置/* 56個中斷源的中斷向量設(shè)置函數(shù) */void ISR_IrqHandler(void)unsigned int irq=GetISROffsetClr();/得到中斷源的中斷號irq=fixup_irq(irq); /計算子中斷源的地址偏移if(irq>=NR_IRQS)return;if(InterruptFun
21、cirq.InterruptHandlers=NULL)InterruptFuncirq.ack_irq(irq);/清中斷未決位return;/* 調(diào)用中斷服務(wù)程序 */InterruptFuncirq.InterruptHandlers(irq, InterruptFuncirq.data);InterruptFuncirq.ack_irq(irq);/清中斷未決位上述程序中,GetISROffsetClr()、fixup_irq()是用來計算中斷源號及子中斷源地址偏移的函數(shù)。程序代碼如下:/ GetISROffsetClr()函數(shù)int GetISROffsetClr() /計算中斷的偏
22、移地址,高位優(yōu)先 int i,ispr=rI_ISPR,tmp=1<<(MAXHNDLRS-1); for(i=MAXHNDLRS;i>0;i-) if(ispr&tmp) return i-1; tmp>>=1; return -1;/ fixup_irq()函數(shù)static unsigned int fixup_irq(int irq) unsigned int ret; unsigned long sub_mask, ext_mask; switch (irq) case IRQ_UART0: sub_mask = rSUBSRCPND &
23、rINTSUBMSK; ret = get_subIRQ(sub_mask, 0, 2, irq); break; case IRQ_UART1: sub_mask = rSUBSRCPND & rINTSUBMSK; ret = get_subIRQ(sub_mask, 3, 5, irq); break; case IRQ_UART2: sub_mask = rSUBSRCPND & rINTSUBMSK; ret = get_subIRQ(sub_mask, 6, 8, irq); break; case IRQ_ADCTC: sub_mask = rSUBSRCPND
24、& rINTSUBMSK; ret = get_subIRQ(sub_mask, 9, 10, irq); break; case IRQ_EINT4_7: ext_mask = rEINTPEND & rEINTMASK; ret = get_extIRQ(ext_mask, 4, 7, irq); break; case IRQ_EINT8_23: ext_mask = rEINTPEND & rEINTMASK; ret = get_extIRQ(ext_mask, 8, 23, irq); break; default: ret = irq; return re
25、t;(2) 中斷控制初始化中斷控制器初始化程序主要完成具體中斷源的中斷模式、中斷屏蔽位、子中斷屏蔽位的設(shè)置。根據(jù)5.2.3中介紹的寄存器格式,選擇對應(yīng)該中斷源的寄存器位是設(shè)置為1,還是設(shè)置為0。void ISR_Init(void)int irq;/* 設(shè)置所有中斷源為IRQ模式,并首先屏蔽所有中斷源 */rINTMOD = 0x0; /所有中斷源為IRQ模式rINTMSK = BIT_ALLMSK; / BIT_ALLMSK =0xffffffffrINTSUBMSK = BIT_SUB_ALLMSK; / BIT_SUB_ALLMSK= 0x7ff/* 初始化結(jié)構(gòu)體中的成員 */for (
26、irq=0; irq < NORMAL_IRQ_OFFSET; irq+) InterruptFuncirq.valid = 1;InterruptFuncirq.ack_irq = ack_irq;InterruptFuncirq.mask = mask_irq;InterruptFuncirq.unmask = unmask_irq;InterruptFuncIRQ_RESERVED6.valid= 0;InterruptFuncIRQ_RESERVED24.valid= 0;InterruptFuncIRQ_EINT4_7.valid= 0;InterruptFuncIRQ_EIN
27、T8_23.valid= 0;InterruptFuncIRQ_EINT0.valid= 0;InterruptFuncIRQ_EINT1.valid= 0;InterruptFuncIRQ_EINT2.valid= 0;InterruptFuncIRQ_EINT3.valid= 0;for (irq=NORMAL_IRQ_OFFSET; irq < EXT_IRQ_OFFSET; irq+) InterruptFuncirq.valid= 0;InterruptFuncirq.ack_irq= EINT4_23ack_irq;InterruptFuncirq.mask= EINT4_2
28、3mask_irq;InterruptFuncirq.unmask= EINT4_23unmask_irq;for (irq=EXT_IRQ_OFFSET; irq < SUB_IRQ_OFFSET; irq+) InterruptFuncirq.valid= 1;InterruptFuncirq.ack_irq= SUB_ack_irq;InterruptFuncirq.mask= SUB_mask_irq;InterruptFuncirq.unmask= SUB_unmask_irq; 上述例程中,對中斷源的控制寄存器進行初始設(shè)置,是每個I/O端口或部件采用中斷方式控制時必須編寫的程序。但根據(jù)不同的用戶需求,寄存器設(shè)置的值是不同的。對于初始化結(jié)構(gòu)體中的成員,不是必須的。初始化工作還需要完成中斷句柄的設(shè)置。下面一段程序是完成該功能的例程。int SetISR_Interrupt(int vector, void (*handler)(int, void*), void* data)if(vector>NR_IRQS | vector<0)return -1;if(!InterruptF
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年合同主體變更及項目進度調(diào)整補充協(xié)議范本
- 2025年度人工智能產(chǎn)業(yè)應(yīng)用開發(fā)合同
- 2025年度城市軌道交通建設(shè)項目施工合同標準
- 2025年中級經(jīng)濟師上半年工作總結(jié)例文(二篇)
- 2025年今冬明春火災(zāi)防控工作總結(jié)范例(二篇)
- 2025年主題班會工作總結(jié)樣本(3篇)
- 2025年度生物醫(yī)藥研發(fā)合同標的明確與責任分配
- 2025年個人租房的租賃合同(五篇)
- 2025年中學(xué)創(chuàng)建文明學(xué)校工作總結(jié)樣本(三篇)
- 2025年個人畢業(yè)實習總結(jié)范文(二篇)
- 現(xiàn)代通信原理與技術(shù)(第五版)PPT全套完整教學(xué)課件
- 社區(qū)獲得性肺炎教學(xué)查房
- 病例展示(皮膚科)
- GB/T 39750-2021光伏發(fā)電系統(tǒng)直流電弧保護技術(shù)要求
- DB31T 685-2019 養(yǎng)老機構(gòu)設(shè)施與服務(wù)要求
- 燕子山風電場項目安全預(yù)評價報告
- 高一英語課本必修1各單元重點短語
- 糖尿病運動指導(dǎo)課件
- 完整版金屬學(xué)與熱處理課件
- T∕CSTM 00640-2022 烤爐用耐高溫粉末涂料
- 心腦血管病的危害教學(xué)課件
評論
0/150
提交評論