Get in Touch
 Duration 21 hours

Course Outline

Introduction to Embedded Systems and C++

  • Overview of embedded system architectures
  • Challenges inherent in embedded software development
  • Evaluation of C++ suitability for microcontrollers and embedded platforms
  • Striking a balance between abstraction, performance, and resource limitations

Embedded C++ Development Environment

  • Configuring the embedded development toolchain
  • Utilizing compilers, debuggers, and build systems
  • Interfacing with target devices
  • Developing and deploying embedded applications

Object-Oriented Programming for Embedded Systems

  • Core principles of object-oriented design
  • Implementing classes and objects within resource-constrained environments
  • Leveraging encapsulation and modular design patterns
  • Effectively applying object-oriented techniques in embedded contexts

Advanced C++ Features for Embedded Development

  • Utilizing inheritance and polymorphism
  • Assessing virtual functions and runtime overhead implications
  • Managing templates to avoid unnecessary code expansion
  • Optimizing performance through inline functions

Memory Management and Resource Optimisation

  • Addressing memory constraints in embedded systems
  • Considerations for stack and heap usage
  • Strategies for dynamic memory management
  • Preventing memory fragmentation and code bloat

Error Handling and Safety Considerations

  • Handling exceptions in embedded environments
  • Designing for software reliability and predictability
  • Employing defensive programming techniques
  • C++ specific considerations for safety-critical systems

C++ Standard Libraries and Embedded Usage

  • Selecting appropriate features from the standard library
  • Minimizing resource consumption
  • Utilizing custom libraries and embedded-friendly alternatives
  • Writing code that is both efficient and maintainable

Startup, Hardware Interaction, and Debugging

  • Understanding the embedded application startup sequence
  • Implementing initialization routines
  • Debugging C++ applications on target hardware
  • Diagnosing performance bottlenecks and runtime issues

Real-Time Programming and Operating Systems

  • Fundamentals of real-time systems
  • Working with real-time operating systems (RTOS)
  • Managing task scheduling and timing constraints
  • Developing responsive and deterministic applications

C and C++ Interoperability

  • Integrating C and C++ codebases
  • Invoking C libraries from within C++
  • Managing projects that involve mixed-language programming
  • Strategies for migrating from C to C++

Object-Oriented Modelling and UML

  • Applying UML in embedded software design
  • Modelling classes and system components
  • Translating design models into efficient embedded code
  • Enhancing maintainability through structured design approaches

Practical Embedded C++ Application Workshop

  • Developing an embedded application using C++
  • Applying optimization and safety measures
  • Conducting testing and debugging on target devices
  • Reviewing best practices and outlining next steps

Requirements

  • A general familiarity with C++

Custom Corporate Training

Training solutions designed exclusively for businesses.

  • Customized Content: We adapt the syllabus and practical exercises to the real goals and needs of your project.
  • Flexible Schedule: Dates and times adapted to your team's agenda.
  • Format: Online (live), In-company (at your offices), or Hybrid.
Investment

Price per private group, online live training, starting from 3900 € + VAT*

Contact us for an exact quote and to hear our latest promotions

Testimonials (2)

Provisional Upcoming Courses (Contact Us For More Information)

Related Categories