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.
- IAR Systems AB. IAR Embedded Workbench for ARM. http://www.iar.com.Google Scholar
- Bitfone. FOTA takes flight. http://www.bitfone.com, 2006.Google Scholar
- Brenda S. Baker, Udi Manber and Robert Muth. Compressing differences of executable code. In ACM SIGPLAN Workshop on Compiler Support for System Software (WCSS), pages 1--10, 1999.Google Scholar
- David Seal (ed.). ARM Architecture Reference Manual. Addison-Wesley, second edition, 2001. Google Scholar
Digital Library
- M. R. Garey, R. L. Graham, and J. D. Ullman. Worst-case analysis of memory allocation algorithms. In STOC '72: Proceedings of the fourth annual ACM symposium on Theory of computing, pages 143--150, New York, NY, USA, 1972. ACM Press. Google Scholar
Digital Library
- U.I. Gupta, D.T. Lee, and J Y-T Leung. Efficient algorithms for interval graphs and circular-arc graphs. Networks, 12(4):459--467, 1982.Google Scholar
Cross Ref
- Innopath. Innopath firmware manager. http://www.innopath.com, 2006.Google Scholar
- Intel. Intel flash memory documentation. http://www.intel.com/design/flash/datashts/.Google Scholar
- John R. Levine. Linkers and Loaders. Morgan Kaufmann Publishers Inc., San Francisco, CA, USA, 1999. Google Scholar
Digital Library
- J. MacDonald. Versioned file archiving, compression, and distribution. http://www.cs.berkeley.edu/~jmacd/, 1999.Google Scholar
- Micron. NOR flash memory. http://www.micron.com/products/nor/.Google Scholar
- mpg123. http://sourceforge.net/projects/mpg123.Google Scholar
- Colin Percival. Naive differences of executable code. http://www.daemonology.net/bsdiff/.Google Scholar
- Larry Stockmeyer Randall Burns and Darrel D.E. Long. In-place reconstruction of version differences. IEEE Transaction on Knowledge and Data Engineering, 15(4):973--984, July/August 2003. Google Scholar
Digital Library
- Red Bend Software. Addressing the challenges of updating software and firmware on mobile phones over the air. http://www.redbend.com, 2005.Google Scholar
Index Terms
Feedback linking: optimizing object code layout for updates
Recommendations
Write Activity Minimization for Nonvolatile Main Memory Via Scheduling and Recomputation
Nonvolatile memories such as Flash memory, phase change memory (PCM), and magnetic random access memory (MRAM) have many desirable characteristics for embedded systems to employ them as main memory. However, there are two common challenges we need to ...
NVMRA: utilizing NVM to improve the random write operations for NAND-flash-based mobile devices
NAND flash memory has become the major storage media in mobile devices, such as smartphones. However, the random write operations of NAND flash memory heavily affect the I/O performance, thus seriously degrading the application performance in mobile ...
Flash-optimized B+-tree
With the rapid increasing capacity of flash memory, flash-aware indexing techniques are highly desirable for flash devices. The unique features of flash memory, such as the erase-before-write constraint and the asymmetric read/write cost, severely ...






Comments