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 64-bit shared timer CSL + SYSBIOS

Other Parts Discussed in Thread: SYSBIOS

Hello everyone,

(target C6678 , sysbios 6.37, PDK 1.1.2.6, XDCTools 3.25)

Here's my requirements :

A - use a C6678 shared timer in General Purpose mode.
Cores should be able to read the count values from the timer.
B - use inside a SYSBIOS application
C - use it in 64-bit mode (not supported by SYSBIOS)
D - overwrite the timer count value with a function call (not supported by SYSBIOS nor CSL)
E - no timer interruptions are needed

Here's what I managed to do :

- monocore application that does A, B, C, D, E through the CSL.
the sysbios timer module is left alone.

Here's my issue :

- 2 cores accessing the same timer doesn't work even though the timer handle is the same.

by doesn't work I mean one core is able to read the timer but the other one isn't (wrong values).

Example execution in monocore :

(start the timer, set it to 7777 lo 3333 hi, re-read, wait, re-read)

[C66xx_0] countLo = 52 | countHi = 0
[C66xx_0] new countLo = 7821 | new countHi = 3333
[C66xx_0] after wait countLo = 9603 | countHi = 3333

Example execution with 2 cores :

[C66xx_0] countLo = 52 | countHi = 0
[C66xx_1] countLo = -1 | countHi = -536870913
[C66xx_0] new countLo = 7821 | new countHi = 3333
[C66xx_1] new countLo = -1 | new countHi = -536870913
[C66xx_0] after wait countLo = 9603 | countHi = 3333
[C66xx_1] after wait countLo = -1 | countHi = -536870913

Any help is welcome.

Regards,
Clement