From c37fe0908a1d061bade3ed17b7d79d03b9653f4d Mon Sep 17 00:00:00 2001 From: Fabian Segatz <53816763+fsegatz@users.noreply.github.com> Date: Fri, 25 Mar 2022 11:15:33 +0100 Subject: [PATCH] demo proposal: Automated embedded testing of FreeRTOS using Jenkins and 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 --- .../jedma-segatz/README.md | 37 +++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 contributions/demo/week2-testing-and-CI/jedma-segatz/README.md diff --git a/contributions/demo/week2-testing-and-CI/jedma-segatz/README.md b/contributions/demo/week2-testing-and-CI/jedma-segatz/README.md new file mode 100644 index 0000000000..479e1ebb58 --- /dev/null +++ b/contributions/demo/week2-testing-and-CI/jedma-segatz/README.md @@ -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. \ No newline at end of file