RFC: Is BSP allowed to modify configuration values?
ianc at microsol.iinet.net.au
Wed Oct 20 01:55:19 UTC 2004
In our systems we use a slightly different method, but it is similar to
B. Our systems are networked (arcnet) cells, of which one is a time
master and all the others are slaved off it. We need to keep all the
cells time synchronised to +-500us, and we use a 1ms tick in our system.
The hardware timer that we use for this in each cell count in 1us
Instead of acually missing a tick, we change the hardware timer timeout
to be slightly shorter or longer to make all the times stay within our
In your example, maybe you could change your your tick duration from the
"9.765625ms" to "10.xxxx ms" occasionally to keep the times on average
Thomas Doerfler wrote:
> this is a general question, quite related to Leon's "PIT
> initialization" question:
> On some of my MBX8xx boards, the manufacturer has implemented a
> rather inflexible timer clock hardware. This hardware uses a low
> frequency crystal to feed the system timer, and therefore it is
> impossible to create "nice" timer tick intervals like "10ms" or
> so. You might end up at real timer tick values like
> "9.765625ms". I am not yet sure how to handle this on BSP level.
> I see various solutions:
> A) At runtime, adjust the "usec_per_tick" value in the
> configuration table from the user selected value to the closest
> one supported
> B) At runtime, accumulate the timing error generated and drop
> timer interrupt handling from time to time to get, in average, a
> correct advancement in time. The disadvantage here is, that the
> RTEMS tick no longer will advance at evenly spaced intervals
> C) Use a different timer (which would be suitable at this
> particular hardware, but I think this problem might arise with
> other hardware aswell).
> Any comments welcome...
> IMD Ingenieurbuero fuer Microcomputertechnik
> Thomas Doerfler Herbststrasse 8
> D-82178 Puchheim Germany
> email: Thomas.Doerfler at imd-systems.de
> PGP public key available at: http://www.imd-
More information about the users