Get in Touch

Course Outline

  • Understanding Embedded Systems
    • Basic Definition
    • Key Historical Milestones
    • Defining Characteristics
    • Rationale for Using C++
  • C vs. C++ Comparison
    • C as a near-subset of C++
    • Performance Implications
    • Additional 'Free' Functionality in C++
    • Arguments Against Using C++
  • Class Mechanics
    • Member Variables
      • Instance Variables
      • Class Variables
    • Member Functions
      • Instance Functions
      • Class Functions
    • Special Member Functions
      • Constructors
        • Initialization
        • Delegation
      • Destructors
      • Copy Assignment Operators
    • Move Semantics – Preventing Unnecessary Deep Copies
    • Usage of struct in C++
    • Namespaces and Packaging
  • Inheritance
    • Overview
    • Implementation Details
    • Performance Impact
    • Multiple Inheritance
    • Virtual Inheritance
  • Polymorphism
    • Overview
    • Virtual Functions
    • Virtual Destructors
    • Implementation Strategies
    • Runtime Type Information (RTTI)
    • Performance Considerations
  • Templates
    • Overview
    • Function Templates
    • Class Templates
      • Variadic Templates
    • Addressing Code Bloat
    • Implementation Approaches
    • Template Meta-Programming
    • Templates vs. Inheritance
  • Error Management
    • Exception Handling
    • Performance Concerns
    • Underlying Implementation
  • Inline Code
    • Appropriate Use Cases
    • Strategic Considerations
  • System Initialization
    • System Boot Process
    • C Language Components
    • C++ Language Components
  • Standard Libraries
    • Standard Template Library (STL)
    • iostream Library
    • Key STL Extensions from C++11:
      • Move Semantics
      • Variadic Templates
      • Concurrency
  • Memory Handling
    • The C++ Memory Model
      • stdint Types
      • Atomic Types and Operations
    • Management Strategies
    • Variable Handling
    • Placement new
    • Custom Memory Management
  • C and C++ Interoperability
    • Name Mangling
    • Static Initialization
    • Dynamic Memory Interaction
    • struct Contents
      • POD – Plain Old Data
  • Embedded Design Patterns
    • RAII – Resource Acquisition Is Initialization
    • Memory-Mapped I/O
    • Interrupt Handling
    • Static Object Initialization

Requirements

No specific prior requirements are necessary to attend this course.

 21 Hours

Number of participants


Price per participant

Testimonials (3)

Provisional Upcoming Courses (Require 5+ participants)

Related Categories