Uncannier Software

It's not enough to just be uncanny

Unit Testing of Embedded Firmware – Part 5 – Continuous Integration (CircleCI)

/

Don’t be sad, but this is the final episode of a series that started here: https://uncannier.com/unit-testing-of-embedded-firmware-part-1-software-confucius/ This article is all easy and all gravy: supporting Test Driven Development (TDD) by getting embedded firmware unit tests running on a continuous integration server. As per the rest of this series, the Uncannier Thunderboard projects will be the …

Unit Testing of Embedded Firmware – Part 4 – Code Coverage with Gcov & LCOV

/

This article is part 4 of a series. Return to part 1 here: https://uncannier.com/unit-testing-of-embedded-firmware-part-1-software-confucius/ When unit testing, it’s helpful to have some way to measure how much of your code is being tested. In this article I’ll show how to use Gcov and LCOV to produce code coverage reports for embedded firmware that is unit …

Unit Testing of Embedded Firmware – Part 3 – x86 Running & Debugging (in Simplicity Studio AKA Eclipse)

/

This article is part 3 of a series. Return to part 1 here: https://uncannier.com/unit-testing-of-embedded-firmware-part-1-software-confucius/ In the last article (https://uncannier.com/unit-testing-of-embedded-firmware-part-2-x86-build-cpputest-simplicity-studio-thunderboard/), I created an x86 build of the Uncannier Thunderboard embedded firmware and unit tests. In this article, I’ll cover how to execute the unit tests on-host, thus allowing Test Driven Development (TDD) to be performed on-host. …

Unit Testing of Embedded Firmware – Part 2 – x86 Build (CppUTest, Simplicity Studio & Thunderboard)

/

This article is part 2 of a series. Read part 1 here: https://uncannier.com/unit-testing-of-embedded-firmware-part-1-software-confucius/ In this article I’ll cover the hardest part: getting the firmware building on-host with an x86 toolchain. The goal is to perform Test Driven Development (TDD) and unit testing, on-host, not on-target. First we’ll setup the tools, then we’ll do the code. …

Unit Testing of Embedded Firmware – Part 1 – Software Confucius

/

This article is the first of a five-part series covering how to setup up a unit test harness on an embedded software project. For the purposes of example, I’ll use the CppUTest harness, building within Silicon Labs’ Simplicity Studio (a YACE – Yet Another Customized Eclipse). This setup will be used to unit test components …

Continuous Integration of Embedded Software in the Cloud – Docker, Simplicity Studio & CircleCI

/

In this article, I’ll show you how to create a Docker image for Continuous Integration of embedded software projects. I’ll use Silicon Labs Simplicity Studio and Circle CI as an example. However the basic principle could be applied to many embedded software tools and many CI tools. Embedded Complication In recent years there’s been a …

Thunderboard Sense 2 – Over The Air (OTA) Upgrades

/

Like the Thunderboard React, the Thunderboard Sense 2 doesn’t support Over The Air (OTA) Device Firmware Upgrade (DFU) out of the box. This article describes how to modify the stock Thunderboard Sense 2 firmware to enable OTA DFU. This article references my previous post, Thunderboard React – Over The Air (OTA) Upgrades, and concentrates on …

Thunderboard React – Over The Air (OTA) Upgrades

/

Out of the box, the Thunderboard React doesn’t support Over The Air (OTA) Device Firmware Upgrade (DFU). This article describes how to modify the stock Thunderboard React firmware to enable OTA DFU. I’ll use Silicon Labs’ standard OTA BLE Service because this enables OTA DFU in the stock Blue Gecko phone app. In general, Silicon …