Our great sponsors
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
To make testing easier, I build https://github.com/nqtronix/unittrace. This small library has a macro UT_ASSERT(cond) which logs events to an array whenever the condition fails. Events automatically includes the address of the failed condition, in ATMEL Studio you can right click on it and click "jump to source code" to investigate it. If everything passes, the event array remains empty. This approch has the advantage of beeing very light weight and does not mess with timings. MIT license, so feel free to use it however you like.
In Embox (https://github.com/embox/embox ) we use several testing levels to check different parts including hardware. We designed unit test framework on C and can use it to check hardware (https://github.com/embox/embox/blob/master/src/tests/spi/imx6_spi.c). We also try to develop peripheral independent code. We created libraries and use files for access to peripherals that allows using a command-line interface to test hardware. And finally, we have a regression testing framework. It bases on 'telnet' and 'expect' (https://github.com/embox/embox/tree/master/scripts/autotest). I'm sure that UART can be used instead of telnet