Embedded Systems training for 6 Series FPGAs is offered by Doulos in a cost effective 3 day format, which combines the key features of Embedded Systems Development and Embedded Systems Software Development.
Embedded Systems Software Development, 6 Series FPGAs
Course Description
This two-day course introduces you to software design and development for Xilinx embedded processor systems. You will learn the basic tool use and concepts required for the software phase of the design cycle, after the hardware design is completed.
Topics are comprehensive, covering the design and implementation of the board support package for resource access and management. Major topics include device driver use and custom development, and 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 a Xilinx embedded system based on a MicroBlaze™ processor.
Software and hardware design engineers interested in system design and implementation, board support package creation, and software application development and debugging. This course is not for the hardware-only embedded designer.
- C or C++ programming experience, including general debugging techniques
- Conceptual understanding of embedded processing systems including device drivers, interrupt routines writing / modifying scripts, user applications, and boot loader operation
- Xilinx ISE® Design Suite: System Edition 13.1
- Architecture: Spartan®-6 and Virtex®-6 FPGAs*
- Demo board: Spartan®-6 FPGA SP605 or Virtex®-6 FPGA ML605 board*
* This course focuses on the Spartan-6 and Virtex-6 architectures. Please
contact Doulos for the specifics of the in-class lab board or other customizations.
After completing this comprehensive training, you will know how to:
- Implement an effective software design environment for a Xilinx embedded system using the Xilinx SDK tools
- Write a basic user application using the Xilinx Software Development Kit (SDK) and run it on the embedded system.
- Use Xilinx debugger tools to troubleshoot user applications
- Apply software techniques to improve operability
- Reduce embedded software development time
Day 1
- Course Agenda
- Procesors, Peripherals, and Tools
- Software Platform Development
- Lab 1: Basic System Implementation
- Writing Code in the Xilinx Environment
- Software Development Using SDK
- Lab 2: Application Development
- Address Management
- Interrupts
- Lab 3: Software Interrupts
Day 2
- Software Platform Download and Boot
- Application Debugging
- Lab 4: Debugging
- Application Profiling
- Lab 5: SDK Profiling
- Wrigint a Custom Device Driver
- Lab 6: Writing a Device Driver
- Advanced Services and Operating Systems
- Project Management with the Xilinx Design Tools
- Lab 7: File Systems
- Lab 1: Basic System Implementation – Construct the hardware and software platforms used for the labs in this course. Begin with Base System Builder to create the hardware design. Specify a basic software platform and add a software application to the system.
- Lab 2: Application Development – Create a simple software application project from provided source files for a software loop-based stopwatch. Research hardware and software documentation to complete the application; then download it to hardware.
- Lab 3: Software Interrupts – Replace a software timing loop with an interrupt-driven timer. Add the timer software and write an interrupt handler for the timer. Configure the FPGA, download, and test the application.
- Lab 4: Debugging – Set up 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 5: SDK Profiling – Profile a program, interpret profile reports, then enable cache and rewrite code to archive optimal performance.
- Lab 6: Writing a Device Driver – Create the skeleton driver framework, add an LCD device driver, create the BSP, and verify proper device driver operation via a download to hardware test.
- Lab 7: 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.