Processor :
VF6xx
Task :
1. Write external flash chip through QSPI
2. Need to transmit 512 Bytes, for one selecton of LUT sequence, so need to keep loading Tx buffer as and when the data gets pushed out of the QSPI lines.
Problem :
1. Is it possible to use eDMA to transfer data to Tx buffer of QSPI.
2. How eDMA will get to know Tx buffer full information from QSPI so that it will wait till there is empty place in Tx buffer.
I don’t believe this approach is going to be feasible.
The QSPI peripheral on Vybrid supports Interrupt and DMA operation, but the only DMA trigger is the “RX Buffer Drain”. This signal indicates that the RX Buffer has data to be read (data has been transferred from the QSPI Device to the RX Buffer) and the DMA channel is expected to empty the RX Buffer.
There is not a corresponding TX Buffer Empty DMA trigger.
I suspect that in the end you will trigger a DMA Channel in the interrupt service routine from the TX Buffer Empty, and this DMA Channel will simply fill the TX Buffer so that there is sufficient data for the page program. Note that the page program time is likely to be significantly longer than the time it takes to fill the TX Buffer with a DMA channel.
The specifics for the DMA manager will be completely dependent upon the operating system that you are running on the Vybrid, and which core.
Can I get some support for regarding this post ?