This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

DMTimer Enable Issue

Greetings:

I have a StarterWare application for the BeagleBone Black that is giving me troubles. When I start Timer6 using a command such as DMTimerEnable(SOC_DMTIMER_6_REGS) the boot process halts.

It appears as if execution is getting hung up on the DMTimerWaitForWrite(DMTIMER_WRITE_POST_TCLR, baseAdd) macro call. This issue seems to come and go on its own.  If I rearrange my code I can make it less likely to occur or even make it SEEM to go away.  It will, however, reappear at a seemingly random future event days or weeks later.

Another thread hinted that some of these WAIT-for calls are not necessary and will be removed in a future version of StarterWare.  What is the projected release date of the next installment of StarterWare?  Is there a fix I could implement in the mean time?

Respectfully,
Dave

  • Assumed you do not have a memory leak that damages parts of the code from time to time: do you use the TI ARM compiler and have optimisations enabled? If yes: please try without (or with optimisation level 0 at maximum). I found that levels higher than 0 are a risk and levels higher than 1 very often damage the code and cause strange effects.

  • HI Dave,

    From the first look of it , it seems to be like a clock configuration problem. Could you please confirm whether the 

    timer 6 clock is running and the proper mux value is selected. Registers are listed below. I don't see any other reason for code to wait on the TWPS register.

    CM_PER_TIMER6_CLKCTRL This register manages the TIMER6 clocks. Section 8.1.2.1.44

    CLKSEL_TIMER6_CLK Selects the Mux select line for TIMER6 clock [warm Section 8.1.2.3.7