Feedback linking: optimizing object code layout for updates

  • Authors:
  • Carl von Platen;Johan Eker

  • Affiliations:
  • Ericsson Research, Lund, Sweden;Ericsson Research, Lund, Sweden

  • Venue:
  • Proceedings of the 2006 ACM SIGPLAN/SIGBED conference on Language, compilers, and tool support for embedded systems
  • Year:
  • 2006

Quantified Score

Hi-index 0.00

Visualization

Abstract

Firmware over the air (FOTA) is becoming a standard procedure for maintaining and updating wireless embedded systems. To cope with bandwidth and storage constraints this is facilitated using incremental updates based on delta technology, i.e. only the modifications are transmitted. The performance of a FOTA update is highly dependent on the size of the delta, and the type of modifications. Application of a delta update involves mutating the present version, byte by byte, into the new version. The problem is that even the smallest change in the source code may cause almost every single memory position to be affected, and thus requiring the complete memory to be rewritten. This has two implications: First, the time spent updating memory becomes unnecessary long. Secondly, and much worse, since a large part of the system is affected, the system is not functional during application.This paper introduces the concept of a feedback linker, which uses the object code layout of the previous version, when building a new version. The feedback linker maximizes the similarities between two versions allowing for smaller update packages and faster upgrades. The feedback linker is described in terms of an optimization procedure, an prototype test bed and a set of experimental results.