This document provides a tutorial on using the Xilinx Vivado tools and SDK for embedded system design on Zynq All Programmable SoCs. It covers topics such as creating basic projects with the Zynq processing system, debugging software, integrating programmable logic, booting Linux, developing custom IP and device drivers for Linux, software profiling, and Linux-aware debugging. The examples are designed to introduce designers to key aspects of the embedded design flow and tools for Zynq devices.