Compiling java for low-end embedded systems

  • Authors:
  • Ulrik Pagh Schultz;Kim Burgaard;Flemming Gram Christensen;Jørgen Lindskov Knudsen

  • Affiliations:
  • University of Aarhus, Aarhus N, Denmark;Systematic Software Engineering A/S, Aarhus C, Denmark;Mjølner Informatics A/S, Aarhus N, Denmark;Mjølner Informatics A/S, Aarhus N, Denmark

  • Venue:
  • Proceedings of the 2003 ACM SIGPLAN conference on Language, compiler, and tool for embedded systems
  • Year:
  • 2003

Quantified Score

Hi-index 0.00

Visualization

Abstract

The production of embedded systems is continuously increasing, but developing reusable software for such systems is notoriously difficult, in particular in the case of low-end embedded systems based on 16-bit or 8-bit processors. We have developed a compilation system for executing Java byte code on low-end embedded systems, and we demonstrate how this system permits object-oriented programming techniques to be used on devices with only a few hundred bytes of RAM and a few kilobytes of ROM.We analyze the execution overheads of using object-orien\-ted programming on low-end embedded systems. Based on the conclusion that memory consumption is the major obstacle, we show how the configuration features and optimizations integrated into our compiler can be used to significantly reduce memory requirements. In particular, we use a novel approach based on Java interfaces to control integration of Java programs with the hardware, and demonstrate how aggressive whole-program optimization can significantly reduce the size of the compiled program.