RFC: Is BSP allowed to modify configuration values?

Ian Caddy ianc at microsol.iinet.net.au
Wed Oct 20 01:55:19 UTC 2004


Hi Thomas,

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 
increments.

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 
range.

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 
at 10ms.

regards,

Ian Caddy



Thomas Doerfler wrote:
> Hello,
> 
> 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
> 
> or 
> 
> 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...
> 
> Thomas.
> --------------------------------------------
> 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-
> systems.de/pgp_keys.htm
> 
> 



More information about the users mailing list