Skip to content
0:00 / 0:00

#c++#embeddedsystems#bare-metal

C++Now 2018: Michael Caisse “Modern C++ in Embedded Systems”

CppNow

39K subscribers • 42 videos on Hallway • Conference channel

YouTube
  • Recommended by 1 person: 1 curated list.
  • Presented by Michael Caisse

Intermediate. Assumes working knowledge.

52K views8 years ago1 recommendation

Systems programmingHardwareEmbedded systemsC++

Michael Caisse presents a case study of using modern C++ on bare-metal embedded systems, addressing tool support and hardware constraints.

cppnow.org — Presentation Slides, PDFs, Source Code and other presenter materials are available at: cppnow.org/history/2018/talks/ — For nearly 35 years I have been working with small processors and there has always been deep divides between practitioners of languages. When writing assembly we ridiculed those using C and when I spent years microcoding we scoffed at everyone. However, nearly all groups continue to wag their heads at the shameful C++ programmers attempting to twist their tools toward the small. Recent language developments have made C++ the obvious choice for many embedded projects; nevertheless, the toxic environment extends past reddit roasts into poor vendor support of tools and nearly obstructionist chip manufacturers. This session will use a bare-metal project started in 2018 for a Ciere client as a case study while we work through the decision process for using C++, the acrobatics required to support the language, recent language features that enable goals of size, speed, and expressiveness, and useful libraries. While the examples will be based on a concrete project, the extracted lessons-learned should be applicable to many embedded projects (bare-metal and small-OS). Attendees will walk away with motivations to use C++ in embedded projects, hints and tips to making tools work, and a sampling of language features and idioms that improve the quality of a final product. — Michael Caisse Ciere, Inc. Michael Caisse has been crafting code in C++ for 28-years. He is a regular speaker at various conferences and is passionate about teaching and training. Michael is the owner of Ciere Consulting which provides software consulting and contracting services, C++ training, and Project Recovery for failing multidisciplinary engineering projects. When he isn't fighting with compilers or robots, he enjoys fencing with a sabre. :: ciere.com — Videos Filmed & Edited by Bash Films: BashFilms.com --- *--* ---

Why it's here

1 person recommends this

programming-talkscurated list on GitHubRecommends

Under “C++”

Modern C++ in Embedded Systems 01:30:39 by **Michael Caisse** (2018)

u/liquidifyin r/C_Programming • Mentions

On “Which standard of C is used mostly in embedded systems, C89 or C99?”

C++ allows you to create 0 cost abstractions. By that I mean that the code abstractions will not slow down your binaries compared to writing C or even writing assembly by hand. But those abstractions enable you to more easily follow good software design practices which will help your end users dramatically, and they help you write code more rapidly. With c++ you can create very convenient interfaces and wrappers much more easily than with raw c, and since there is a lot of tooling around templates, you have very good tools to tailor your systems to your particular environment. Check out this video for an example of how much control c++ can give you over compile time behaviors. Dude…