Embedded C++

CloudLabs

Projects

Assignment

24x7 Support

Lifetime Access

.

Course Overview

Embedded C++ (EC++) is a dialect of the C++ programming language for embedded systems.It was defined by an industry group led by major Japanese central processing unit(CPU) manufacturers, including NEC, Hitachi, Fujitsu, and Toshiba, to address the shortcomings of C++ for embedded application.

At the end of the training, participants will be able to:

Pre-requisite

Some experience of programming with C++.

Duarion

5 days

Course Outline

  1. Data Types, Variable Types,
  2. Variable Scope,  CONSTANTS/LITERALS, Basic Input and Output with Streams, Type Qualifiers in C++, STORAGE CLASSES,
  3. ARRAYS, STRINGS, Operators,
  4. LOOP TYPES and Decision making,
  5. POINTERS, REFERENCES,
  6. Structures, Pointers to Structures, typedef,
  7. Math Operations in C++, Dynamic Memory
  8. Functions
  1. Creation of class and objects
  2. Access specifiers, Data Members, Member Functions, this Pointer
  3. Constructor and destructor
  4. Static class member, Friend class and functions, Namespace
  1. Base and Derived Classes
  2. “Members, Access Control and Inheritance,
  3. Constructing and Destroying Derived Classes
  4. Objects of Derived Classes, Protected Members”
  5. Type of Inheritance, Multiple Inheritance, Implementation of inheritance
  1. Operators Overloading
  2. Function Overloading
  1. Friend function and friend class
  2. Virtual Function and Pure Virtual Functions
  3. Data Abstraction, Data Encapsulation, Abstract Classes(Interfaces)
  4. Compile time Polymorphism, Runtime Polymorphism
  1. Pointers, Function Pointers
  2. Memory Allocation, Dynamic Memory Allocation for Arrays and Objects
  3. ‘new’ and ‘delete’ Operators
  1. ofstream, ifstream, fstream
  2. Creating a file,
  3. Reading data,
  4. Writing new data,
  5. Closing a file
  1. Intro to Exception, Benefits of Exception handling,
  2. Try and catch block,
  3. Throw statement,
  4. Pre-defined exceptions in C++,
  5. User-defined Exception Class
  6. Stack Unwinding
  1. static_cast
  2. const_cast
  3. reinterpret_cast
  4. Dynamic_cast
  1. Defining Namespaces, The using directive,
  2. Discontiguous Namespaces, Nested Namespaces
  1. Generic programming
  2. Class Template
  3. Function Template
  1. Building blocks of STL
  2. Working with STL
  3. Containers,
  4. Iterators,
  5. Algorithms
  1. The #define Preprocessor, Macros, Conditional Compilation,
  2. The # and ## Operators,
  3. Predefined C++ Macros
  1. Embedded Fundamentals
  2. Interfacing with Hardware
  3. CV-Qualifiers: const and volatile
  4. The Structure of Declarations
  5. Writing T const vs. const T
  6. const as a Promise
  7. Qualification Conversions
  8. Symbolic Constants
  9. Overly-Aggressive Optimization
  10. Semantics of volatile
  1. Memory Mapped and Non memory mapped registers
  2. Memory Allocation
  3. Bitwise operators
  4. Bitwise operators – AND,OR,XOR, Setting/Clearing Bits, Bitwise Shift Operation, Left shift, right shift, Bit extraction
  1. Introduction to structures
  2. Accessing structure member elements
  3. Sizeof of a structure
  4. Aligned and un-aligned data storage
  5. Structure padding
  6. Calculating structure size manually with and without padding
  7. Assembly code analysis of packed and non packed structure
  8. Typedef and structure
  9. Structures and pointers
  10. Structure and bit fields
  11. PIN Read IO Pin read
  12. Real-Time Programming
  13. Debugging, Error Handling and Fault Tolerance
  14. IO Pin read
  1. Polling vs. Interrupts
  2. Interrupt Numbers, Vectors, and Vector Tables
  3. Interrupt Service Routines
  4. Linking C++ with C and Assembly
  5. Name Mangling and Language Linking
  6. Encapsulating Shared Data
  7. Race Conditions
  8. Critical Sections
  9. Atomic Data Types
  1. GPIO Concepts,
  2. GPIO programming structures and GPIO Registers,
  3. GPIO Alternate functionality register,
  4. GPIO Peripheral clock control

Reviews