Hi
I the BIOS6 users guide it states
The period for the system tick is set by the configuration parameter
Clock.tickPeriod. This is set in microseconds.
How does the BIOS know what CPU clock is has in order to calculate the number of cycles per microsecond (and then what value it needs for the PRD register)?
I have a C6472 evm and its gel file sets the clock to 625 MHz. When I setup a clock timer using
Clock_Params clkParams;
/* Create a periodic Clock Instance with period = 1ms * clkParams.period */
Clock_Params_init(&clkParams);
clkParams.period = 100;
clkParams.startFlag = TRUE;
clkParams.arg = (UArg)0x5555;
Clock_create(InputMgrTimerInterruptHandler,
INITIAL_CLOCK_TIMEOUT, &clkParams, NULL);
I get a period of 112 msec instead of 100 msec - this is expected since my clock in 625 MHz and not 700 Mhz. (measured this using the time stamp on Log_print messages and a scope probe on the LEDs.)
So obviously BIOS thinks the clock is 700 MHz. I tried specifying the clock in the cfg as
BIOS.cpuFreq.lo = 625000000; (clicked on the ti.sysbios.BIOS outline and expanded the cpuFreq value to display hi/lo values)
But that didn't change anything.
How do you specify the CPU clock so that the clock tick period is correct for the clkParams.period parameter?
Cheers