Testing bare-metal embedded C isn't straightforward. Someone will shout "stop using printf," and you'll yell back, "what's a printf?" They'll follow up with something about emulators. They're not wrong, but how do you efficiently regression test on the emulation target? Sure, you'll eventually have Requirements Based Tests (RBT) and "black box test procedures," but they are hardware-in-the-loop and tedious to run. A full RBT suite can take weeks to execute with a combination of manual and scripted tests. The pathway to happiness isn't simply a fast "edit-compile-run" development loop, but a "edit-compile-run-It Works and Didn't Break Something Else" cycle. Enter cross-compiled TDD.
18 July 2021