Lightweight Framework for Runtime Updating of C-Based Software in Embedded Systems

Research output: Chapter in Book/Conference proceedingConference contributionProfessional


Software updates in embedded systems are typically performed by bringing the system to stop, replacing the software and restarting the system. This process can in certain cases be very time consuming and costly, which leads to less frequent software updates. In order to establish both long uptime and up-to-date software, the software must be updated during runtime. This paper presents a runtime updating framework for embedded systems capable of replacing parts of software without stopping the system. The framework is based on FreeRTOS and mechanisms have been added to dynamically link and re-link FreeRTOS tasks to the system during runtime. Our framework enables the programmer to easily create updatable software with simple annotations to the program. Experiments demonstrate the benefits of updating software during runtime with an acceptable overhead when transferring the application state.

Original languageUndefined/Unknown
Title of host publicationPresented as part of the 5th Workshop on Hot Topics in Software Upgrades
PublisherUsenix : the advanced computing systems association
Publication statusPublished - 2013
MoE publication typeD3 Professional conference proceedings

Cite this