Other Parts Discussed in Thread: SYSBIOS
I created a SYSBIOS based application that is loosely based on IPC example ex02message.
I overrode the timer tick SWI and added a call to trigger and task when the system timer fires. See
Then, inside the .cfg file I have
/* Create Timer module */
Program.global.TMR_system = Timer.create(Clock.timerId, '&myTimerTick', timerParams);
The code seems to run fine, but I'm puzzled as to why I get a 34 microsecond maximum latency when the average is 2.66 microseconds....
DSP stats [152373] max 34.81 usec, min 2.06 usec, average 2.66 usec
Note the counter time counts are scaled by
Timer_getFreq(TMR_system, &freq);
if (0 == freq.lo)
freq.lo = 1;
scale = 1000000.0 / (float)freq.lo;
then
sprintf(msg->data, "[%d] max %8.2f usec min %8.2f usec average %8.2f usec\n",
timing_info.n,
(float)timing_info.max * scale,
(float)timing_info.min * scale,
(float)timing_info.average * scale);
With results send back over IPC.
Config.bld contains