How to populate 32-bit array on EMIF using DMA | Cypress Semiconductor
How to populate 32-bit array on EMIF using DMA
I've successfully integrated EMIF into my project which contains a data stream coming in via SPI among many other things.
The SPI data coming in is 32-bit, so I am using a DMA to facilitate the creation of 32-bit values in the internal sram. I have also tested the EMIF_Example project and configured it to 32-bit transfers, where the source is incremented (src incrementation is default for the example) and have verified it works this way.
What I want to do is use a second DMA to transfer the result the DMA creating the 32-bit values makes onto the external sram. In this case I would not want source incrementing.
The problem I am facing is the emif component does not seem to work properly when I increase the burst count to 4 (for 32-bit transfer, it is 1 for 8-bit tx by default in the example). It only transfers the first and 3rd byte properly, the second and fourth byte are either corrupted or not transferred.
Attached is both my project and below is my google sheets for received data from the external sram via the emif component. SendData is the original correct data, ReceivedData is the data on the sram.
Any help would be greatly appreciated, this is the last step of a critical stage of my design, without this I cannot move forward.