Hi,
I'd like to re-open this thread reporting a PRD function not being called. The old thread is marked 'answered' but the problem described in the old thread was not solved - it just 'disappeared'.
I also have this behaviour every now and then and I still dont know where it comes from. Basically what I see is the the timer does not get initialized by the DSP BIOS framework. My questions:
- What is required to make DSP BIOS framework setup the timer registers?
- When is this setup done?
- What can prevent the timer registers from being setup?
some infos about my app and what I've seen so far:
DM647, BIOS 5.33.06, compiler 6.1.12, CCS 3.3.82.13.
I dont manipulate the timer registers manually, I let DSP BIOS do the job. After powerOn, the registers of TMR0 are in the default state:
in a little application, the timer is configured to run in the tcf file:
CLKOUT 700MHz
CLK:
Timer 0
IRAM
Use hight resolution timer for internal timings: ON
enable high resolution timer: ON
specify input clock rate: 116.667MHz
Reset timer and TIMMOD: ON
Directly configure on chip timer registers: ON
PRD: 116667
The registers remain in this state also when the application is loaded and I step from c_int00 to main and to the first tsk. When my application runs, it hangs at the first TSK_sleep call. PRD functions are not called
A different application with (exactly) the same timer setup in the DSP BIOS config file shows a different behaviour: from c_int00 to main, the registers remain in the power on defaults. After leaving main() before entering the first TSK, the registers get set up:
From now on, the timer is running. Loading the first app also works, the registers remain unchanged, PRDs are called and TSK_sleeps return.
bye,
Thomas