C++ in the World of Embedded Systems
The talk offers an introduction into the concepts, variety and architectural specifics of embedded systems and reviews the application of the C++ language and the ecosystem for embedded software development. With the focus on the modern C++ features and frameworks that can be leveraged in embedded projects the presentation will explore benefits along with potential implications and limitations of the C++ language utilization. Similarities between embedded and high-performance systems will be highlighted and general availability and applicability of the C++ for the development of embedded code will be assessed. Language features and program constructs that can introduce risks in embedded environments will be reviewed. Examples of the modern C++ software design under conditions of restricted dynamic memory allocation will be presented with focus on publicly available 3-rd party libraries developed for high-performance applications that can be used in embedded projects. Metaprogramming techniques for low-level hardware abstractions will be discussed.
Vladimir is a software engineer with more than 17 years of experience applying C++ for development of complex software systems in areas like distributed systems and networking. Before his recent switch to Intel he was for more than 6 years part of the effort to bring modern C++ into automotive embedded software development.