返回
FLEX: Flexible Linked EXecution for Real-Time Embedded Hotpatching
DOI:10.1109/TDSC.2025.3644390.png)
摘要
En 中文
随着信息技术的飞速发展,嵌入式系统已成为众多关键应用中不可或缺的一部分。这些系统通常需要持续运行,且无法容忍传统软件更新带来的停机时间,而传统更新通常需要系统重启。为解决这一挑战,本文提出了一种新颖的热补丁技术,称为Flexible Linked EXecution(FLEX),该技术专为实时嵌入式环境设计。FLEX通过重定向所有函数调用和全局变量访问至一个编译时生成的控制流表(CFT),实现了无缝、动态的固件更新。与依赖专用硬件或对补丁数量及大小施加严格限制的现有热补丁方法不同,FLEX完全独立于硬件,且支持可扩展的补丁能力,其容量仅受可用闪存和RAM的限制。FLEX具有多项独特功能,包括采用宽松的一致性状态同步机制以允许程序状态的逐步迁移、在编译时将所有符号解析为CFT间接访问、通过双缓冲指针交换应用更新到新的CFT,以及一个与XIP兼容的过程,该过程可确保无论补丁复杂度如何,都仅产生短暂且有限的中断时间。实验结果表明,FLEX在平均执行开销约为11%和闪存使用量可预测增加约17%的情况下,仍能保持系统稳定性和性能。这些发现表明,FLEX为动态更新嵌入式系统软件提供了一种稳健且灵活的解决方案,可在不牺牲性能的前提下确保高可用性和安全性。
Keyword:
Hotpatching
Dynamic Software Update (DSU)
Real-time Systems
IoT Systems
IoT Security
期刊
IF:
7.5
论文数:
2.6K
被引数:
9.6K

