Barr Group FacebookBarr Group TwitterBarr Group LinkedInBarr Group Vimeo

Course Overview

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

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. Students will be using Micrium's uC/OS-III operating system and uC/GUI graphics package.

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

Can't make it to an in-person course or don't need an instructor?  See our Embedded Software Boot Camp in a Box to find out how you can do the course on your own.

Syllabus

Download Complete Syllabus: 

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

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.

Related Courses

Upcoming Sessions

Date(s) Location PRICE Register
Oct 30 to Nov 2
Embedded Software Boot Camp
Palo Alto, California, United States $1,999.00 *
Inquire
Dec 4 to Dec 7
Embedded Software Boot Camp
Munich, Bayern, Germany 2299,00 € *
Inquire

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.