Open-source tool simplifies worst-case execution time analysis for common microcontrollers

LLTA: A Simplicity-Oriented Open-Source WCET Analyser

Performance

Summary

Knowing the longest time a program might take to run is crucial for devices that must respond quickly and reliably. Existing tools to find this time either aren't open to everyone or don't work with popular hardware. The authors created LLTA, a free and open tool that calculates these times for widely used microchips like the ESP32-C6 and MSP430. They designed LLTA to be simple, practical on real devices, and transparent about any limitations in results. They also show how LLTA can be useful for hands-on learning in real-time system labs.

What this means in practice

  • For embedded systems engineers: Obtain trustworthy execution time bounds for actual embedded hardware using a simple open-source tool tailored to common microcontrollers.
  • For real-time systems trainers: Use LLTA in practical lab exercises to teach timing analysis on real commercial microcontrollers in controlled educational settings.

Authors

Nils Hölscher, Kay Heider, Jian-Jia Chen

Abstract

Deriving a safe upper bound on the worst-case execution time (WCET) of a real-time task is essential for hard real-time systems. Many WCET analysers exist, but they are either (i) closed source or (ii) do not provide a WCET for an existing microcontroller. Hence, it is difficult to obtain a trustworthy WCET bound for the binary that is flashed to an available embedded hardware platform and to observe whether the bound is safe. To solve this, we present LLTA, an open-source WCET analyser for Commercial-Off-The-Shelf (COTS) microcontrollers. LLTA is designed based on the following goals: it is simple (G1), runs on real COTS hardware (G2), reports results that are unsound due to programming or device constraints (G3), and is available open-source without licensing complications (G4). LLTA generates WCETs for the ESP32-C6 and the MSP430(FR5994), which are broadly available. This paper systematically lays out our design decisions for LLTA with those goals in mind. To demonstrate its ease of use, we propose scenarios where LLTA can be used for lab exercises of real-time systems.