UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

cancel
Showing results for 
Search instead for 
Did you mean: 
Adventurer
Adventurer
368 Views
Registered: ‎08-16-2017

How to use HLS autogenerated linux drivers in Petalinux recipe

Jump to solution

Hi all,

 

I have a couple of HLS IP cores. HLS automatically generates both Baremetal as well as Linux (UIO) pseudo drivers. When HDF is imported into petalinux I can see the drivers in: <petalinux-peject>/project-spec/hw-description/drivers/myipcore_v1_0 ....etc.

 

I was wondering how to best re-use these drivers in a yocto recipe, basically, I would like to write a small application which #includes and links to the exported HLS driver files. 

0 Kudos
1 Solution

Accepted Solutions
Moderator
Moderator
393 Views
Registered: ‎09-12-2007

Re: How to use HLS autogenerated linux drivers in Petalinux recipe

Jump to solution

The HLS will generate baremetal drivers and linux UIO wrapper (which will use the UIO kernel driver). In your case (Petalinux), only the UIO wrapper is relevant.

 

You would need to update the devicetree to use the UIO driver, and you can import the UIO wrapper into SDK to debug/test.

 

I have a wiki here that details how to use the UIO driver, and test in SDK:

http://www.wiki.xilinx.com/Testing+UIO+with+Interrupt+on+Zynq+Ultrascale

 

This isnt specific to HLS, this uses an AXI GPIO, you would replace this with your HLS IP.

 

There is also alot of other threads on this topic. For example

https://forums.xilinx.com/t5/Vivado-High-Level-Synthesis-HLS/HLS-2017-2-Linux-drivers-for-my-exported-IP/td-p/812877

1 Reply
Moderator
Moderator
394 Views
Registered: ‎09-12-2007

Re: How to use HLS autogenerated linux drivers in Petalinux recipe

Jump to solution

The HLS will generate baremetal drivers and linux UIO wrapper (which will use the UIO kernel driver). In your case (Petalinux), only the UIO wrapper is relevant.

 

You would need to update the devicetree to use the UIO driver, and you can import the UIO wrapper into SDK to debug/test.

 

I have a wiki here that details how to use the UIO driver, and test in SDK:

http://www.wiki.xilinx.com/Testing+UIO+with+Interrupt+on+Zynq+Ultrascale

 

This isnt specific to HLS, this uses an AXI GPIO, you would replace this with your HLS IP.

 

There is also alot of other threads on this topic. For example

https://forums.xilinx.com/t5/Vivado-High-Level-Synthesis-HLS/HLS-2017-2-Linux-drivers-for-my-exported-IP/td-p/812877