Skip to content
0:00 / 0:00

#cppcon#embeddedc++#etl

Modern C++: C++ Patterns to Make Embedded Programming More Productive - Steve Bush - CppCon 2022

CppCon

189K subscribers • 136 videos on Hallway • Conference channel

YouTube
  • Recommended by 3 people: 3 in engineering communities.
  • Presented by Steve Bush
  • Linked in the descriptionCppCon/CppCon2022

Intermediate. Assumes working knowledge.

49K views3 years ago3 recommendations

Systems programmingProgramming languagesEmbedded systemsC++Performance and optimization

Steve Bush presents modern C++ patterns and idioms that improve expressiveness and maintainability in resource-constrained embedded systems.

cppcon.org/ --- Modern C++ to Impress Your Embedded Dev Friends - C++ patterns to make embedded programming more productive - Steve Bush - CppCon 2022 github.com/CppCon/CppCon2022 C++ is often talked about in terms of what cannot or should not be done in the context of embedded systems. In contrast, this talk is about some of the things that modern C++ idioms allow us to do better or more expressively than comparable operations in C. We will cover several patterns that allow an embedded developer to express intent clearly, ease maintenance, and encourage re-use while avoiding overheads that are costly in resource-constrained systems. Examples include initialization structures that are self-describing and IDE-friendly, small code implementations that make available sections of the C++ Standard Library for embedded use, and tools for understanding and controlling our use of limited memory resources. --- Steve Bush Steve is a Research Fellow at the consumer products manufacturer Procter & Gamble. He works in upstream research and development on smart and connected products, some of which have been featured at the company's LIfe Lab at the consumer electronics show CES. Though involved in all phases of embedded product development, much of his work revolves around embedded firmware development. Steve has been an advocate in his research community of modern programming practice, including the use of modern C++ to create more expressive, reusable firmware. --- Videos Streamed & Edited by Digital Medium: online.digital-medium.co.uk #cppcon #programming #embeddedsystems

Why it's here

3 people recommend this

What people say. Recommended as a great talk demonstrating how modern C++ features can be used efficiently in embedded environments.

u/NotBooleanin r/embedded • Recommends

On “Repo's with professional embedded C/C++ code (education)”

Unfortunately no C++ examples but for C, Zephyr RTOS (docs, code). Is a good example of driver abstraction. For applications the Nordic Connect SDK which uses Zephyr as its RTOS has a few application examples (docs, code) that I think are pretty good. A book I would recommend is Test Driven Development for Embedded C by Grenning, James W. It's for C but a lot of the concepts are the same, just replace the C stuff with C++. Writing testable code normally leads to good abstraction and portability. I would recommend Cppcon videos, any that feel relevant but there are some starting embedded development like this and this. If you like DM I can share a repo I'm working on that is very much…

u/ContraryConmanin r/embedded • Recommends

On “What features of embedded c++ you often use?”

…retty significant chunk of C++ features without even needing the standard library to be present. Second, there are libraries like the ETL that will give you STL-like functionality without dynamic allocations. Third, even things we often reflexively think of as expensive, such as exceptions, can actually work really well in embedded environmentslink to this video This talk shows how a lot of common C patterns can be done in C++ in a way that's declarative and strongly types. The standout for me is the way you can leverage `constexpr` to get tables of values into .rodata in C++ itself, instead of using an external script and fiddling with the build system. But there's other great stuff in there to…

u/linuxdwagin r/embedded • Recommends

On “OOP in embedded (C++)”

A great talk last year at cppcon on some of this: link to this video