Other Parts Discussed in Thread: OMAP-L137, SYSBIOS
Hello,
I've a couple of questions related to the timers on the OMAP-L137.
On the ARM side of the OMAP the following version are used:
- BIOS Version: bios_6_20_01_41
- CCS Version : 4.0.1.01001
In our application the ARM and the DSP are sharing the lower part (Half_LOWER) of Timer1, the upper part is not used and the Timer0 is used solely by the DSP.
The ARM configuration currently only contains a clock module which is used for Timer1 settings (ti_sysbios_knl_Clock.timerId = 1;).
The correct value for PRD12 register of Timer1 must be 0x61A8 (25000), which is
the value the DSP configures. However, when loading/running an ARM image after
the DSP has set PRD12, this PRD12 register is overwritten by the ARM with 0x5DC0 (24000). This seems to be the default value and is derived from Timer_module->intFreq (24MHz), found in the function Timer_getFreq() of Timer.c.
When including the ti.sysbios.timers.timer64.Timer module in the configuration,
I'm able to set the intFreq to 25MHz (ti_sysbios_timers_timer64_Timer.intFreq.lo = 25000000;)
Q1: Is this the only/correct way to set the intFreq value to 25MHz?
Another problem I oberved is, that the ARM will stop the lower part of Timer1
(calling Timer_stop() in BIOS) whenever the ARM is booting and this affects
the DSP.
Q2: Is there a way to bypass the call to Timer_stop()?
I'm thinking about the usage of the upper part of Timer1 for the ARM by setting
ti_sysbios_timers_timer64_Timer.defaultHalf = ti_sysbios_timers_timer64_Timer.Half_UPPER;
Q3: Is in this case excluded that the ARM affects the DSP timer (Timer0 and lower half of Timer1)?
Q4: Is the ARM then only using the upper part of Timer1 (e.g. for the clock module)?
According the Timer User's Guide (sprufm5a.pdf) the upper half ot the Timer
(Timer 3:4) operates as a 32-bit timer being clocked by a 4-bit prescaler in unchained mode.
Q5: How does Timer 3:4 behave when setting TDDR34 and PSC34 of TGCR to 0?
Q6: Is the behavior the same as Timer 1:2, i.e. without prescaler?
Thanks,
Frank