Timer precision on at91rm9200

Rochat Joël jrochat at netplus.ch
Tue Oct 30 09:13:44 UTC 2007


I'm working now on the rtems timers. I use an at91rm9200 with th csb337 bsp.
I generate an 1khz timer on a pio pin and i measur with an oscilloscop the
result of it. And I have a little difference with the expected value .

I measure 1,0012 ms but I shoud have 1.0 ms. 1 khz is not very high
frequency, I think it could be more precis.

I'v modified the bsp.h for my board :
#define BSP_MAIN_FREQ 20000000      /* 3.6864 MHz */
#define BSP_SLCK_FREQ   32768      /* 32.768 KHz */

I know that the bsp for csb337 was configurer with an 184 Mhz mck. My board
have an 180 Mhz mck. I didn't find where I could modifie it.

Here is a part of my code :


//timer declaration
status = rtems_timer_create (rtems_build_name( 'T', 'A', '1', ' ' ), &timerId);
status = rtems_timer_fire_after(timerId, 10, timer1kHz, NULL);

//function called by the timer
rtems_timer_service_routine timer1kHz (rtems_id timer_id,void *user_data)
	if (gTick == TRUE)
		gTick = FALSE ;
		gTick = TRUE ;

	rtems_timer_reset(timer_id) ;

I hop you can help me.

Have a nice day


More information about the users mailing list