Speaker
Description
CubeSat developers are usually encouraged to test their satellite software on actual hardware as early as possible. Development boards, engineering models, and hardware-in-the-loop setups are a very common occurrence across engineering labs. However, these devices are often limited by the constraints of physicality: Small numbers, complex logistics and high costs can make testing inefficient, especially when the members of a team are not co-located.
In this talk, we will present how QEMU's System Emulator can be used to reliably execute your on-board software without any hardware! More specifically, we will show how QEMU can be tailored to execute an arbitrary Cortex-M project, using AcubeSAT's OBC as an example. We will discuss the initial integration process, as well as different methods to mock both internal microcontroller peripherals, and external devices. Armed with a functioning emulator, we'll also show how testing can be automated and scaled.
This process could be then applied to virtually any ARM or RISC-V project, allowing you to run simple CI checks to complete Functional Test campaigns without spending a single Euro!