Hi all,
I use the freescale driver for USB Host to connect a mass storage device and read a file on it into the ddr memory which is attached to the vybrid.
This works well. Now I tried to stream the msd file content to the vybrids internal 512 kByte SRAM. If I do so the vybrid gets an data abort if the DMA
of the host controller starts to stream the msd file content to the internal SRAM.
Picture below shows my intenetion. While the USB Host DMA streams his transaction data into the internal SRAM, the Processor
can do any other stuff on the ddr memory without any interruption.
Why do I get an data abort if the dma starts his work?
Thanks for your help.
Solved! Go to Solution.
Hello Dirk,
DMA transfer can be interrupted due many reasons (bus error, incorrect descriptors,...). Please check DMAx_ES ans DMAx_ERR registers.
Theoretically:
SRAM and SDRAM has similar throughput (on NIC 64 b / 133-166MHz both). SRAM has significantly less latency. So here should not be the limitation.
Question is if some other master on NIC does need SRAM. Where is your program runs from? Please describe your use case (operating system or baremetal, which core,...).
/Jiri