AnsweredAssumed Answered

How to access External memory using WEIM Burst Mode?

Question asked by Deepak Kukreja on Jan 22, 2018
Latest reply on Jan 31, 2018 by Deepak Kukreja



Current design

  • For my prototype I have an iMX51 processor interfaced to an FPGA.
  • For now I am making use of the External Memory interface for the interconnection.
  • Configured WEIM for 16 bit multiplexed, Asynchronous memory bus (WEIM).
  • In addition I have Windows Embedded Compact 7 running as the OS.


I have an application and a driver that read and write the words(16 bit) to the FPGA. Implementation is simple, I am simply writing to the address that falls in the WEIM CS0 at addresses that have specific meaning for both the iMX and the FPGA.


Everything is working fine except the throughput. I referenced few previous discussions and it has been attributed to bus latency within the SoC.


I have also been suggested that using Synchronous Burst mode would yield a better throughput.


But I have no idea how to make use of Synchronous Burst Mode from the software programmer's perspective. I can figure out the CS0 configuration registers, that is known to me. 


But how do I write code in C for triggering the synchronous burst mode is what I do not know how to get it to work.


Any clues, guidance, suggestions, pointers are very welcome.


Thanks in advance.



PS: ( I know iMX51 is an old device to be used in new designs, but we already have working boards with these, and once this works in concept we would be upgrading to iMX7 based boards)