CppCon 2017: Mike Ritchie “Microcontrollers in Micro-increments...”

preview_player
Показать описание
Microcontrollers in Micro-increments : A Test-driven C++ Workflow for Embedded Systems



Baby steps are safe steps. Making small moves in code, driven by tests, and continuously refactoring helps to keep embedded development on the right track. With test-driven development we can move more quickly, cleanly, and safely.

With increased device capability comes increased expectations, and to meet these expectations we find that real-time operating systems, vendor-supplied drivers and third-party libraries are becoming the new normal for embedded projects. Debugging this complex embedded firmware directly on the target hardware, though, is a slow and painful process, and often with an uncertain outcome.

In this talk I’ll demonstrate on a realistic hardware design how different test-driven idioms for C++ on embedded can help us to both build the code right, and build the right code. I’ll show how continuous integration builds, sanitizers and other tools can leverage this investment in tests, give us a high level of confidence in our code changes, and reduce the amount of time spent on debug-on-hardware activity.

We’ll look at patterns of implementation in C++ that help to build testable embedded systems, as well as the trade-offs and compromises to a “pure” design ideal that we often have to make on these highly constrained devices.

Mike Ritchie: 13coders, Developer and Technical Coach

Mike is an independent developer and trainer, working with C++ since the mid -90s, with a couple of detours into engineering management. He works mainly on embedded systems, and his focus is on making test-driven development and continuous integration work well for small devices.

He also designs and builds custom hardware to help people practice these approaches, with varying degrees of success, electrical safety, and litigation.


*-----*
*-----*
Рекомендации по теме
Комментарии
Автор

Great Talk! We currently only have host based tests but looking into on target tests, too

petermuller
Автор

Wow, the presenter actually uses extern template! (34:20)

czbero
Автор

What is the unit testing framework being used?

anthonyrocha
Автор

How can I get this code. I can't even find the slide on github

nhanNguyen-wofy