Briefly, I have a system where the flex timer running at approximately 700Hz is used to trigger the DMA from a 512x16bit buffer to the RGPIO pins which are connected to some LEDs. At the end of the DMA transfer, there's an interrupt which resets the count back to the start and optionally performs any updates on the buffer. The problem is that every now and then (anywhere from a few seconds to a couple of minutes apart), there's a brief strobe on the output that's very visible. The interrupt has been elevated to level 7 to give it the highest priority, and the blinking still happens. I haven't tried implementing a circular buffer as I'm not sure how to do that so that it runs indefinitely, and there are cases where I must do some processing in that interrupt (although I kick off the next DMA cycle in the first three instructions of the IRQ).
1. Are there any known cases where the DMA may have priority under another memory device that could postpone the transfer?
2. Has anyone experienced any jitter with the ColdFire's FlexTimer module?
3. Can I implement this with a true circular buffer and still have an end-of-DMA interrupt for other things?
4. Is there anything that can supersede a level 7 interrupt?
Any help would be appreciated. Thanks.