ECOS中断机制分析

本文介绍了ECOS系统中处理中断的机制,ECOS为每个可能的中断源提供了一个默认的中断处理程序表,并通过API函数cyg_interrupt_create允许用户自定义特定中断的处理程序。如果没有自定义处理程序,则使用默认处理程序。
摘要由CSDN通过智能技术生成

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进行处理。

      这个机制非常方便的让我们处理中断。 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值