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
posted @ 2016-08-03 20:17  windtail  阅读(281)  评论(0编辑  收藏  举报