Update Petalinux Introduction authored by Corbin Kems's avatar Corbin Kems
TODO give an overview of petalinux, the three different parts (hw, os, and sw), and complain about Xilinx a little bit :smile: TODO give an overview of petalinux, the three different parts (hw, os, and sw), and complain about Xilinx a little bit :smile:
# Overview
Petalinux is a modified version of the [Yoco Project](https://www.yoctoproject.org/). Petalinux was created and is maintained by Xilinx for their hardware platforms. [Here](https://support.xilinx.com/s/article/968413?language=en_US) is a good article giving a rough overview of Petalinux.
This project uses Petalinux primarily because it comes with USB/Serial/Ethernet drivers so we don't have to develop and maintain them ourselves. Not only that, but having Petalinux run on the CyDAQ makes it extremely configurable in the future.
All the necessary files are located in the [petalinux](https://git.ece.iastate.edu/sd/sdmay23-47/-/tree/master/petalinux) directory at the root of the project. That directory then splits into three subdirectories that operate as follows:
- [hw](https://git.ece.iastate.edu/sd/sdmay23-47/-/tree/master/petalinux/hw) - The hardware project created in Vivado, which exports a `.xsa` file that is used by petalinux tools.
- [os](https://git.ece.iastate.edu/sd/sdmay23-47/-/tree/master/petalinux/os) - The petalinux OS project. All petalinux tools commands are ran in this directory.
- [sw](https://git.ece.iastate.edu/sd/sdmay23-47/-/tree/master/petalinux/sw) - Any applications we develop to run on petalinux go here, and are designed to be opened in Vitis.
# Development environment
It's highly recommended to use a Linux-based desktop development environment when configuring/building petalinux, as that is what we found had the least amount of issues. Petalinux tools also only runs on Linux machines, and it's clear that Xilinx prefers a Linux development environment for their software tools.
Check out our [Petalinux Ubuntu Development Environment](https://git.ece.iastate.edu/sd/sdmay23-47/-/wikis/Petalinux-Ubuntu-Development-Environment) guide for specific steps to set that up!
# Hardware - Vivado
Check out our [Vivado/Vitis Install](https://git.ece.iastate.edu/sd/sdmay23-47/-/wikis/Vivado-and-Vitis-Install) guide to learn how to install Vivado on your ububtu development environment.
TODO link to external Vivado resources to learn how to use
# OS - Petalinux
Building petalinux requires petalinux tools, which can only run on Linux. Check out our [Petalinux Tools Install](https://git.ece.iastate.edu/sd/sdmay23-47/-/wikis/Petalinux-Tools-Install) for a guide on how to set that up in the ubuntu development environment.
# SW - Vitis
Check out our [Vivado/Vitis Install](https://git.ece.iastate.edu/sd/sdmay23-47/-/wikis/Vivado-and-Vitis-Install) guide to learn how to install Vitis on your ububtu development environment.
TODO explain each exising application (comm and sampling?)
\ No newline at end of file