第四章S3C2410的中断系统应用科技学院张健第4章4.1S3C2410的中断源4.2S3C2410的中断处理4.3中断控制4.4子中断源的中断控制4.5中断向量设置4.6其它常用寄存器4.7中断程序编写中需注意问题4.8中断实验和中断程序编写主要内容:第4章中断概述中断是指计算机在执行某一程序的过程中,由于计算机系统内、外的某种原因,而必须中止原程序的执行,转去执行相应的处理程序,待处理结束之后,再回来继续执行被中止的原程序的过程。采用了中断技术后的计算机,可以解决CPU与外设之间速度匹配的问题,使计算机可以及时处理系统中许多随机的参数和信息,同时,它也提高了计算机处理故障与应变的能力。第4章定义当当CPUCPU在执行程序的过程中,外部事件向在执行程序的过程中,外部事件向CPUCPU发出信号,请求发出信号,请求CPUCPU迅速去处理,于迅速去处理,于是,是,CPUCPU暂时中止执行当前程序,转去处理暂时中止执行当前程序,转去处理相应的事件,待处理完毕后,再继续执行原来相应的事件,待处理完毕后,再继续执行原来被中止的程序,这样的过程称为“中断”。被中止的程序,这样的过程称为“中断”。中断系统主要用需要及时处理的高速随机事件或信号,对于那些看来非常重要的信号(诸如急停开关、限位开关、键盘等),其响应速度要求并不高,切不可滥用中断。主程序中断服务程序中断请求中断返回第4章为什么要用中断?a.中断可以解决快速的CPU与慢速的外设之间的矛盾,使CPU和外设同时工作。这样,CPU可启动多个外设同时工作,大大地提高了CPU的效率。b.在实时控制中,现场的各种参数、信息均随时间和现场而变化。这些外界变量可根据要求随时向CPU发出中断申请,请求CPU及时处理中断请求。如中断条件满足,CPU马上就会响应,进行相应的处理,从而实现实时处理。c.针对难以预料的情况或故障,如掉电、存储出错、运算溢出等,可通过中断系统由故障源向CPU发出中断请求,再由CPU转到相应的故障处理程序进行处理。第4章4.1S3C2410的中断源中断源是指在计算机系统中可以向CPU发出中断请求的来源。通常有I/O设备、实时控制系统中的随机参数和信息故障源等。S3C2410有56个中断源。在56个中断源中,有32个中断源提供中断控制器。其中,外部中断EINT4~EINT7通过“或”的形式提供一个中断源送至中断控制器,EINT8~EINT23也通过“或”的形式提供一个中断源送至中断控制器。第4章4.1S3C2410的中断源EINT0~23nBATT_FLTINT_TICKINT_WDTINT_TIMER0~4INT_UART0~2共9个INT_LCDINT_DMA0~3INT_SDIINT_SPI0~1INT_USBDINT_USBHINT_IICINT_RTCINT_ADC第4章中断源之间的逻辑关系第4章4.2S3C2410的中断处理S3C2410的中断控制可以处理56个中断源的中断请求。片内的中断,比如片内的中断,比如DMADMA、、UARTUART和和I2CI2C等;等;处理器外部中断输入引脚。处理器外部中断输入引脚。这些中断源中,有如下11个中断源通过分支中断控制器来申请使用中断(与其它中断共用一个中断向量)。第4章INT_ADCA/D转换中断;INT_TC触摸屏中断;INT_ERR2UART2收发错误中断;INT_TXD2UART2发送中断;INT_RXD2UART2接受中断;INT_ERR1UART1收发错误中断;INT_TXD1UART1发送中断;INT_RXD1UART1接受中断;INT_ERR0UART0收发错误中断;INT_TXD0UART0发送中断;INT_RXD0UART0接受中断。第4章中断控制逻辑(interruptcontrollerlogic)的任务是在片内和外部中断源组成的多重中断发生时,选择其中一个中断,通过FIQ(快速中断请求)或IRQ(通用中断请求)向CPU内核发出中断请求。第4章S3C2410的中断控制逻辑如图4-1所示第4章图4-1中中断源是指给出中断向量的那些中断,中断源是指给出中断向量的那些中断,子中断源是指与其它中断共用一个中断向量的中断。子中断源是指与其它中断共用一个中断向量的中断。例如例如UART0UART0是一个中断源,而是一个中断源,而TXD0TXD0和和RXD0RXD0就是子就是子中断源。子中断源向中断源。子中断源向CPUCPU申请中断,子中断源挂起寄申请中断,子中断源挂起寄存器中相应位要置存器中相应位要置11,如果该子中断没被屏蔽,则该子,如果该子中断没被屏蔽,则该子中断源所归属的总中断源挂起寄存器中相应位也要...