an operating system infrastructure for remote code update in deeply embedded systems
Deeply Embedded Systems are designed to perform a determined set of specific tasks, usually on low-cost, high-reliability platforms. In order to support on-site firmware updates, such systems are subject to severe resource limitation, like processing power, memory and energy, since the update mechanism itself must share the sparse resources with running applications. This work presents a low-overhead operating system infrastructure for remote code update. By using sophisticate C++ static metaprogramming techniques, the infrastructure and the code update become fully transparent to applications. Moreover, the infrastructure allows the system components to be marked as updatable or not at compilation time, and for those components that are not marked as updatable, no overhead is added. The infrastructure was implemented in Epos, a multi-platform, component-based, embedded operating system [7], with positive preliminary results that show that the proposed strategy is a feasible solution for software update in deeply embedded systems.
operating systems embedded systems remote update