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 16:28:33 UTC 2003
Joel Sherrill writes:
>
>
> gregory.menke at gsfc.nasa.gov wrote:
> >
> > 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..
>
> Standard warning about porting Linux code to RTEMS applies here. It is
> GPL with no exception so can't be included in the RTEMS source
> distribution.
> Please use a BSD driver as your starting point.
Now you tell me.
Gregm
More information about the users
mailing list