Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| programmable-logic:zybo-z7:demos:petalinux [2022/09/05 07:21] – [Using the demo] raduvele | programmable-logic:zybo-z7:demos:petalinux [2022/10/04 11:38] (current) – external edit 127.0.0.1 | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| + | ====== Zybo Z7 Petalinux Demo ====== | ||
| + | <WRAP round todo> | ||
| + | === Under Construction === | ||
| + | </ | ||
| + | |||
| + | ===== Description ===== | ||
| + | |||
| + | The Zybo Z7 Petalinux demo demonstrates the usage of various board features from within a Linux environment. | ||
| + | |||
| + | Available features: | ||
| + | * Ethernet with Unique MAC address and DHCP support | ||
| + | * USB Host support | ||
| + | * UIO drivers for onboard switches, buttons and LEDs | ||
| + | * SSH server | ||
| + | * Build essentials package group for on-board compilation using gcc, etc. | ||
| + | * HDMI output with KMS (kernel mode setting) | ||
| + | * HDMI input via UIO drivers | ||
| + | * Audio output | ||
| + | * Audio input | ||
| + | * Pcam 5C input via V4L2 drivers | ||
| + | |||
| + | ---- | ||
| + | ===== Inventory ===== | ||
| + | |||
| + | * Zybo Z7 (-10 or -20) with a MicroUSB Programming Cable (and external Power Supply) | ||
| + | * Vivado installation compatible with the latest release of this demo (2020.1) | ||
| + | * //See [[programmable-logic: | ||
| + | * Vivado and Vitis installations compatible with the latest release of this demo (2020.1) | ||
| + | * //See [[programmable-logic: | ||
| + | * Petalinux Installation compatible with the latest release of this demo (2020.1) | ||
| + | * //See Xilinx' | ||
| + | * Serial Terminal application to receive messages printed by the demo | ||
| + | * //See [[programmable-logic: | ||
| + | * Pcam 5C to use video for Linux functionality | ||
| + | |||
| + | ---- | ||
| + | ===== Download and Usage Instructions ===== | ||
| + | |||
| + | First and foremost, releases - consisting of a set of files for download - are only compatible with a specific version of the Xilinx tools, as specified in the name of the release (referred to as a //release tag//). In addition, releases are only compatible with the specified variant of the board. For example, a release tagged " | ||
| + | |||
| + | The latest release version for this demo is highlighted in green. | ||
| + | |||
| + | **Note:** //Releases for FPGA demos from before 2020.1 used a different git structure, and used a different release tag naming scheme.// | ||
| + | |||
| + | ^ Board Variant | ||
| + | | Zybo Z7-20 | @#C0EEBD: (tag) | [[https:// | ||
| + | | Zybo Z7-10 | @#C0EEBD: (tag) | [[https:// | ||
| + | | Zybo Z7-20 | v2017.4-3 | ||
| + | | Zybo Z7-10 | v2017.4-1 | ||
| + | | Zybo Z7-20 | v2017.2-1 | ||
| + | | Zybo Z7-10 | v2017.2-1 | ||
| + | |||
| + | **Note for Advanced Users:** //All demos for the Zybo Z7 are provided through the [[https:// | ||
| + | ---- | ||
| + | Instructions on the use of the latest release can be found in this dropdown: | ||
| + | |||
| + | --> Using the Latest Release # | ||
| + | |||
| + | <WRAP group> | ||
| + | |||
| + | {{page> | ||
| + | |||
| + | --> Set up the Zybo Z7-20 # | ||
| + | |||
| + | Attach the Pcam 5C assembly (which includes the Pcam 5C and the attached 15-pin flat flexible cable) by inserting the other end of the FFC into the Pcam connector on the Zybo Z7 as shown in image below. Ensure the cable is securely latched by pressing down firmly on the connector with two fingers. For a more detailed set of instructions, | ||
| + | |||
| + | {{: | ||
| + | |||
| + | ---- | ||
| + | <-- | ||
| + | |||
| + | {{page> | ||
| + | |||
| + | At this point, the demo is now running on your board. Refer to the [[# | ||
| + | </ | ||
| + | <-- | ||
| + | |||
| + | ---- | ||
| + | A brief set of instructions to some of the configurations which can be done in Petalinux can be found in this dropdown: | ||
| + | |||
| + | --> Petalinux Configurations # | ||
| + | <WRAP group> | ||
| + | |||
| + | {{page> | ||
| + | |||
| + | </ | ||
| + | <-- | ||
| + | ---- | ||
| + | ===== Using the demo ===== | ||
| + | |||
| + | --> Taking pictures using V4L2 and the Pcam 5C (Z7-20 only) # | ||
| + | <WRAP group> | ||
| + | Run the following commands in the serial console connected to your board. | ||
| + | |||
| + | Set the width, height, and framerate of your capture. | ||
| + | < | ||
| + | width=1920 && height=1080 && rate=15 | ||
| + | </ | ||
| + | |||
| + | Prepare your media and video pipeline. | ||
| + | < | ||
| + | media-ctl -d /dev/media0 -V '" | ||
| + | media-ctl -d /dev/media0 -V '" | ||
| + | v4l2-ctl -d /dev/video0 --set-fmt-video=width=" | ||
| + | </ | ||
| + | |||
| + | Capture 14 frames. | ||
| + | < | ||
| + | yavta -c14 -f YUYV -s " | ||
| + | </ | ||
| + | |||
| + | <WRAP round important> | ||
| + | ==Warning== | ||
| + | The camera module takes some time to automatically adjust the exposure and white balance. While this is happening, the frames will come out dark and with green tints. Capture more frames than needed for your usecase. | ||
| + | </ | ||
| + | |||
| + | </ | ||
| + | <-- | ||
| + | |||
| + | --> Retrieving the pictures # | ||
| + | <WRAP group> | ||
| + | Run the following commands in a terminal on your Linux machine. | ||
| + | |||
| + | Copy the .bin files produced by the capture commands from the board to your machine via SSH. | ||
| + | |||
| + | Replace 10.113.0.117 with your board' | ||
| + | < | ||
| + | scp [email protected]: | ||
| + | </ | ||
| + | |||
| + | <WRAP round tip> | ||
| + | You can find the IP address of your board by running the following command in your serial console. | ||
| + | < | ||
| + | ip addr show | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | Set the width, height, and framerate of your capture. | ||
| + | < | ||
| + | width=1920 && height=1080 && rate=15 | ||
| + | </ | ||
| + | |||
| + | Using ffmpeg, convert the files you copied into PNG. | ||
| + | < | ||
| + | for f in *.bin; do mv " | ||
| + | for f in *.yuv; do ffmpeg -s " | ||
| + | </ | ||
| + | |||
| + | </ | ||
| + | <-- | ||
| + | |||
| + | --> Audio input / output # | ||
| + | <WRAP group> | ||
| + | Run the following commands in the serial console connected to your board. | ||
| + | |||
| + | Start a pulseaudio server. | ||
| + | < | ||
| + | pulseaudio --start | ||
| + | </ | ||
| + | |||
| + | <WRAP round tip> | ||
| + | If you see a message similar to the following one, you need to start the pulseaudio server again. | ||
| + | < | ||
| + | ALSA lib ../ | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | See the [[https:// | ||
| + | |||
| + | </ | ||
| + | <-- | ||
| + | |||
| + | ---- | ||
| + | ===== Additional Resources ===== | ||
| + | |||
| + | All materials related to the use of the Zybo Z7 can be found on its [[..: | ||
| + | |||
| + | All materials related to the use of the Pcam 5C can be found on its [[add-ons: | ||
| + | |||
| + | For additional and in-depth information about how Petalinux works please consult the [[https:// | ||
| + | |||
| + | For technical support, please visit the [[https:// | ||
| + | |||
| + | ---- | ||
| + | < | ||

