04-25-2019 01:11 AM
I have been using AD9371 integrated reference project with ZC706. The data sent through IIO oscilloscope is seen on the oscilloscope in the form of band (waveform). can I know a way to check data that has been written into the RX dma.
Basically I want to read data from RX dma and write it onto a file, can anyone help me in this, provide any URL for reference .
05-10-2019 10:23 AM
I am not sure exactly what you mean by data "written into the RX DMA". DMA stands for Direct Memory Access so you would be writing or reading from some form of memory directly. Are you using the board's memory, or some other memory source?
Based on the address your memory is located at, since you have a PS you can read data from memory using Xil_In8/16/32 (see the GitHub for more info. : https://github.com/Xilinx/embeddedsw/blob/master/lib/bsp/standalone/src/common/xil_io.h).
In order to do file IO I believe you will need to boot into Linux with a USB or a SD Card driver in order to write to a file. Getting either of these working as I understand it is generally somewhat difficult, and I am not sure what benefit is gained by doing so. What is the purpose of writing to a file from memory in your design? I would suggest creating a seperate forum question on the Embedded Linux or Embedded Processor System Design forums to answer that part of your question, or looking for any forum posts about file IO and SD Card use.
05-14-2019 12:24 AM
Thanks for replying.
I have been using both Two DMAs, one on the Transmission path and one on Reception.
I have to verify that the data sent from the transmission path to reception path. These values are written on to the DMA in the design. In order to compare , I have the source file loaded on to DMA(Tx) but to compare the received data on RX path I need to read the DMA.
I am using SD card to boot the board.
It would be helpful if you can give me some insight on this.
Hope this explains my requuirements.
05-23-2019 02:44 PM
Again you wouldn't be able to read or write from the DMA (you could write/read the registers in the AXI DMA IP, but I don't think that is what you are talking about).
First we need to know where you are reading from, and even then I am not sure how you would use a DMA to accomplish this. Most use cases of a DMA is to transfer large amounts of data from a streaming source to a memory mapped location or you could use CDMA to transfer between two memory mapped locations.
I don't think it is proper to say you write onto DMA (you send the data to the DMA to transfer and then it transfers the data). Therefore I am unsure what exactly is going on in your design. Can you provide a diagram of what you desire to do?
I am guessing you are reading data from memory (key that memory is not DMA) and you want to stream that out to a file on a SD Card. As I understand it you are also in a Linux system, is that correct (important distinction to know how to proceed)? If so you should be able to read/write to the SD Card using basic file I/O and then do the compare on your PS.