Feedback linking: Optimizing object code layout for updates

Carl Von Platen, Johan Eker

Research output: Contribution to journalArticlepeer-review

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.

Original languageEnglish
Pages (from-to)2-11
Number of pages10
JournalACM SIGPLAN Notices
Volume41
Issue number7
DOIs
Publication statusPublished - 2006 Jul
Externally publishedYes

Subject classification (UKÄ)

  • Control Engineering

Free keywords

  • Flash Memory
  • Incremental Software Update

Fingerprint

Dive into the research topics of 'Feedback linking: Optimizing object code layout for updates'. Together they form a unique fingerprint.

Cite this