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.

C6678 timers 8-15 problem

Hi,

I'm using C6678 EVM (TMX320C6678L)

Currently only core0 is running, I'm trying to use 2 timers: number 0 and number 8 (in future each core will use timers 0+core_num and 8+core_num)

The core that is executed is as following:

CSL_tmrInit(NULL);

timer_handler[0] = CSL_tmrOpen(&timer_obj[0], CSL_TMR_0, NULL, &timer_status);
timer_handler[1] = CSL_tmrOpen(&timer_obj[1], CSL_TMR_8, NULL, &timer_status);

After this code is executed, timer_handler[0] get a legal value, but timer_handler[1] equals NULL and timer_status equals -1

I tried also using different timer id for the second timer, all numbers between 0-7 works fine, but any id that is between 8-15 causes this problem

Can anyone help me?

Thanks,

Oleg Fomenko

  • Oleg,

    I tried the following test code on C6678 device but both timer handlers return 1 as normal.

    I am using latest C6678 PDK/CSL release as "pdk_C6678_1_1_1_4". May I ask if you have seen any difference between your code and my example below please?

    CSL_TmrHandle timer_handler[2];
    CSL_TmrObj timer_obj[2];
    CSL_Status timer_status;

    timer_handler[0] = CSL_tmrOpen(&timer_obj[0], CSL_TMR_0, NULL, &timer_status);

    if (timer_handler[0] == NULL)
    {
    printf("timer_handler[0] returns NULL, timer_status is %d\n", timer_status);

    }
    else
    printf("timer_handler[0] returns %d\n", timer_status);

    timer_handler[1] = CSL_tmrOpen(&timer_obj[1], CSL_TMR_8, NULL, &timer_status);
    if (timer_handler[1] == NULL)
    {
    printf("timer_handler[1] returns NULL, timer_status is %d\n", timer_status);

    }
    else
    printf("timer_handler[1] returns %d\n", timer_status);

  • Hi Steven,

    Thank you for your reply

    I found that the problem is in PDK version, I'm using the old version 1.0.0.16, when I tried it on 1.0.0.21 it worked!

    I guess that 1.0.0.21 is also pretty old version, 

    Are there many differences in CSL API between 1.0.0.16 and the latest one?

    Where can I get the latest PDK for C6678? I can download it only as part of MCSDK? or I can also get it in a separate package?

    Thanks,

    Oleg

  • I successfully moved to PDK version 1.1.1.4 and it solved the problem

    Thanks

    Oleg