Question on all SPARC BSP get nanoseconds handler
Nick Withers
nick.withers at anu.edu.au
Tue Feb 3 01:38:50 UTC 2015
On Mon, 2015-02-02 at 11:45 -0600, Joel Sherrill wrote:
> Hi
>
> Last week while teaching an RTEMS class, we looked at a SPARC BSP's
> get nanoseconds since last tick handler. They all follow this pattern:
>
> clicks = Read Counter
> if ( clock interrupt pending ) {
> clicks = Read Counter;
> time =(2 * time per tick) - (clicks);
> } else {
> time = time per tick - clicks
> }
>
> return time;
>
> The code is correct but I would like to add a comment to all three
> versions
> of this code so it is clear what was intended.
>
> I think it is something like. Read the counter. If there is not an
> interrupt pending,
> then we are in the same clock tick. If there is one pending, then see
> how long
> past that tick we are. The handler has to report from slightly > 0 to
> slightly
> less than 2 ticks depending on where we are relative to the next clock
> tick.
>
> Just wanting to make the code more understandable for the next person.
> Help
> writing the comment is appreciated.
For what it's worth, Sebastian and I were looking at similar code in the
PowerPC tree recently and added some comments that are in this sort-of
area:
https://devel.rtems.org/changeset/d11b711b3ed6b4a053a298cf4e9f1209748fae5e/rtems
> --
> Joel Sherrill, Ph.D. Director of Research & Development
> joel.sherrill at OARcorp.com On-Line Applications Research
> Ask me about RTEMS: a free RTOS Huntsville AL 35805
> Support Available (256) 722-9985
--
Nick Withers
Embedded Systems Programmer
Department of Nuclear Physics
Research School of Physics and Engineering
The Australian National University
More information about the devel
mailing list