rtems 4.11 IRQ (arm,beagle)
arm IRQ入口在 cpukit/score/arm/arm_exec_interrupt.S 中,其中BSP最关心就是 bl bsp_interrupt_dispatch 这句,看看beagle BSP的实现, c/src/lib/libbsp/arm/beagle/irq.c,实现很简单,找到是哪一个中断源(vector number)引起的中断,然后调用 bsp_interrupt_handler_dispatch 即可,最后中断处理完后,通知中断控制器中断处理结束,可以引入下一个中断了。
中断相关的几个函数:
- bsp_interrupt_facility_initialize():中断控制器初始化
- bsp_interrupt_vector_enable():使能中断控制器产生中断
- bsp_interrupt_vector_disable():禁止中断控制器产生中断
- bsp_interrupt_dispatch():找到中断源,然后调用bsp_interrupt_handler_dispatch
------------------------------------------------------------
本文由WindTaiL在cnblogs中发布,转载请注明出处
本文由WindTaiL在cnblogs中发布,转载请注明出处