Barr Group FacebookBarr Group TwitterBarr Group LinkedInBarr Group Vimeo

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.

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

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

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.

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

Upcoming Sessions

Date(s) Location Regular Price Early Registration Price Register
Mar 27 to Mar 30
Embedded Software Boot Camp
Palo Alto, California, United States $2,399.00 $1,999.00
May 2 to May 5
Embedded Software Boot Camp
Munich, Bayern, Germany 2699,00 € 2299,00 €

Find out More

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 videotaped or photographed without consent from Barr Group's executive team.