Skip to content

Commit

Permalink
demo proposal: Automated embedded testing of FreeRTOS using Jenkins a…
Browse files Browse the repository at this point in the history
…nd AWS (#1578)

* assignment proposal: demonstration for week1: testing & continuous integration

* Rename markdown file

* not ignoring cases anymore

* fix titles

* Delete Readme.md

* put proposal inside week folder

* fix schema
  • Loading branch information
fsegatz authored Mar 25, 2022
1 parent 003da60 commit c37fe09
Showing 1 changed file with 37 additions and 0 deletions.
37 changes: 37 additions & 0 deletions contributions/demo/week2-testing-and-CI/jedma-segatz/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
# Assignment Proposal

## Title

Automated testing and delivery for FreeRTOS using AWS

## Names and KTH ID
- Johan Edman (jedma@kth.se)
- Fabian Segatz (segatz@kth.se)

## Deadline

Task 1

## Category

Demo

## Description

In IoT there are often many devices that should receive updates, even when they are already embedded in the field.

It is crucial to validate the correctness of any update before it is published. At the same time, security updates should be supplied fast, to close eventual weaknesses. Automated testing can be used to reduce the time-to-delivery.

However, software development for embedded systems is not as advanced by the means of using CI-pipelines and needs some further exploring.

We plan to give a demonstration on how to use, Jenkins and AWS to automatically deploy firmware that is built upon FreeRTOS. The firmware-under-test runs some schedulability test, which sends back metrics to Jenkins.

The deployment is supposed to be performed using over-the-air (OTA) updating to an ESP32 evaluation board connected to the same network as the build server.

Comment:
There was a similar project in 2020 (https://github.com/KTH/devops-course/tree/2022/attic/2020/contributions-2020/demo/carljen-axelbc), where a demonstration of a CI pipeline for embedded devices was given.

Our proposal differs in three ways:
1. We don't use the remote testing suite of plattformIO, and instead use AWS.
2. Deployment with OTA updates, which simulates a better use-case for in-field testing
3. Unit testing without using an extra probe device, exploiting the capabilities of RTOS.

0 comments on commit c37fe09

Please sign in to comment.