Welcome To Technically Speaking, Inc
Cart 0
Technically Speaking, Inc - Patricia Townsend Culverson, Patricia Townsend, Technically Speaking Inc

Technically Speaking, Inc

Embedded Systems Software Design | San Diego, CA


Course Description

This two-day course introduces you to software design and development for the Xilinx Zynq® All Programmable System on a Chip (SoC) using the Xilinx Software Development Kit (SDK). You will learn the concepts, tools, and techniques required for the software phase of the design cycle.

Topics are comprehensive, covering the design and implementation of the board support package (BSP) for resource access and management of the Xilinx Standalone library. Major topics include device driver use, user application debugging and integration. Practical implementation tips and best practices are also provided throughout to enable you to make good design decisions and keep your design cycles to a minimum. You will have enough practical information to start developing software applications for the ARM® CortexTM-A9 and MicroBlazeTM processors.

Additionally, this course covers developing software applications for a Xilinx embedded system based on a MicroBlaze processor.

Course Outline

Day 1

  • Processors, Peripherals, and Tools
  • Standalone Software Platform Development
  • Lab 1: Basic System Implementation
  • Linux Software Application Development
  • Linux Lab 1: Running a Linux Application on the Zynq All Programmable SoC
  • Software Development Using SDK
  • Writing Code in the Xilinx Standalone Environment
  • Lab 2: Linker Script
  • Writing Code in the Xilinx Linux Environment
  • Lab 3: Application Development
  • Demo: SDK Batch Mode
  • Linux Lab 2: Linux Application Development
  • Address Management
  • Interrupts
  • Lab 4: Software Interrupts
Day 2
  • Software Platform Download and Boot
  • Application Debugging
  • Lab 5: Debugging
  • Linux Lab 3: Linux Debugging
  • Application Profiling
  • Lab 6: SDK Profiling
  • Linux Lab 4: Linux SDK Profiling
  • Writing a Custom Device Driver
  • Lab 7: Writing a Device Driver
  • Advanced Services and Operating Systems
  • Project Management with the Xilinx Design Tools Lab 8: File Systems

Lab Descriptions


Lab 1: Basic System Implementation Construct the hardware and software platforms used for the course labs. Begin with Vivado IP Integrator to create the hardware design for the Zynq All Programmable SoC or MicroBlaze processor. Specify a basic software platform and add a software application to the system.

Lab 2: Linker Script Configure the linker script and observe increased performance when utilizing different memory sections.

Lab 3: Application Development Create a simple software application project with the provided source files for a software loop-based stopwatch. Verify proper BSP settings and linker script generation. Use API documentation for the GPIO peripheral to complete the software application. Verify proper operation of the stopwatch in hardware.

Lab 4: Software Interrupts Replace a software timing loop with an interrupt-driven timer. Add the timer software and implement an interrupt handler for the timer. Download into hardware and test the application.

Lab 5: Debugging Launch the SDK debug perspective and the previous lab’s stopwatch application for debugging, setting breakpoints, calculating interrupt latency, and stepping through the program’s operation.

Lab 6: SDK Profiling Profile a program, interpret reports, and verify the performance with multiple calls.

Lab 7: Writing a Device Driver Create the skeleton driver framework, add an LCD device driver to the BSP, and verify proper device driver operation via a download to hardware test.

Lab 8: File Systems Implement a standalone software platform that incorporates the XilMFS memory file system. Develop an application that performs file-related tasks on external memory.


Lab 1: Running a Linux Application on the Zynq All Programmable SoC Create a simple hello_world application using the SDK. The evaluation board will automatically boot from an SD card with the Linux kernel installed as part of the boot image.

* This course focuses on the Zynq All Programmable SoC and 7 series FPGA architectures. Check with your local Authorized Training Provider for the specifics of the in-class lab board or other customizations.
After completing this comprehensive training, you will have the necessary skills to:

  • Implement an effective software design environment for a Xilinx embedded system using the Xilinx SDK tools

  • Write a basic user application (under Standalone or Linux) using the Xilinx Software Development Kit (SDK) and run it on an embedded system platform

  • Use Xilinx debugger tools to troubleshoot user applications

  • Apply software techniques to improve operability

  • Maintain and update software projects with changing hardware

Share this Product

More from this collection

Recently Viewed Items