Jump to content
  • 0

Introduction question on Zynq PL interface to Linux/OpenCV.


imc_user1

Question

Hello everybody, 

When I have an Zynq design with embedded Linux and OpenCV loaded, how do I start doing pixel manipulation by interfacing with the OpenCV? In particular what are the instructions written to the PL, what kind of bus (AXI or AXIS?) and the format of instructions and data?

My background knowledge in this kind of work is openMSP430 and openMSP430Gfx. My PC games programming taught me how the sprites working and the loading of spites in openMSP430Gfx and display on screen, seems conceptually easy to understand. Asides that I was able to customize/reprogram the Adafruit graphics library and build an accelerator with FPGA to draw lines and circles etc for it.

Thank you! 

 

Link to comment
Share on other sites

3 answers to this question

Recommended Posts

On 6/2/2018 at 4:21 AM, jpeyron said:

Hi @imc_user1,

I do not have experience with embedded Linux and OpenCV. I did find some information that might be helpful here and here.

thank you,

Jon

Yeah you are right. The Xilinx user guide seems to use  AXIS for video frames and AXI for control, but that's for scenario where the OpenCV serves as frame read/write to storage devices.  

 

Link to comment
Share on other sites

Continue with my study. I managed to read through the data path how embedded Linux writes characters to a FB driver and how the driver sends the characters to an SPI LCD screen.

If the Linux app happens to write triangles (similar to OpenGL's vertices) to the hardware, assuming it's FPGA and the FPGA calculates the pixel colors inside these triangles and send to SPI or parallel LCD screen, is that similar to how the data is processed in a GPU? 

Where can one find the format and protocol how the Linux/OpenGL writes the vertices to the GPU? I know it's PCI-E. 

 

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...