Evaluation and Adaptation of an LLVM-Based Whole-System-Compiler for Optimizing Embedded RISC-V/ARM Systems

ARA is a whole-system compiler to optimize a system's nonfunctional properties with global knowledge about the interaction between application and operating system. It consists of two parts: First, it statically analyzes a (real-time) system's source code to retrieve global knowledge based on system calls. Equipped with this knowledge, it then synthesizes an optimized system image with improved nonfunctional properties like reduced memory usage. On FreeRTOS, ARA is able to detect dynamically created instances, and preallocate and initialize them statically directly in the image. In the past, we were able to reduce the boot time significantly.

Pine64 is a company which produces mostly open hardware for open software. Two of their devices are a RISC-V soldering iron and an ARM-based smartwatch, both with FreeRTOS based firmwares (IronOS and InfiniTime). Your task will be to analyze the structure of these two firmwares, integrate them with ARA and measure the performance improvements on the real hardware. Based on these results, you should point out better optimizations for ARA and work out its limitations. Further, you should highlight potential design flaws in the analyzed software revealed by ARA.

Topics covered by this thesis:
ARM, RISC-V, FreeRTOS, C, C++, Python

Further Reading

OSPERT Workshop B
ARA: Automatic Instance-Level Analysis in Real-Time Systems
Gerion Entrup, Benedikt Steinmeier, Christian DietrichProceedings of the 15th Annual Workshop on Operating Systems Platforms for Embedded Real-Time Applications (OSPERT '19)2019.
PDF [BibTex]
OSPERT Workshop B Best Paper Award
Levels of Specialization in Real-Time Operating Systems
Björn Fiedler, Gerion Entrup, Christian Dietrich, Daniel LohmannProceedings of the 14th Annual Workshop on Operating Systems Platforms for Embedded Real-Time Applications (OSPERT '18)2018Best Paper Award.
PDF [BibTex]
LCTES Conference A
Cross-Kernel Control-Flow-Graph Analysis for Event-Driven Real-Time Systems
Christian Dietrich, Martin Hoffmann, Daniel LohmannProceedings of the 2015 ACM SIGPLAN/SIGBED Conference on Languages, Compilers and Tools for Embedded Systems (LCTES '15)ACM Press2015.
PDF Raw Data 10.1145/2670529.2754963 [BibTex]