Update Useful Resources authored by jesseg64's avatar jesseg64
[<< Previous Chapter](Petalinux-USB-Speed-Testing) | [Home](Home) | [Next Chapter >>](Bare-metal-Dual-Core-Design(Deprecated))
[[_TOC_]]
# Official Documentation
Petalinux home page - Wilinx Wiki
- https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/18842250/PetaLinux
Zybo z7 home page - includes links to official documentation, reported issues, and example demos (including a petalinux one)
- https://digilent.com/reference/programmable-logic/zybo-z7/start
Petalinux Tools Documentation: Reference Guide - A very helpful guide that explains each petalinux tools command and gives examples for each. Worth a skim through if you need to configure petalinux.
- https://docs.xilinx.com/v/u/2020.1-English/ug1144-petalinux-tools-reference-guide
Zynq-7000 AP SoC USB CDC Device Class Design Example Techtip - a (fairly old) guide that outlines how to set up USB CDC Device class for either bare metal or petalinux. It was a good starting point for a guide, but some of the kernel moduels were placed/named differently with a newer kernel version.
- https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/18841624/Zynq-7000+AP+SoC+USB+CDC+Device+Class+Design+Example+Techtip
>Note: The bare metal implementation this guide links to is **extremely** buggy when transferring data at high rates, which is why we switched to petalinux (which has much more stable drivers).
Libmetal and OpenAMP User Guide - The official Xilinx documentation on how to use OpenAMP to to Asymetric Multiprocessing (AMP) with Petalinux and baremetal running on seperate cores. Be warned that the docuemtnation mainly applies to the ZyboMP boards, which have different hardware (and subsequently different device tree configurations). These docs are also just written in a very convoluted way.
- https://docs.xilinx.com/v/u/2020.1-English/ug1186-zynq-openamp-gsg
# Online Guides
How to create a script that runs on petalinux boot
- https://www.zachpfeffer.com/single-post/Execute-a-Script-at-Boot-Using-PetaLinux-Tools
A very very similar USB gadget implementation, but on a Raspberry Pi. Also includes a fix to get Windows to recognize the RNDIS driver correctly:
- Article: https://irq5.io/2016/12/22/raspberry-pi-zero-as-multiple-usb-gadgets/
- Github Gist: https://gist.github.com/geekman/5bdb5abdc9ec6ac91d5646de0c0c60c4
A very helpful video that outlines how to create a vitis hardware platform with petalinux on the zybo z7. They use the z7-20 version, but ours is the z7-10, but the difference is negligible.
- https://www.youtube.com/watch?v=PP8CEm-QJsI
A personal project somebody made using a Zybo Z7 board with petalinux/baremetal split core implementation. It's a bit old, but still a cool project! Theu even figured out how to run a web server on Petalinux!
- https://github.com/iwatake2222/ZYBO_Portable_Mandelbrot
- ![image](uploads/24dcf5f507b8ada9d1587e952b43a744/image.png)
The above image is part of their repo. It was very helpful in understanding how OpenAMP works!
Another personal project somebody made using a Zedboard to get AMP. Uses Petalinux on one core and FreeRTOS on another.
- https://github.com/bedik16/PetaLinux
[<< Previous Chapter](Petalinux-USB-Speed-Testing) | [Home](Home) | [Next Chapter >>](Bare-metal-Dual-core-Design(Legacy))
\ No newline at end of file
# Official Documentation
Petalinux home page - Wilinx Wiki
- https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/18842250/PetaLinux
Zybo z7 home page - includes links to official documentation, reported issues, and example demos (including a petalinux one)
- https://digilent.com/reference/programmable-logic/zybo-z7/start
Petalinux Tools Documentation: Reference Guide - A very helpful guide that explains each petalinux tools command and gives examples for each. Worth a skim through if you need to configure petalinux.
- https://docs.xilinx.com/v/u/2020.1-English/ug1144-petalinux-tools-reference-guide
Zynq-7000 AP SoC USB CDC Device Class Design Example Techtip - a (fairly old) guide that outlines how to set up USB CDC Device class for either bare metal or petalinux. It was a good starting point for a guide, but some of the kernel moduels were placed/named differently with a newer kernel version.
- https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/18841624/Zynq-7000+AP+SoC+USB+CDC+Device+Class+Design+Example+Techtip
>Note: The bare metal implementation this guide links to is **extremely** buggy when transferring data at high rates, which is why we switched to petalinux (which has much more stable drivers).
Libmetal and OpenAMP User Guide - The official Xilinx documentation on how to use OpenAMP to to Asymetric Multiprocessing (AMP) with Petalinux and baremetal running on seperate cores. Be warned that the docuemtnation mainly applies to the ZyboMP boards, which have different hardware (and subsequently different device tree configurations). These docs are also just written in a very convoluted way.
- https://docs.xilinx.com/v/u/2020.1-English/ug1186-zynq-openamp-gsg
# Online Guides
How to create a script that runs on petalinux boot
- https://www.zachpfeffer.com/single-post/Execute-a-Script-at-Boot-Using-PetaLinux-Tools
A very very similar USB gadget implementation, but on a Raspberry Pi. Also includes a fix to get Windows to recognize the RNDIS driver correctly:
- Article: https://irq5.io/2016/12/22/raspberry-pi-zero-as-multiple-usb-gadgets/
- Github Gist: https://gist.github.com/geekman/5bdb5abdc9ec6ac91d5646de0c0c60c4
A very helpful video that outlines how to create a vitis hardware platform with petalinux on the zybo z7. They use the z7-20 version, but ours is the z7-10, but the difference is negligible.
- https://www.youtube.com/watch?v=PP8CEm-QJsI
A personal project somebody made using a Zybo Z7 board with petalinux/baremetal split core implementation. It's a bit old, but still a cool project! Theu even figured out how to run a web server on Petalinux!
- https://github.com/iwatake2222/ZYBO_Portable_Mandelbrot
- ![image](uploads/24dcf5f507b8ada9d1587e952b43a744/image.png)
The above image is part of their repo. It was very helpful in understanding how OpenAMP works!
Another personal project somebody made using a Zedboard to get AMP. Uses Petalinux on one core and FreeRTOS on another.
- https://github.com/bedik16/PetaLinux
\ No newline at end of file