Forum Discussion
Altera_Forum
Honored Contributor
15 years agoThe SGDMA buffers in the descriptors can be up to 64k long. That said I faced a similar problem when improving/debugging the TSE drivers for eCOS. I had a bug in buffer allocation and some times a received packet would end up in a buffer used for transmit.
Are you using the standard altera TSE drivers with uCOS/Interniche? In that case, what version? You could add some debug messages displaying the buffer address and length used during each DMA transfer, just to check that you don't have any overlap. It could also be a cache coherency problem. Check that the driver properly flushes the cache before a DMA read and invalidates it after the DMA write (or uses the alt_remap_uncached() functions).