[U-Boot] U-Boot Timer Qualification
Jean-Christophe PLAGNIOL-VILLARD
plagnioj at jcrosoft.com
Wed Apr 22 22:49:36 CEST 2009
Hi all,
For all Timer modification a minimun of qualification is mandatory
as it will impact a lots of part of u-boot.
So for this purpose I'll propose you to use one of this two approche
to report the precition of your timer or update
1) Clock generation Mesurement
Tools needed: Scope or Frequency metter
In this approch you will use a gpio to generate a 1Khz and at 1Mhz or
it's maximun generated clock frequency
before generate one of this clock you will need to known your GPIO and
system latency. For this purpose you will generate a clock at your
maximum speed as this algo
set_gpio_as_output(gpio);
while(1) {
set_gpio_value(gpio, 1);
set_gpio_value(gpio, 0);
}
after measure the clock (hg_clock) you will it's latency
now you will try to generate the 1Khz clock
to known the precision of your timer at 1ms
while(1) {
set_gpio_value(gpio, 1);
udelay(1000);
set_gpio_value(gpio, 0);
}
now measure the frequency of the clock
the last step is now calculate your precision
hg_clock = measured max speed generated clock
ms_clock = measured 1Khz generated clock
p = (1 / 1000 - (1 / hg_clock + 1 / ms_clock)) * 1000
depending on max generated clock you can known your precision
as 1us or less
2) Watch mesurement
measured with stop-watch on 100s delay
x = measured time
p = (100 - x) / 100
Best Regards,
J.
More information about the U-Boot
mailing list