Hi, Dear all,
I have provided a demonstrate of VIDEO_DMA in video capture driver, but
I still recieve some e-mail to ask me can I provide another demonstrate
without video capture code, that naked operating the DMA engin. :-(
The DMA engin has configured in the FPGA logic is as a part of the video
capture peripheral device, if we operate it bypassed the video capture
device, we need an independent DMA separate soft interface.
The DMA can partly separate operate, it can only transfer data from peripheral
to host (peripheral -> host only), that means we can only READ the DMA.
So far as the configuration of DMA in the FPGA, its two address registers are
connected to the fixed address space: the content of the DmaRegSrc is
parsed as physical address in peripheral address space, than the content
of the DmaRegDest is parsed as logic address in host address space.
Thouth the DMA is not support "WRITE"(host -> peripheral) operation,
I have implemented the "WRITE" and the code can work if the DMA supported.
But, in this demo we can not start the DMA write transaction, after the user
data has be transfered to DMA's common buffer. Otherwise, it will overwrite
system data and crash the system, in that case, Ah Oh, the lovely blue screen
will jump out and say "Hello" to you ....
If the ADC firmware has a FIFO or a RAM buffer, andits driver use DMA to transfer
data, orthe VideoCap driverto directly read video frame data without using DirectShow interface,
both can reference this demo.