Course Overview

Course Length: 
4 Days

 Download the Complete Course Syllabus

Barr Group's Embedded Software Boot Camp® is an efficient and information-rich hands-on embedded systems training program for programmers of all levels. Through a combination of lectures and programming exercises on ARM-Cortex-based 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. The exercises include working with Micrium's uC/OS-III operating system and uC/GUI graphics package on a development board.  Attendees may keep all course materials and associated hardware. 

Topics covered during this course include:

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

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

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


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.


  • 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


"Even as an older experienced software engineer, I learned a lot, especially about RTOS use." - Attendee, Embedded Software Engineer, 2018

"BARR training is able to elegantly bridge the gap from understanding to executing." - M.Z.H., Embedded Software Engineer, 2018

"I came into the training with some experience but I really benefited from from learning the right way to do the basics - and from a very experienced instructor to boot.  You can't get this kind of training from Stack Overflow." - Attendee, Embedded Software Engineer, 2018

"Great content and delivery." - Attendee, Embedded Software Engineer, 2018

"Course structure was very well laid out to help digest such a large amount of information in a short period of time." - Attendee, Embedded Software Engineer, 2018

"Barr Group’s Embedded Software Boot Camp was well worth our time and money.  It was engaging, fun, and interesting." -Daniel J, Embedded Software Engineer, Taco Comfort Solutions

"So much material!  It was all great and relevant!" - Attendee, Embedded Software Engineer, 2017

"The exercises were well structured and struck a great balance between what was provided and what the student needed to implement." - Attendee, Embedded Software Engineer, 2017

"The class was really great... The exercises were really well done.  I feel like I have  good awareness of the basics of embedded systems." - Attendee, Embedded Software Engineer, 2017

Related Courses

Find out More

To find out more about our upcoming public trainings, go to our Training Calendar.

Contact Us to find out more about this course or to enquire about an on-site training at your company.

Recording Policy

All Barr Group Training Public and On-site courses may not be audiotaped, videotaped or photographed without consent from Barr Group's executive team.  Barr Group reserves the right to record portions or all of a training course for instructional purposes.  As a result, attendees present may also appear on the recording.