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.

TDA4VM: GTC time counter register access issues

Part Number: TDA4VM

Dear Support,

so far we are using GTC timer counter(64bits) as our SOC global shared time stamp. We found an issue that we would get wrong data from that register, GTC_CNTCV_LO , GTC_CNTCV_HI very occasionally.

We wrote test code to calculate the period of task which is set to 10ms cycle in MCU1-0 with max/min/avg data recorded. Below is the test result.

The average data is fine(about 9341us), but the max value is 1202062us.  Below is the test code sample:

#define TICKS_TO_US 200

GetSystemTimer_u64()

{

   uint63 cur_t = 0;

    cur_t  = (*(volatile uint64_t*)(0x00a90008)) / TICKS_TO_US;

   asm("    dsb");asm("    isb");

}

Task(APP_10ms)

{

   Timer_Duration = GetSystemTimer_u64()  -  Timer_start;

   Timer_start = GetSystemTimer_u64();

}

The graph above just shows the summary of Timer_Duration

Could you give us any hints that what could lead to that issue? Thanks a lot for support.