I am having a problem with the OMAP5912 in which heavy access on the ARM flash bus causes occasional DSP DMA timeout errors. The DSP DMA process is moving data from the McBSP1 to DSP DARAM. The ARM process is computing a CRC on a large chunk of data which resides on a Flash chip on the Flash Bus. I have found that I can make the problem worse by increasing the amount of CRC work the ARM is doing.
I fundamentally don't understand how these two thing are related. I think of the DSP DMA process being entirely contained in the DSP core. I don't think heavy traffic on the flash bus should affect the DSP DMA since I think the DSP DMA isn't going through the Traffic Controller. I wish I could understand how the ARM is affecting the DSP in this way.
I am operating the OMAP5912 in synchronous scalable mode with the DSP at 192 MHz and the ARM and TC at 96 MHz. The TC is operating with the round robin priority algorithm selected and default priority weighting of 0 for the ARM, DSP, DMA and OCP-I. I think this means that each of thes 4 items gets one access and then passes control onto the next item what wants an access. As an experiment, I tried increasing the priority of the DSP and the DMA but saw no noticeable effect and the problem still persists. I also tried running the ARM at 192 MHz and this did not change anything.
I am wondering if anybody has has seen this kind of interaction between the ARM and the DSP.
I am planning to try changing settings on the MPUI interface next.
Thanks,
Dennis Ochs
Philips Medical Systems