This is the mail archive of the ecos-discuss@sources.redhat.com 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: Efficient way to wake up a task...


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


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