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

General Dynamics

Newsletter Signup

Want to receive free how-to articles and industry news as well as announcements of free webinars and other training courses by e-mail? Signup now.

Embedded Software Boot Camp

Course Calendar
Upcoming Sessions

Barr Group's Embedded Software Boot Camp® is an efficient and cost-effective hands-on training program for embedded programmers. In just 4-days and through a mix of lectures and programming exercises on actual embedded hardware, attendees learn how to use the C programming language to create portable device drivers, use real-time operating systems, and a whole bunch more. Back at the office, attendees will be able to immediately put the skills learned in this course to use in their design.

Course Length

  • 4 days (hands-on)


  • Embedded software developers


The following outline is provided as a summary of the major course topics and should not be taken as literally the section-by-subsection lecture breakdown.

  • 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
  • Review of Key Takeaways


During the course, attendees will independently complete approximately nearly a dozen hands-on programming exercises, including a large capstone project. These exercises are interspersed with the lectures. Attendees will use their computer to compile their programs and then download them for execution on an embedded target board with its own processor, memory, and peripherals.


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

Typical attendees have from none to as many as 10 years of embedded software experience and an electrical engineering, computer science, computer engineering or similar undergraduate degree. Some have been working in firmware-related areas but are trying to make the switch full-time into embedded software; others want to deepen their knowledge and strengthen their skills in their chosen field.


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.)

Find out More

Please contact us today to find out more about this course or to enquire about an on-site training at your company.

Related Courses

If you are viewing this page, the following Barr Group training courses may also be of interest: