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: ISR's, DSR's and cyg_drv_interrupt_unmask()



I worked on something similiar before, and there is an example in eCos 
somewhere of putting a FIFO between the ISR and DSR, I've got a serial 
driver for my internal platform that does something like this... 

If you can't find the eCos one ( I think it is there) I can send you my 
one.. it only modifies the 16x50 generic driver..

Dave.


On Fri, 29 Mar 2002, Recker, John wrote:

> 
> I've been playing with the serial
> drivers for the EB40/AT91 recently
> trying to improve its reliability.
> 
> One area that I think contributes to
> the driver dropping characters is that
> interrupts are not unmasked until both
> the ISR & DSR have completed their tasks.
> This is alot of instructions to process
> on HW that requires that interrupt response
> be within one character.
> 
> However, it seems that if I call
> cyg_drv_interrupt_unmask() prior to
> exiting the ISR routine, then the DSR
> routine is never called. Is there a
> way around this? It certainly is
> straightforward to recode the DSR to
> eliminate re-entrancy problems.
> 
> thanx,
> 
> jr
> 
> 

-- 
      David Airlie, Software Engineer, Parthus Technologies plc.,
       Mary Rosse Centre, National Tech Park, Limerick, Ireland.
   t: +353-61-508116 / f: +353-61-508101 / David.Airlie@parthus.com


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


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