Introduction to C++ Programming for Real-Time and Embedded Systems

4 Day Course
Hands On
Code PSD067

Book Now - 1 Delivery Method Available:

Classroom Virtual Classroom Private Group - Virtual Self-Paced Online


The course is 4 days long and comprises of 40% practical work which is based on a case study giving delegates experience of designing and developing a complete stand alone application in C++. A strong emphasis of the course is the cost and performance of language features.


On completion of the course delegates will be able to:

  • Write C++ applications for Real-Time and Embedded Systems
  • Understand the principles of Object Oriented Programming
  • Access hardware using the C++ programming language
  • Write low-level device drivers and interrupt routines in C++
  • Appreciate the costs and overheads of C++ in a Real-Time and embedded environment


Hide all

Introduction to Object Oriented Programming (3 topics)

  • What is Object Oriented Programming
  • Encapsulation, Inheritance and Polymorphism
  • A simple design methodology

Implementing Classes (6 topics)

  • Classes
  • Data access
  • Constructors/destructors
  • Member functions
  • Class data, const, mutable, static
  • Dynamic memory allocation using new and delete

Inheritance and Polymorphism (5 topics)

  • Single Inheritance
  • Initialising derived classes
  • Base class - derived class relationships
  • Polymorphic behaviour
  • Designing for polymorphic behaviour

Exception Handling (2 topics)

  • Implementing exception handling
  • Costs of exception handling

Operator Overloading (4 topics)

  • Conversion functions
  • Overloading binary operators
  • Overloading unary operators
  • Copy constructors and assignment

Accessing Hardware (9 topics)

  • Memory mapped and I/O mapped devices
  • I/O synchronization
  • Polling
  • Interrupts
  • Bit level manipulation of data
  • Implementing Interrupt routines in C++
  • Maximizing portability
  • Protecting concurrently accessed data
  • Linking to C

C++ Design (4 topics)

  • Project organization
  • Namespaces
  • Separate compilation and linkage
  • Multiple file projects in C++

Templates and the C++ Standard Library (3 topics)

  • Function and Class Templates
  • Overview of The Standard Library
  • The Standard Template Library


Delegates are expected to have programming experience in C.

Course PDF


Share this Course


Recommend this Course