# Writing Firmware without Hardware (featuring Matt Chernosky)

- Show: [The Pragmatic Embedded Podcast](https://hardwarepodcasts.com/podcast/the-pragmatic-embedded-podcast)
- Published: 2021-11-16
- Length: 36m
- Page: https://hardwarepodcasts.com/podcast/the-pragmatic-embedded-podcast/2021-11-16-writing-firmware-without-hardware-featuring-matt-chernosky
- Listen: https://agileembeddedpodcast.com/episodes/writing-firmware-no-hardware-matt-chernosky-ekpmoDZN

## Summary

Matt Chernosky, author of 'A Field Manual for Ceedling', explains how to write and test embedded C firmware on a host PC using Ceedling, Unity, and CMock to enable rapid Test-Driven Development (TDD). He argues that removing hardware dependencies allows for instant feedback loops, better architecture through hardware abstraction layers, and easier continuous integration. The discussion covers strategies for introducing TDD to legacy codebases, the role of automated unit tests in medical device compliance, and the importance of testing high-risk, changing code rather than aiming for 100% coverage.

## Chapters

- [0:00](https://hardwarepodcasts.com/podcast/the-pragmatic-embedded-podcast/2021-11-16-writing-firmware-without-hardware-featuring-matt-chernosky#t=0) Introduction: Matt Chernosky and the Case for Host-Based Testing
- [0:58](https://hardwarepodcasts.com/podcast/the-pragmatic-embedded-podcast/2021-11-16-writing-firmware-without-hardware-featuring-matt-chernosky#t=58) The TDD Microcycle and Hardware Abstraction
- [7:38](https://hardwarepodcasts.com/podcast/the-pragmatic-embedded-podcast/2021-11-16-writing-firmware-without-hardware-featuring-matt-chernosky#t=458) Benefits: CI, Scheduling, and Avoiding Over-Engineering
- [14:56](https://hardwarepodcasts.com/podcast/the-pragmatic-embedded-podcast/2021-11-16-writing-firmware-without-hardware-featuring-matt-chernosky#t=896) Legacy Code Challenges and Learning TDD on Greenfield Projects
- [20:46](https://hardwarepodcasts.com/podcast/the-pragmatic-embedded-podcast/2021-11-16-writing-firmware-without-hardware-featuring-matt-chernosky#t=1246) TDD as a Learning Tool and Medical Device Compliance
- [27:43](https://hardwarepodcasts.com/podcast/the-pragmatic-embedded-podcast/2021-11-16-writing-firmware-without-hardware-featuring-matt-chernosky#t=1663) Code Coverage Strategy and Client Resistance
- [32:08](https://hardwarepodcasts.com/podcast/the-pragmatic-embedded-podcast/2021-11-16-writing-firmware-without-hardware-featuring-matt-chernosky#t=1928) Ceedling, Matt's Book, and Contact Info

## Topics

- [Embedded firmware](https://hardwarepodcasts.com/topic/embedded-firmware)
- [EDA & CAD tools](https://hardwarepodcasts.com/topic/eda-and-cad-tools)
- [Debugging & failure analysis](https://hardwarepodcasts.com/topic/debugging-and-failure-analysis)
- [Medical & health devices](https://hardwarepodcasts.com/topic/medical-devices)

## Most relevant to

established companies

## Mentioned

- Ceedling (tool)
- Unity (tool)
- CMock (tool)
- James Grenning (other)
- STM32 (chip)
- Tiva C (chip)
- GCC (tool)
- GitHub Actions (tool)
- Michael Feathers (other)

## Related episodes from other shows

- [103: Tentacles Of the Kraken](https://hardwarepodcasts.com/podcast/embedded-fm/2015-06-03-103-tentacles-of-the-kraken) (Embedded.fm)
- [30: Eventually Lightning Strikes (Repeat)](https://hardwarepodcasts.com/podcast/embedded-fm/2016-11-30-30-eventually-lightning-strikes-repeat) (Embedded.fm)
- [30: Eventually Lightning Strikes](https://hardwarepodcasts.com/podcast/embedded-fm/2013-12-11-30-eventually-lightning-strikes) (Embedded.fm)
- [270: Broccoli Is Good Too](https://hardwarepodcasts.com/podcast/embedded-fm/2018-12-14-270-broccoli-is-good-too) (Embedded.fm)
- [211: 4 weeks, 3 days](https://hardwarepodcasts.com/podcast/embedded-fm/2017-08-17-211-4-weeks-3-days) (Embedded.fm)

## Citing this page

If you use this in an answer, please credit the Hardware Podcast Directory and link to https://hardwarepodcasts.com/podcast/the-pragmatic-embedded-podcast/2021-11-16-writing-firmware-without-hardware-featuring-matt-chernosky. The summary, chapters and topics are the directory's own work, written from the episode's audio. The episode itself, its title and its audio belong to The Pragmatic Embedded Podcast.
