This two-day training course will give attendees hands-on experience in creating and customizing an embedded Linux® system for their custom target using Zynq®.
- Creating a reference design in Vivado and SDK
- Software anatomy of a Zynq® system
- Zynq build system
- Building a custom Linux image for Zynq
- Integrating user space device drivers in Simulink
Day 1 of 2
Creating Reference Design in Vivado and SDK
Objective: Create a Vivado® block diagram and SDK project to target PL and PS.
- Building a Vivado Block diagram to target PL
- Exporting hardware to SDK and creating board support package
- Creating a software application for ARM
- Automating build process through Tcl scripts
Software Anatomy of a Zynq System
Objective: Understand various software components like FSBL, u-boot, kernel, user-space.
- Overview of embedded Linux
- Understanding various components of boot image
Zynq Build System
Objective: Understand various software components to form a system image and an automation process.
- Understanding system boots
- Generating various binary files, including .elf, .bit, and open source build with buildroot
- Understanding storage device layout
- Using a MathWorks build system to have easy hooks for customization of bitstream/FSBL, devicetree and Kernel configuration
Day 2 of 2
Zynq Build System (Continued)
Objective: Create a custom linux image with device drivers for various PL and PS integrated peripherals.
- Updating devicetree to include new mappings
- Modifying kernel to turn on a driver
- Creating boot.bin and generating custom SD card image
Integrating User Space Device Drivers in Simulink
Objective: Integrate device driver C code for peripherals in Simulink to communicate with the custom Linux image.
- Overview of the generated C code main function, scheduler timing and POSIX threads
- Creating a custom System object™
- Using coder.ceval and System objects for C code integration
- Interacting with custom Linux images from Simulink
- Creating a standalone application as part of boot image