Return
FLEX: Flexible Linked EXecution for Real-Time Embedded Hotpatching
DOI:10.1109/TDSC.2025.3644390.png)
Abstract
En 中文
With the rapid advancement in information technology, embedded systems have become integral to a wide range of critical applications. These systems often require continuous operation and cannot tolerate the downtime associated with traditional software updates, which typically necessitate a system reboot. To address this challenge, this paper proposes a novel hotpatching technique called Flexible Linked EXecution (FLEX) designed specifically for real-time embedded environments. FLEX enables seamless, dynamic firmware updates by redirecting all function calls and global variable accesses through a compile-time generated Control Flow Table (CFT). In contrast to existing hotpatching approaches that depend on specialized hardware or impose strict limits on the number of patches and their size, FLEX is entirely hardware independent and supports scalable patching capacity bounded only by available flash memory and RAM. FLEX offers several unique features, including a relaxed consistency state synchronization mechanism to allow for gradual migration of program state, resolving all symbols at compile time into CFT indirections, applying updates via a double-buffered pointer swap to a new CFT, and a XIP compatible process that guarantees only a short, bounded pause time regardless of patch complexity. Experimental results show that FLEX maintains system stability and performance with an average execution overhead of about 11% and a predictable increase in flash memory usage of roughly 17% . These findings suggest that FLEX offers a robust and flexible solution for dynamically updating the software of embedded systems to ensure high availability and security without sacrificing performance.
Keywords:
Hotpatching
Dynamic Software Update (DSU)
Real-time Systems
IoT Systems
IoT Security
Journal
IF:
7.5
Papers:
2.4K
Citations:
9.6K

