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.

TMS320F28379D: Use of uninterruptible RPT instructions by the SFO() function

Part Number: TMS320F28379D

Hello,

I'm calling the SFO() function from a background loop, in a program that has interrupts. These interrupts have strict, hard realtime constrainsts so in terms of execution time I don't care about the average case, I only care about worst-case.

Because the SFO function relies on a RPT #20 || NOP instruction it creates jitter for all CPU interrupts. With a SYSCLK at 200MHz this means any CPU interrupt can start with a delay between 0 and 100ns.

In my case this delay is a big hurdle because I need to trigger that interrupt every 600ns (120 SYSCLK) so such wild variation is a lot of trouble.

Theoretically speaking, would there be any way to split this RPT in smaller chunks (individual nops?) in a future update of the SFO library?

Cheers,

Pierre