Get in Touch

Course Outline

Introduction to Embedded Systems and C++

  • Fundamentals of embedded systems architecture
  • Key challenges in embedded software development
  • Evaluating C++ for microcontrollers and embedded platforms
  • Reconciling abstraction, performance, and resource limitations

Embedded C++ Development Environment

  • Configuring the embedded development toolchain
  • Utilizing compilers, debuggers, and build systems
  • Interacting with target hardware
  • Creating and deploying embedded applications

Object-Oriented Programming for Embedded Systems

  • Core principles of object-oriented design
  • Implementing classes and objects in resource-limited settings
  • Leveraging encapsulation and modular architecture
  • Effective application of object-oriented methods in embedded contexts

Advanced C++ Features for Embedded Development

  • Utilizing inheritance and polymorphism
  • Managing virtual functions and runtime overhead
  • Using templates while preventing excessive code expansion
  • Optimizing performance with inline functions

Memory Management and Resource Optimisation

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

Error Handling and Safety Considerations

  • Managing exceptions in embedded environments
  • Engineering reliable and predictable software
  • Implementing defensive programming practices
  • C++ nuances for safety-critical systems

C++ Standard Libraries and Embedded Usage

  • Choosing suitable standard library components
  • Reducing resource consumption
  • Employing custom libraries and embedded-friendly alternatives
  • Crafting efficient and maintainable code

Startup, Hardware Interaction, and Debugging

  • Embedded application boot sequences
  • Initialization routines
  • Debugging C++ applications on target hardware
  • Identifying and resolving performance and runtime issues

Real-Time Programming and Operating Systems

  • Basics of real-time systems
  • Integration with real-time operating systems (RTOS)
  • Task scheduling and timing requirements
  • Building responsive and deterministic applications

C and C++ Interoperability

  • Merging C and C++ codebases
  • Invoking C libraries from C++
  • Managing embedded projects with mixed languages
  • Approaches for migrating from C to C++

Object-Oriented Modelling and UML

  • Using UML for embedded software design
  • Modelling classes and system components
  • Converting designs into efficient embedded code
  • Enhancing maintainability through structured design

Practical Embedded C++ Application Workshop

  • Building an embedded application with C++
  • Implementing optimization and safety measures
  • Testing and debugging on target devices
  • Reviewing best practices and subsequent steps

Requirements

  • A general understanding of C++
 21 Hours

Number of participants


Price per participant

Testimonials (2)

Upcoming Courses

Related Categories