Improving Efficiency of Firmware Updates for Resource-Limited Devices in a User-Friendy Manner: Flexiware
Authors
Pedersen, Steffen Tidou ; Kusk, Camilla Høy
Term
4. semester
Education
Publication year
2025
Submitted on
2025-06-04
Pages
54
Abstract
The number of IoT devices is growing, including those deployed in remote places with limited power and memory. Keeping them up to date requires regular firmware updates, but sending and installing updates consumes energy. To preserve battery life, this project aims to make updates as small as possible through better memory management and delta encoding. Delta encoding sends only the differences between the old and new firmware rather than the entire image. The approach assumes a direct link between file size and the energy spent during an update. The proposed solution is a custom linker script that applies dynamic linking principles to produce memory-aware update files. In practice, it arranges code and data so that unchanged parts can be reused and only modified sections need to be delivered. The tool was evaluated in several test scenarios, and in most cases it produced smaller firmware updates. However, usability remains an area for improvement. Overall, the findings show that memory-aware linking can significantly reduce update size and thus the energy used during updates, helping low-energy devices operate longer.
Antallet af IoT-enheder vokser, også i fjerntliggende miljøer med begrænset strøm og hukommelse. Vedligeholdelse kræver jævnlige firmwareopdateringer, men det koster energi at overføre og installere dem. For at spare batteri fokuserer dette projekt på at gøre opdateringerne mindre ved hjælp af bedre hukommelsesstyring og delta-kodning. Delta-kodning betyder, at man kun sender forskellene mellem den gamle og den nye firmware i stedet for hele filen. Arbejdet bygger på antagelsen om en direkte sammenhæng mellem filstørrelse og energiforbrug under opdatering. Løsningen er et brugerdefineret linker-script, der udnytter principper fra dynamisk linking til at skabe hukommelsesbevidste opdateringsfiler. I praksis organiserer det kode og data, så uændrede dele kan genbruges, og kun ændrede sektioner skal leveres. Værktøjet blev testet i flere scenarier, og i de fleste tilfælde blev firmwarefilerne mindre. Brugervenligheden er dog stadig et område med forbedringspotentiale. Resultaterne viser, at hukommelsesbevidst linking kan reducere opdateringsstørrelsen betydeligt og dermed energiforbruget under opdateringer, hvilket samlet set forlænger enhedernes drifttid.
[This apstract has been rewritten with the help of AI based on the project's original abstract]
Keywords
firmware ; IoT ; compiler ; linkers ; dynamic linking ; delta update
