Table of Contents

Docker

We can use Docker to set up a stable and repeatable environment where our firmware is built and unit tested. Furthermore, we can use access the hardware from the container to perform integration testing. A shared directory will allow us to access our code from within the containerized environment.

from https://dev.to/djangostars/what-is-docker-and-how-to-use-it-with-python-tutorial-87a:

https://dev.to/dalimay28/using-docker-for-embedded-systems-development-b16

https://blog.feabhas.com/2017/09/introduction-docker-embedded-developers-part-1-getting-started/

https://ownyourbits.com/2017/06/20/c-build-environment-in-a-docker-container/

# install colorgcc
export PATH=/home/docker/bin:$PATH
wget https://raw.githubusercontent.com/olibre/colorgcc/master/colorgcc.pl
wget https://raw.githubusercontent.com/olibre/colorgcc/master/colorgccrc
sudo apt-get install perl-modules-5.26
ln -s colorgcc.pl arm-none-eabi-gcc
ln -s colorgcc.pl arm-none-eabi-ld 

Unit testing

Check

http://embunit.sourceforge.net/

http://programmers.stackexchange.com/questions/104332/best-practice-when-unit-testing-for-embedded-development

https://dmitryfrank.com/articles/unit_testing_embedded_c_applications

http://eradman.com/posts/tdd-in-c.html

http://www.electronvector.com/

https://embeddedartistry.com/blog/2018/10/15/embedded-systems-testing-resources

https://interrupt.memfault.com/blog/unit-testing-basics

framekworks:

Continuous integration

https://wiki.jenkins.io/display/JENKINS/Test+Results+Analyzer+Plugin

https://community.arm.com/developer/tools-software/tools/b/tools-software-ides-blog/posts/implementing-embedded-continuous-integration-with-jenkins-and-docker-part-1

https://github.com/features/actions