Getting Hard Real-Time Support for C++

July 25, 2022
Segger's Dirk Akemann explains how runtime support is critical to real-time C++ code.

This video is part of TechXchange Talks

Many embedded developers program in C because they think C++ adds overhead and will not work well for real-time applications. There's some validity to that and understanding how to utilize C++ properly to provide deterministic operation is one aspect. Another is the runtime support, since even the best programmer can run amok with a non-real-time runtime that's typical for many run-of-the-mill C++ development platforms. 

Segger's emRun++ is a standard C++ runtime library optimized for gcc/LLVM-based toolchains, including their own, that's designed for real-time embedded systems. The runtime supports the C++ standards and C++ 17. Its dynamic memory/heap management is deterministic unlike most typical C++ library implementations. The emRun library is designed to support C applications. 

I talked with Segger's Dirk Akemann about how they implemented some of their real-time C++ support. We also discussed embOS RTOS. The runtime system works on bare metal as well as any RTOS like embOS. Check out C++ real-time allocation - a chess engine for additional details on the company's real-time heap-management system. 


Sponsored Recommendations


To join the conversation, and become an exclusive member of Electronic Design, create an account today!