NanoVM

from Wikipedia, the free encyclopedia
NanoVM
Basic data

developer Till Harbaum
Current  version 1.6
(July 8, 2007)
programming language C.
License GPL ( Free Software )
harbaum.org/till/nanovm

NanoVM is a free implementation of a more resource efficient Java Virtual Machine (JVM) for Atmel AVR - microcontroller (MCU).

The actual virtual machine also includes a conversion tool that is used to convert common Java class files necessary for use with the NanoVM.

The smallest version of the NanoVM requires only 8 kbytes of program memory and only 256 bytes of main memory. Due to the low demands on the system resources of the host system, the NanoVM is one of the smallest Java machines available and can already run on an ATmega8. For this purpose, it only implements a part of the Java programming language. The NanoVM only offers the Java language, but not the system library (JDK). The use of the NanoVM is also possible on other 8- bit MCUs of the AVR series. It was ported to the robot kits Nibo and NIBObee , which are also officially supported. Other microcontrollers than the AVR controllers are not officially supported so far. NanoVM is ideally suited for the use of small embedded systems that can be controlled by Java bytecode.

The University of Duisburg-Essen used the JVM z. B. the c't Bot , a robot project of the computer magazine c't . The ASURO project was the first robot to use NanoVM.

Version 1.1 was published in September 2005, the current version 1.6 on July 8, 2007.

Implemented Java classes

The following Java classes are implemented in NanoVM:

  • java / lang / Object
  • java / lang / system
  • java / io / PrintStream
  • java / lang / StringBuffer

Web links