Other Parts Discussed in Thread: SYSBIOS
My team is looking into using delta times between our high speed zero-latency interrupt to help identify system health as these should be occurring at a defined rate. We are trying to timestamp at about 1/10000 of the system clock frequency. The other threads in our system can utilize the SYSBIOS timestamp module. From my understanding, SYSBIOS API calls are not recommended. Given that, is there a recommended way to timestamp zero-latency interrupts? Our current SYSBIOS implementation utilizes Clocks and TimestampProvider thus all the timers are used.
Timer 0 and 1 = SYSBIOS Clock (ti.sysbios.knl.Clock with 1ms tick period) and SYSBIOS TimestampProvider (ti.sysbios.family.c28.TimestampProvider with default settings)
Timer 2 = SYSBIOS
Given this, how could I get a system tick count without causing instability? Would use of the TimestampProvider API be safe in a zero-latency interrupt? If not, can I utilize the same registers used by the TimestampProvider as I only expect to read it? Is there a better/alternative option?
Perhaps we could consider utilizing the driverlib cputimer instead of the SYSBIOS Timestamp module. If so, would there be anything that I'd need to be wary of if we followed that path?
Would utlizing ECaps be a possiblity?