Course Overview

Course Length: 
4 Days

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

Explore this course:

Find out more:


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

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

Recording Policy

Barr Group's courses may not be audiotaped, videotaped, or photographed without consent from Barr Group's executive team.