Does rtems have a portable, sort-of calibrated time-wastingloop?
gregory.menke at gsfc.nasa.gov
gregory.menke at gsfc.nasa.gov
Wed Mar 26 15:57:42 UTC 2003
Joel Sherrill writes:
>
>
> "Eugeny S. Mints" wrote:
> >
> > Hi,
> >
> > On Tue, 25 Mar 2003 gregory.menke at gsfc.nasa.gov wrote:
> >
> > >
> > > Perhaps something like Linux's udelay- it doesn't have to be fast, but
> > > should cause the program to spin for the supplied interval. It should
> > > not itself reschedule, so rtems_wake_after is out- and should be
> > > callable from an isr.
> >
> > Yes, seems it is 'rtems_bsp_delay()' macro. Each bsp should
> > define it in a custom way (because it is very dependent on
> > the clock speed of the target). I'm not sure, wether it is
> > callable from an isr but don't see any restriction for this.
>
> Since this routine is BSP dependent, it could end up not being
> callable from an ISR but that is not the intent. It is intended
> to be a tight assembly loop or poll a HW counter/timer but should
> be callable from an ISR. The only issue is killing time
> in the ISR.
I'm porting the Linux 3com driver and in a couple places it waits on
the hardware- usually a quick test with a fallback to longer and
longer intervals with either eventual success or failure. I've not
found any of these waits in the rx/tx isr yet- but theres not
telling. Its pretty hairy code in there..
Gregm
More information about the users
mailing list