~~TechArticle~~ ====== Getting Started with Vivado and Vitis for Baremetal Software Projects ====== /* Note to maintainers, this page uses the include plugin to pull in sections. Documentation can be found here: [[internal/ase-documentation/plugins#include]] */ ===== Overview ===== This guide will work you through the process of setting up a project in Vivado and Vitis. A simple hardware design including a processor with several AXI GPIO peripherals connected to buttons and LEDs will be created. This design will then be exported to the Vitis IDE, and a baremetal software project will be created and run which polls the buttons and writes to the LEDs. **Note:** //Screenshots presented in this guide may not have been taken with your version of the tools. The workflow presented here has been verified in Vivado and Vitis 2020.1.// ---- ===== Inventory ===== * A Digilent FPGA Development Board * USB Programming cables, USB UART cables, and Power Supply, as required by the board. * Vivado and Vitis installations * See [[programmable-logic:guides:installing-vivado-and-vitis]] for instructions on how to install these tools. * You also need the board files for your board. This guide is intended for use with the board files available from Digilent's vivado-library repo on Github. You can get these files using the process described in the [[installing-vivado-and-vitis]] guide. These files will also be available through the Vivado application itself in versions 2022.1 and newer. **Note:** //If you are using a version of Vivado that includes Xilinx SDK (2019.1 or older), check out [[vivado/getting-started-with-ipi/2018.2]].// ---- ===== Guide ===== {{page>programmable-logic:guides:vivado-launch&showheader}} {{page>programmable-logic:guides:vivado-new-project&showheader}} {{page>programmable-logic:guides:vivado-create-block-design&showheader}} {{page>programmable-logic:guides:vivado-add-processor&showheader}} {{page>programmable-logic:guides:vivado-add-gpio&showheader}} {{page>programmable-logic:guides:vivado-manual-address-editor&showheader}} {{page>programmable-logic:guides:vivado-validate-block-design&showheader}} {{page>programmable-logic:guides:vivado-create-hdl-wrapper&showheader}} {{page>programmable-logic:guides:vivado-generate-bitstream&showheader}} {{page>programmable-logic:guides:vivado-export-fixed-platform&showheader}} {{page>programmable-logic:guides:vitis-launch&showheader}} {{page>programmable-logic:guides:vitis-create-app&showheader}} {{page>programmable-logic:guides:vitis-create-blinky-software&showheader}} {{page>programmable-logic:guides:vitis-build-software&showheader}} It's time to program the application project onto your board! Plug your board into your computer through its USB programming and USB UART port/s, connect an external power supply (if necessary), and turn on the board. ---- {{page>programmable-logic:guides:vitis-launch-app&showheader}} ==== Next Steps ==== At this point, your application is running, and printed messages can be seen. Congratulations, you have finished this guide!!! The hardware project and application created here can be used as a basis for future work. See instructions found in [[programmable-logic:guides:vitis-update-hardware-specification]] for additional information on how the hardware design can be switched out later. For more guides and demos for your board, return to the device's resource center, linked from the [[programmable-logic:start|Programmable Logic]] page of this wiki. For technical support, please visit the [[https://forum.digilentinc.com/forum/4-fpga/|FPGA]] section of the Digilent Forums.