1. 设置
启动开始文件startup.s,初始华后进入main.c执行
/* firstly, we should install irq mode handler, must call do_irq in any user''s handler */
install_irqhandler(IRQ_Enter);
request_irq(5,IRQ_Time);
进行skyeye 中断安装,中断入口为IRQ_Enter,装有定时服务入口IRQ_Time.
然后进行minitos的初始化,调用at91_init();开中断,启动调用UserInit,进入进程调度.
中断入口为IRQ_Enter在IRQ.S文件中
2. 执行
当中断来时,执行IRQ_Enter
IRQ_Enter执行 BL do_irq 查找响应中断服务程序
若是定时中断do_irq函数调用IRQ_Time()里面的On_Time,进行minitos定时中断处理
中断返回时进行进程调度
注意:其实skyeye 的at91x40操作中断的过程就是这样的