Getting Hard Real-Time Support for C++

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

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. 

Links

Sign up for Electronic Design Newsletters
Get the latest news and updates.

Voice Your Opinion!

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