[Dspforum] Error in EDMA HW Solution

Joseph Haber josephhaber at gmail.com
Sun Nov 8 06:03:47 MST 2009


All,

In the waitfordma function in the EDMA solution, this line is in error:

EDMA_RSET(CIPR, regval |= mask);

it should actually be:

EDMA_RSET(CIPR, mask);

A bit is cleared in the CIPR by writing a 1 to it. By or'ing the regVal with
the mask, we clear all the bits that are set when we read the CIPR. So, if
for example both a read dma and write dma were completed, and there were two
successive waitfordma's to check the two tcc's, the second waitfordma would
not work correctly.

Sorry about that mistake. I noticed it last time we taught, and I thought I
had eliminated it everywhere...

Joseph
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://echelonembedded.com/pipermail/dspforum_echelonembedded.com/attachments/20091108/5d33fa00/attachment.html>


More information about the Dspforum mailing list