Compiling java for low-end embedded systems

Ulrik Pagh Schultz, Kim Burgaard, Flemming Gram Christensen, Jørgen Lindskov Knudsen
2003 SIGPLAN notices  
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
more » ... nalyze the execution overheads of using object-oriented 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.
doi:10.1145/780731.780739 fatcat:5nsmjk7p7zfhpf3lqimtiz6e3i