Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
xilinx_running_petalinux [2019/10/19 17:23] – [Configuring the project kernel] rpjdayxilinx_running_petalinux [2019/10/20 12:01] (current) – [Configuration options] rpjday
Line 1: Line 1:
 ===== Overview ===== ===== Overview =====
  
-This page steps through building for an Ultra96V2 using an ''.hdf'' file downloaded from GitHub, and PetaLinux 2019.1.+This page steps through building for a ZCU102 using an ''.hdf'' file downloaded from GitHub, and PetaLinux 2019.1.
  
-===== Format of the HDF file =====+===== Format of the ZCU102 HDF file =====
  
-Downloaded from [[https://github.com/Xilinx/hdf-examples/blob/master/ultra96-zynqmp/system.hdf|here]]:+<code> 
 +-rw-r--r--. 1 rpjday rpjday    46772 May  5 15:09 design_1_bd.tcl 
 +-rw-r--r--. 1 rpjday rpjday   124564 May  5 15:09 design_1.hwh 
 +-rw-r--r--. 1 rpjday rpjday 26510901 May  5 15:09 design_1_wrapper.bit 
 +-rw-r--r--. 1 rpjday rpjday   922239 May  5 15:09 psu_init.c 
 +-rw-r--r--. 1 rpjday rpjday   921403 May  5 15:09 psu_init_gpl.c 
 +-rw-r--r--. 1 rpjday rpjday  1660902 May  5 15:09 psu_init_gpl.h 
 +-rw-r--r--. 1 rpjday rpjday  1661516 May  5 15:09 psu_init.h 
 +-rw-r--r--. 1 rpjday rpjday    52815 May  5 15:09 psu_init.html 
 +-rw-r--r--. 1 rpjday rpjday   881371 May  5 15:09 psu_init.tcl 
 +-rw-r--r--. 1 rpjday rpjday     1007 May  5 15:09 sysdef.xml 
 +</code> 
 + 
 +''system.xml'':
  
 <code> <code>
-Archive:  ultra96.hdf +<?xml version="1.0"?> 
-02DSH12MNEbgh3d2ADvZ8IeVwk9LCZtTVUKqK+SvpYiWc+<Project Version="1" Minor="3" DIGEST=""> 
-  Length      Date    Time    Name +        <TOOL_VERSION Version="2019.1"/> 
----------  ---------- -----   ---- +        <MODE Name="Post-Synthesis"/> 
-     1533  05-05-2019 20:48   sysdef.xml +        <SYSTEMINFO BOARD="xilinx.com:zcu102:3.3" PART="xczu9eg-ffvb1156-2-e" ARCH="zynquplus" PACKAGE="ffvb1156" DEVICE="xczu9eg" SPEED="-2" LUT="274080" FF="548160" BRAM="912" DSP="2520"/> 
-   625712  05-05-2019 20:48   design_1.hwh +        <HIERARCHY Name="design_1_wrapper"/> 
-    63674  05-05-2019 20:48   design_1_bd.tcl +        <File Type="HW_HANDOFF" Name="design_1.hwh" DESIGN_HIERARCHY="design_1_i" BD_TYPE="DEFAULT_BD"/> 
-   902065  05-05-2019 20:48   psu_init.c +        <File Type="BD_TCL" Name="design_1_bd.tcl"/> 
-  1639208  05-05-2019 20:48   psu_init.h +        <File Type="PS_FSBL_INIT" Name="psu_init.c"/> 
-   901229  05-05-2019 20:48   psu_init_gpl.c +        <File Type="PS_FSBL_INIT" Name="psu_init.h"/> 
-  1638594  05-05-2019 20:48   psu_init_gpl.h +        <File Type="PS_FSBL_INIT_GPL" Name="psu_init_gpl.c"/> 
-    51077  05-05-2019 20:48   psu_init.html +        <File Type="PS_FSBL_INIT_GPL" Name="psu_init_gpl.h"/> 
-   862752  05-05-2019 20:48   psu_init.tcl +        <File Type="PS_INIT_HELP" Name="psu_init.html"/> 
-   127691  05-05-2019 20:48   design_1_v_proc_ss_scaler_0.hwh +        <File Type="PS_XMD_INIT" Name="psu_init.tcl"/> 
-    12995  05-05-2019 20:48   design_1_v_proc_ss_scaler_0_bd.tcl +        <File Type="BIT" Name="design_1_wrapper.bit"/> 
-   990723  05-05-2019 20:48   bd_c7bd_smartconnect_0_0.hwh +        <BOARD Type="NotIntegrated"> 
-   107924  05-05-2019 20:48   bd_c7bd_smartconnect_0_0_bd.tcl +                <BASEBOARD Name="xilinx.com:zcu102:3.3"> 
-    87470  05-05-2019 20:48   design_1_mipi_csi2_rx_subsyst_0_0.hwh +                </BASEBOARD> 
-    12412  05-05-2019 20:48   design_1_mipi_csi2_rx_subsyst_0_0_bd.tcl +        </BOARD> 
-  5568788  05-05-2019 20:48   design_1_wrapper.bit +        <USEDRESOURCES LUT="300" FF="1" BRAM="0" DSP="0"/> 
----------                     ------- +</Project>
- 13593847                     16 files +
-$+
 </code> </code>
 ===== PetaLinux build procedure ===== ===== PetaLinux build procedure =====
Line 40: Line 51:
 <code> <code>
 $ source .../2019.1/settings.sh $ source .../2019.1/settings.sh
 +$ echo $PETALINUX
 +/home/rpjday/xilinx/2019.1
 +$
 </code> </code>
  
Line 47: Line 61:
 $ petalinux-create \ $ petalinux-create \
   --type project \   --type project \
-  --name ultra96v2 \+  --name zcu102 \
   --template zynqMP   --template zynqMP
-$ cd ultra96v2+$ cd zcu102
 </code> </code>
  
 +End result:
 +
 +<code>
 +$ tree -d
 +.
 +└── project-spec
 +    ├── configs
 +    ├── hw-description
 +    └── meta-user
 +        ├── conf
 +        ├── recipes-apps
 +        │   ├── gpio-demo
 +        │   │   └── files
 +        │   └── peekpoke
 +        │       └── files
 +        ├── recipes-bsp
 +        │   ├── device-tree
 +        │   │   └── files
 +        │   │       └── multi-arch
 +        │   └── u-boot
 +        │       └── files
 +        └── recipes-core
 +            └── images
 +</code>
 ==== Incorporating the HDF file ==== ==== Incorporating the HDF file ====
  
Line 57: Line 95:
  
 <code> <code>
-$ petalinux-config --get-hw-description <dirname of HDF File>+$ petalinux-config --get-hw-description <dirname of ZCU102 HDF File>
 </code> </code>
  
 at which time you will be placed in the PetaLinux "System Configuration" utility; if you have nothing to change, simply exit and //save your configuration//. at which time you will be placed in the PetaLinux "System Configuration" utility; if you have nothing to change, simply exit and //save your configuration//.
  
-==== Configuring the project kernel ====+Major result is new content under ''project-spec/meta-plnx-generated''.
  
-If you want to configure the project's kernel, first ensure that you have some appropriate terminal emulation to support the configuration window. For example, if you're connected to the build host via SSH, and that build host has the ''screen'' utility installed, simply set: +===== Configuration options =====
- +
-<code> +
-$ export TERM=screen +
-</code> +
- +
-Once that's done, you can configure the kernel with:+
  
 <code> <code>
 +$ petalinux-config
 +$ petalinux-config -c bootloader   [virtual/fsbl]
 +$ petalinux-config -c u-boot       [virtual/bootloader]
 $ petalinux-config -c kernel $ petalinux-config -c kernel
 +$ petalinux-config -c rootfs
 +$ petalinux-config -c busybox
 +$ petalinux-config -c pmufw
 +$ petalinux-config -c device-tree
 </code> </code>
  
-As a common example of configuration, you can select the PCI-related kernel feature: +===== The build process =====
- +
-  * Bus Support -> +
-    * PCI host controller drivers -> +
-      * Xilinx XDMA PL PCIe host bridge support +
- +
-then save and exit. +
- +
-==== The build process ====+
  
 Now that all of the project configuration is complete, kick off the PetaLinux build with: Now that all of the project configuration is complete, kick off the PetaLinux build with:
  • xilinx_running_petalinux.1571505824.txt.gz
  • Last modified: 2019/10/19 17:23
  • by rpjday