C Language Programming with SDK

EMBD 1 | EMBD12000-13-ILT (v1.0)

Course Description

This course is broken into a day of C language review, including variable naming, usage, and modifiers as well as an introduction to the Software Development Kit (SDK) environment, an explanation of the use of the preprocessors, program control, and proper use of functions. The second day consists of common issues and techniques employed by embedded programmers in the Xilinx SDK environment. This comprehensive course equally balances lecture modules with practical hands-on lab work.

Level: EMBD 1
Course Duration: 2 days
Price: $1600 or 16 Xilinx Training Credits
Course Part Number: EMBD12000-13-ILT
Who Should Attend?: Programmers and software engineers looking to reinforce their C skills for the embedded environment and hardware engineers interested in software engineering basics
Registration: Register online in our secure store


  • Basic familiarity with embedded systems
  • Basic background in programming

Software Tools

  • Xilinx ISE Design Suite: Logic or System Edition 13.1


  • Architecture: N/A*
  • Demo board: Spartan®-6 FPGA SP605 or Virtex®-6 FPGA ML605 board or Avnet LX9 microboard*

*This course does not focus on any particular architecture. Contact us for the specifics of the in-class lab board or other customizations.

After completing this comprehensive training, you will have the necessary skills to:

  • Recognize C language symbology
  • Design an effective C language program for the embedded environment
  • Identify the nuances between functions and macros
  • Effectively utilize numeric techniques
  • Debug software using the GNU debugging tool in the SDK software environment

Course Outline

Day 1

  • The C Language
  • SDK Environment
  • Lab 1: SDK Environment
  • C Preprocessor
  • Variables
  • Control Structures
  • Lab 2: Writing a Simple Program
  • Functions and Libraries

Day 2

  • Program Design
  • Common Errors
  • Debugging Strategies
  • Dynamic Memory
  • Lab 3: Debugging Dynamic Memory
  • The Stack
  • Lab 4: Debugging Stack Issues
  • Numeric Techniques
  • The Xilinx Embedded Environment
  • Lab 5: Driving Xilinx Hardware

Lab Descriptions

  • Lab 1: SDK Environment – Walks you through the process of configuring the hardware through SDK, building a simple application, and verifying that it works.
  • Lab 2: Writing a Simple Program – Examine a piece of existing code, then complete the program using the skills developed in the previous lecture modules.
  • Lab 3: Debugging Dynamic Memory – Guides you through the phases of debugging a program with memory leaks.
  • Lab 4: Debugging Stack Issues – Debug stack issues, another common problem.
  • Lab 5: Driving Xilinx Hardware – Combine the abstraction of programming with actual hardware to drive the LEDs on the demo board.

PDF version of this page.

Enroll Now.

Scheduled Embedded Courses

No courses of this type are currently scheduled

No events found.

Alternative Dates and Locations

Faster Technology is able to deliver both private classes at client sites and also public classes at alternate locations and dates.  If there are no currently scheduled classes listed above or if none of the classes are convenient, please tell us what dates and locations will meet your needs.  No obligation necessary.