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 frequency mismatch

Other Parts Discussed in Thread: SYSBIOS

Hi all,

I am trying to execute BIOS 6 task mutex example in ccsv5.1 in DM8148 EVM. I am getting following error

[C674X_0] ti.sysbios.timers.dmtimer.Timer: line 1031: E_freqMismatch: Frequency mismatch: Expected 32768 Hz, actual: 1740139 Hz xdc.runtime.Error.raise: terminating execution

Can anybody help me to solve this error?

 

Thanks

Jibin

  • Hi Jibin ,

    Which version of BIOS are you using?

    Have you modified the example at all?

    Steve

  • Hi Jibin --

    We added some validation code in 6.32.04 to check that the timer input frequency is programmed correctly.   There are 2 possible input frequencies -- 32kHz and 20MHz.   This input frequency can be set by UBOOT or .gel.  We added some code to BIOS to make sure that BIOS configuration aligns with the device setup.  This code is catching a mismatch

    Can you try updating your BIOS configuration file to specify 20MHz?

     

    var Timer = xdc.useModule(‘ti.sysbios.timers.dmtimer.Timer’);

    Timer.intFreq.lo = 20000000;   // 20MHz

    Timer.intFreq.hi = 0;

     

    You can also disable this check entirely using the following:

    Timer.checkFrequency = false;


    You should use ROV to view the Clock->Module data.  You should see time count.  Assuming default Clock tick of 1ms, run for ~10 seconds and you should see the value change by 10,000.

  • Hi,

    I faced the same problem yesterday, trying DSP compilation with the Hello World BIOS-Example.

    I used Bios v.6.32.4.49. The point is that the error (frequency mismatch) occurs for the target "C674x", but not for CortexA8.

    I tried with a previous Bios (v.6.32.3.43) and everything went fine (both for CortexA8 and C674x.

     

    So I'd rather say that it's a DSP configuration specific problem in Bios v.6.32.4.49...

     

    Best regards,

    René

     

  • Unfortunately, there's a bug in the newly introduced frequency check code we added in 6.32.04.49.  It may incorrectly flag frequency mismatch in some cases.

    This bug has been fixed in 6.32.05.54 which should be available on the external web within the next day or so.

    http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/index.html

    If you are using 6.32.04.49, you should add this to your .cfg file:

    var Timer = xdc.useModule(‘ti.sysbios.timers.dmtimer.Timer’);
    Timer.checkFrequency = false;

    Regards,
    -Karl-

  • Hi Karl,

    Could you elaborate on the procedure to switch the timer input frequency from 32kHz to 20MHz . I changed the Timer.intFreq.lo to 20000000 in the BIOS .cfg file. This changed the expected value, but the actual value still remained 32768 and I get the Frequency mismatch error.

    Where in the .gel file do I change this value to 20 MHz ?

    Thanks !

  • I saw this just after replying to your related Clock tick rate thread.  

    This other forum thread may help: http://e2e.ti.com/support/development_tools/code_composer_studio/f/81/t/250375.aspx

    It shows example GEL code for enabling and selecting clock sources for dmtimers...

    Scott