ECOS中断机制分析
2013-01-21 11:46
155 查看
ecos提供了很好的中断函数,可以方便的创建中断而不用动底层的东西。
现分析一下其中的实现机制。
假如一个ARM7有32个中断源,ECOS系统会做一个缺省中断程序表。
hal_interrupt_handlers:
.rept CYGNUM_HAL_ISR_COUNT
.long hal_default_isr
.endr
而如何改变默认的中断程序呢?就是通过api函数cyg_interrupt_create().例如:有IRQ中断进入,ecos会调用函数hal_IRQ_handler()(需要移植的函数)得到目前的中断号,然后根据中断号查找中断程序表里面的程序执行。如果我们没有通过cyg_interrupt_create()写入特定的处理程序,ecos会调用hal_default_isr进行处理。
这个机制非常方便的让我们处理中断。
现分析一下其中的实现机制。
假如一个ARM7有32个中断源,ECOS系统会做一个缺省中断程序表。
hal_interrupt_handlers:
.rept CYGNUM_HAL_ISR_COUNT
.long hal_default_isr
.endr
而如何改变默认的中断程序呢?就是通过api函数cyg_interrupt_create().例如:有IRQ中断进入,ecos会调用函数hal_IRQ_handler()(需要移植的函数)得到目前的中断号,然后根据中断号查找中断程序表里面的程序执行。如果我们没有通过cyg_interrupt_create()写入特定的处理程序,ecos会调用hal_default_isr进行处理。
这个机制非常方便的让我们处理中断。
相关文章推荐
- ecos中断机制分析(1)
- ecos中断机制分析(1)
- ecos中断机制分析(2)
- 从键盘驱动分析wince中断机制
- linux的中断注册机制分析
- 详细分析Java中断机制---线程
- 详细分析Java中断机制-转载
- linux中断处理下文:软中断tasklet机制分析
- 详细分析Java中断机制(转)
- Linux 2.6中断下半部机制分析
- 深入分析Java线程中断机制
- [转]Linux 2.6中断下半部机制分析
- linux0.11下的中断机制分析
- Linux 2.6中断下半部机制分析
- linux0.11下的中断机制分析
- x86 kernel 中断机制分析一——IDT
- IA32上Linux内核中断机制分析
- 超详细的2440中断机制分析!
- Linux 2.6中断下半部机制分析
- 底半部机制分析:软中断,tasklet,工作队列