This is the mail archive of the
ecos-discuss@sources.redhat.com
mailing list for the eCos project.
Re: Re: Timer mechanism
- From: "Giovanni Perbellini" <perbellini at sci dot univr dot it>
- To: "Savin Zlobec" <savin at elatec dot si>
- Cc: <ecos-discuss at sources dot redhat dot com>
- Date: Wed, 14 Jan 2004 14:31:59 +0100
- Subject: Re: [ECOS] Re: Timer mechanism
- References: <400543A1.4010301@elatec.si>
> >Hi all,
> >
> >I'd like to know how the timer mechanism works.
> >I have used a function to return the current time, cyg_current_time().
> >I guess that this function returns the ticks count since when I turn on
the
> >board, is it correct?
> >
> >
> Yes - since eCos started.
Ok, but why do I get a very big number, even if I execute the
cyg_current_time() when the eCos starts?
> >Otherwise, Is there a variable, method or class returning/containing the
> >ticks count since the power up?
> >
> >Moreover, I have read that there is a macro to read the current value of
the
> >timing devices counter since the last interrupt, called HAL_CLOCK_READ.
What
> >is the relationship between the tick and interrupt?
> >
> The timing device is usually a hardware timer which can generate an
> interrupt after a
> specified amount of internal ticks. This timer gets initialized with
> HAL_CLOCK_PERIOD
> which "is" 10ms (by default) in hw timer ticks. The HAL_CLOCK_READ macro
> returns
> the number of hw timer internal ticks elapsed since the last interrupt.
Is HAL_CLOCK_PERIOD the time between two interrupts or two internal ticks?
Thank you very much
Best regards
Giovanni
--
Before posting, please read the FAQ: http://sources.redhat.com/fom/ecos
and search the list archive: http://sources.redhat.com/ml/ecos-discuss