DSP中对中断的理解
2017-07-28 16:00
316 查看
对中断的理解:中断的执行过程是这样的,当符合中断条件时,外设自发地产生(不需要用户设置)一个中断标志位(通常是置位),例如SCI中的RXDY,这是不需要用户设置的.外设响应这个中断,也称为使能中断。如SCI 中的RX/BKint,用户要将它设置为1 ,来使能中断。这样外设就产生了一个中断。这是外设级的中断。中断被送到PIE模块,PIE模块的IFR置1
,这是CPU自己来做的,不需要用户干预的。这时如果PIEIER=1(这需要用户设置的)那么中断送往CPU,并且将PIEACK置0(CPU自己做的).这时PIE级中断CPU 的IFR置1,如果CPU的IER=1 (用户设置)那么CPU 处理中断.这是CPU级中断.CPU响应中断,清CPU的IER,IFR,清除PIEIFR,执行中断服务程序,在中断服务程序的末尾用户要清除外设中断标志和PIEACK(写1来清除),重新使能中断,中断返回,回到主程序。
总结起来需要用户编程实现的有:1.三个级别的使能位。设为1使能中断。外设级别的在相应的外设寄存器里设置,PIE级的通过类似于“PieCtrlRegs.PIEIER9.bit.INTx4=1”的语句设置,CPU级的通过类似“IER = 0x100;”来设置 2。在相应的中断服务程序中清中断标志,清响应标志
SciaRegs.SCIFFTX.bit.TXINTCLR=1; // Clear SCI Interrupt , flagPieCtrlRegs.PIEACK.all|=0x100; //
其中还包括屏蔽使能全局中断,使能PIE控制器等.这里就省略了。
,这是CPU自己来做的,不需要用户干预的。这时如果PIEIER=1(这需要用户设置的)那么中断送往CPU,并且将PIEACK置0(CPU自己做的).这时PIE级中断CPU 的IFR置1,如果CPU的IER=1 (用户设置)那么CPU 处理中断.这是CPU级中断.CPU响应中断,清CPU的IER,IFR,清除PIEIFR,执行中断服务程序,在中断服务程序的末尾用户要清除外设中断标志和PIEACK(写1来清除),重新使能中断,中断返回,回到主程序。
总结起来需要用户编程实现的有:1.三个级别的使能位。设为1使能中断。外设级别的在相应的外设寄存器里设置,PIE级的通过类似于“PieCtrlRegs.PIEIER9.bit.INTx4=1”的语句设置,CPU级的通过类似“IER = 0x100;”来设置 2。在相应的中断服务程序中清中断标志,清响应标志
SciaRegs.SCIFFTX.bit.TXINTCLR=1; // Clear SCI Interrupt , flagPieCtrlRegs.PIEACK.all|=0x100; //
其中还包括屏蔽使能全局中断,使能PIE控制器等.这里就省略了。
相关文章推荐
- 理解linux的中断模型
- 对Linux内核中进程上下文和中断上下文的理解
- 对Linux内核中进程上下文和中断上下文的理解
- 个人对TI DSP CMD文件编写的理解
- DSP CMD文件的小理解
- W5500中断寄存器的理解
- msp430的中断优先级和中断嵌套(及容易理解错误的说明)
- DSP28335 中断总结
- 深入理解Linux内核day03--中断和异常
- 关于串口发送中断的理解(转)
- DSP学习总结——中断
- 对中断的一点理解
- TI C64X DSP中断向量表的配置(硬件中断)
- TI_DSP_SRIO - Doorbell原理(中断路由到core-1)
- Java线程中断的本质深入理解
- 对于cc2530GPIO中断的一点理解。
- STM32 (Cortex-M3) 中NVIC(嵌套向量中断控制)的理解
- blackfin DSP 处理器的事件(中断)管理
- Java线程中断的本质深入理解
- 对Linux内核中进程上下文和中断上下文的理解