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: 
Scholar pedro_uno
Scholar
212 Views
Registered: ‎02-12-2013

Ultrazed BSP conundrum

Hello,

We are planning to base a new development on the Avnet Ultrazed EG SOM. We are beginning development with the Ultrazed Starter Kit, ie. the SOM on a carrier board.  The latest Petalinux BSP for that board is 2018.2.  I tried to use Petalinux 2019.1 with that old BSP but got errors. Avnet claims they will have a 2019.1 BSP in August but it looks like they don't update those BSP often.

Going forward, we will not want to be held back to Petalinux  2019.1.  Also, we are going to build custom hardware very similar to the Ultrazed Starter Kit and we will need a BSP for that I suppose.  I think this all indicates that we will need to create our own custom BSPs. 

Unfortunately, I have not found a good reference on how to construct a BSP for Petalinux 2019.1. I have seen mention of the "petalinux-package --bsp ..." command but it is not clear how to get to the point that we can run that command.

Is there a guide to BSP creation somewhere? What is the best reference to understand the flow for this?  Is there a way to unpackage the 2018.2 BSP to extract the necessary files, etc?  Do I really even need a bsp file to use Petalinux on the Ultrazed board?

Any general or specific advice is greatly appreciated.

----------------------------------------
DSP in hardware and software
-----------------------------------------
0 Kudos
3 Replies
Highlighted
Moderator
Moderator
150 Views
Registered: ‎12-04-2016

Re: Ultrazed BSP conundrum

Hi @pedro_uno 

To get to the point to run petalinux-package, pre-requisite is to have a petalinux project created using HDF and we have captured the steps in UG1144

Please refer to Page 49 of this UG guide

https://www.xilinx.com/support/documentation/sw_manuals/xilinx2019_1/ug1144-petalinux-tools-reference-guide.pdf

Also see the section: Importing Hardware Configuration

 

 

Best Regards

Shabbir

0 Kudos
Scholar pedro_uno
Scholar
132 Views
Registered: ‎02-12-2013

Re: Ultrazed BSP conundrum

The trick is to not reference a BSP when creating the project.  Here are the commands I used to get a .bsp file.  I haven't tested the .bsp file in a complete Petalinux build but I'm guessing it will work for my purposes.

    petalinux-create --force --type project --template zynqMP --name bspproj
    cd bspproj/
    petalinux-config --get-hw-description=../../../implement/results/
    cd ..
    petalinux-package --bsp -p bspproj/ --output uzed.bsp

The results folder is where my fpga compilation writes the .hdf file.

----------------------------------------
DSP in hardware and software
-----------------------------------------
0 Kudos
Moderator
Moderator
100 Views
Registered: ‎09-12-2007

Re: Ultrazed BSP conundrum

So just to clarify. There are two ways to generate the Petalinux Project.

 

Using The BSP:

This will give you a pre-canned project with the kernel config, devicetree nodes for external devices such as clock, phy, ect

It also may have some custom apps.

The command to create a rpject here is:

  • petalinux-create -t project -s <path to bsp>.bsp

Using the Template and HDF:

Users can also create the petalinux project form scatch you the zynqMP template:

petalinux-create -t project --template zynqMP -n ultra96_linux

Users can also use the HDF to config the petalinux project; sch as the u-boot, devicetree, kernel settings

  • cd ultra96_linux
  • petalinux-config --get-hw-description=<path to hdf>

Users can update he DTG settings in the petalinux-config to use the avnet-ultra96-rev1

  • petalinux-config
    • DTG Settings
      • avnet-ultra96-rev1 MACHINE_NAME

FYI: All the boards can be seen here:

https://github.com/Xilinx/device-tree-xlnx/tree/master/device_tree/data/kernel_dtsi/2019.1/BOARD

 

Both of these flows are equivilant

0 Kudos