This is the mail archive of the
ecos-discuss@sources.redhat.com
mailing list for the eCos project.
Re: Efficient way to wake up a task...
- From: Andrew Lunn <andrew at lunn dot ch>
- To: Guilly A <guilly_work at hotmail dot com>
- Cc: ecos-discuss at sources dot redhat dot com
- Date: Wed, 22 Jun 2005 19:39:07 +0200
- Subject: Re: [ECOS] Efficient way to wake up a task...
- References: <BAY107-F259EC01B7D0211464B86F293EB0@phx.gbl>
On Wed, Jun 22, 2005 at 04:29:42PM +0000, Guilly A wrote:
> Hi
> I need to wake up a task after an interruption handling.
> I am wondering which is the more efficient way to do that :
> 1- suspend the task and resume it in the ISR
> 2- make the task wait forever for a flag and set the flag in the ISR
> 3- use mailboxes.
>
> On pSos, I used an event sending to wake up my task. I heard it was the
> fastest way and lowest memory cost do do it, compared to mailbox. But I had
> no evidence about it, I believed it naively.
> I don't know how is it for eCos.
>
> Thank you for your advices.
You should probably do the copy in the ISR. You then need to return
CYG_ISR_CALL_DSR so that a DSR is called. The DSR can then post on a
semaphore which will awaken the thread waiting on the semaphore.
Andrew
--
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss