"Barr Group training courses should be required before writing any embedded code."

General Dynamics

Subscribe to our Newsletter

Subscribe to our newsletter and receive free how-to articles and industry news as well as announcements on free webinars and other Barr Group Training course information by e-mail.
Sign up today!

Embedded Software Boot Camp

Course Length: 4 Days
Format: Hands-on/Lecture
CEUs: 3.0

Barr Group's Embedded Software Boot Camp® is an efficient and information-rich hands-on training program for embedded programmers of all levels. Through a combination of lectures and programming exercises on actual embedded hardware, attendees will learn how to use the C programming language to create portable device drivers, use real-time operating systems, and more. Attendees will independently complete nearly a dozen hands-on programming exercises, including a large capstone project.

Topics covered during this course include:

  • Embedded C Fundamentals
  • Programming Embedded Peripherals
  • How to Handle Interrupts
  • How to Choose a Language
  • Fundamentals of Preemptive Multitasking
  • Inter-task Communication and Synchronization
  • Memory Management and Other Related Topics


Attendees should be familiar with the C or C++ programming language. Prior experience programming for embedded systems may be beneficial but is not necessary.


Each student will need a computer, such as a laptop, running XP or a newer version of Windows with an available USB port and administrator privileges. (Windows over Mac OS X generally works.)

Upcoming Sessions

This course will be open to the public in the following dates and locations:

Date(s) Location Regular Price Early Registration*
March 27-30 Palo Alto, California $2,399 $1,999 Register
May 2-5 Munich, Germany 2,699€** 2,299€** Register

*Early Registration Ends March 13, 2017(California) & April 18, 2017(Munich)
**VAT is included in all European pricing.

Got a Group? Groups of 3 or more are eligible for a 20% discount. For large groups, contact us for details on setting up an on-site course.

To be notified of future public training dates and locations, sign up for our mailing list.


The following summary covers the major course topics and may be modified at the instructor's discretion based on the needs and pace of the course.

  • Introduction
  • Embedded C Fundamentals
    • Fixed-Width Integers
    • Binary Data Manipulation
    • Fixed and Floating Point Math
    • Performance Improvement
    • Data Storage and Lifetimes
    • The World Before main()
  • Peripheral Control
    • Peripheral Registers
    • Memory-Mapped I/O
    • Struct Overlays
    • Volatile Keyword
    • Bitmasks vs. Bitfields
    • Device Drivers
  • Interrupt Handling
    • Interrupt Service Routines
    • Vector Tables
    • Hardware Hurdles
    • Disabling Interrupts
    • Interrupt Latency
  • Language Choice
    • C vs. Assembly
    • C vs. C++
  • Multitasking Fundamentals
    • Tasks and Task States
    • Scheduling Points
    • Context Switching
    • System Calls
    • Mutual Exclusion
  • Intertask Communication
    • Semaphores
    • Mailboxes
    • Message Queues
    • Event Flags
    • Starvation and Deadlock
  • Related Topics
    • Memory Management
    • Timer Ticks
    • OS Hooks
    • Interrupt Handling
  • Key Takeaways

Need an On-Site Course?

Contact us to bring this course to your company.

Related Courses

Interested in this course? The following Barr Group training courses may also be of interest:

Recording Policy

All Barr Group Training Public and On-site courses may not be videotaped, photographed, or otherwise recorded without consent from Barr Group's executive team.