CYG_ISR_CALL_DSR vs CYG_ISR_HANDLED

 

This is the mail archive of the ecos-discuss@sourceware.org mailing list for the eCos project.


Index Nav:[Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav:[Date Prev] [Date Next][Thread Prev] [Thread Next]
Other format:[Raw text]

CYG_ISR_CALL_DSR vs CYG_ISR_HANDLED

  • From: osv <osv at javad dot com>
  • To: ecos-discuss at ecos dot sourceware dot org
  • Date: Fri, 18 Nov 2005 16:59:37 +0300
  • Subject: [ECOS] CYG_ISR_CALL_DSR vs CYG_ISR_HANDLED

Hello,

In the eCos reference manual one can read:

  The return value of an ISR is normally one of CYG_ISR_CALL_DSR or
  CYG_ISR_HANDLED. The former indicates that further processing is
  required at DSR level, and the interrupt handlerâs DSR will be run as
  soon as possible. The latter indicates that the interrupt has been
  fully handled and no further effort is required.

However, the eCos internal clock isr (Cyg_RealTimeClock::isr()) returns
as follows:

    return Cyg_Interrupt::CALL_DSR|Cyg_Interrupt::HANDLED;

that seems to contradict with the description above. What is the truth
about isr handler return codes?

-- 
Sergei.

--
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss


Index Nav:[Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav:[Date Prev] [Date Next][Thread Prev] [Thread Next]

 

 

 

 

This is the mail archive of the ecos-discuss@sourceware.org mailing list for the eCos project.


Index Nav:[Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav:[Date Prev] [Date Next][Thread Prev] [Thread Next]
Other format:[Raw text]

Re: CYG_ISR_CALL_DSR vs CYG_ISR_HANDLED

  • From: Gary Thomas <gary at mlbassoc dot com>
  • To: osv <osv at javad dot com>
  • Cc: eCos Discussion <ecos-discuss at ecos dot sourceware dot org>
  • Date: Fri, 18 Nov 2005 07:12:18 -0700
  • Subject: Re: [ECOS] CYG_ISR_CALL_DSR vs CYG_ISR_HANDLED
  • References: <87veyqgipi.fsf@javad.com>

On Fri, 2005-11-18 at 16:59 +0300, osv wrote:
> Hello,
> 
> In the eCos reference manual one can read:
> 
>   The return value of an ISR is normally one of CYG_ISR_CALL_DSR or
>   CYG_ISR_HANDLED. The former indicates that further processing is
>   required at DSR level, and the interrupt handler’s DSR will be run as
>   soon as possible. The latter indicates that the interrupt has been
>   fully handled and no further effort is required.

This is poorly worded I think.

> 
> However, the eCos internal clock isr (Cyg_RealTimeClock::isr()) returns
> as follows:
> 
>     return Cyg_Interrupt::CALL_DSR|Cyg_Interrupt::HANDLED;
> 
> that seems to contradict with the description above. What is the truth
> about isr handler return codes?

CYG_ISR_HANDLED says that the ISR actually did something about the
interrupt.  It's used by chained interrupts to determine if another
ISR (which shares the same interrupt) should be run.

CYG_ISR_CALL_DSR indicates that the DSR which corresponds to this ISR
should be run.

These are bit values which can be successfully or'ed together to achieve
the desired result.

-- 
------------------------------------------------------------
Gary Thomas                 |  Consulting for the
MLB Associates              |    Embedded world
------------------------------------------------------------


-- 
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss


Index Nav:[Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav:[Date Prev] [Date Next][Thread Prev] [Thread Next]
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值