NanoVM: Java Wirtual Machine for Atmel AVR ATmega8/ATmega832

Posted on

Java programming for microcontroller chips, With the NanoVM, the microcontroller can be programmed in the popular Java language using the standard Sun JDK.
NanoWM Atmel Microcontroller Java Virtual Machine

NanoVM is a open-source implementation of the Java virtual machine. The NanoVM was initially developed to run on the Atmel AVR ATmega8 utilized in the Asuro Robot. It was ported to run on the C’t-Bot and the Nibo-robot and can easily be ported to other AVR-based systems.

The virtual machine uses almost 8 kilobytes of code memory (entire flash in case of ATmega8) and 256 bytes of RAM. Each and every user’s .class are processed by NanoVM’s Converter which transforms it into 1 bytecode file. Unique tools next send this file via serial line into device. For this operation is valuable NanoVM’s bootloader (alternatively you are able to use ISP programmer like: PonyProg) which store this content on-chip EEPROM.

NanoVM is not a full featured Java VM and it will never be.  It will constantly be limited to a tiny subset of the java language along with the regular java libraries plus a few application certain strategies. Furthermore, it really is not meant to replace C as the standard way of programming microcontrollers. It is much less flexible and has a lower performance than C or assembler programs.

The NanoVM is actually a method to present a limited but controllable programming interface to a microcontroller based device. With most of essentially the most hardware specific code being portion of the NanoVM itself, the user can focus on the application itself. If a user is given a device equipped using the NanoVM he is not needed to consider the hardware itself. Moreover, he does not need any target distinct compilers or the like. All he wants is a standard java compiler as well as the NanoVMTool which itself is written in java. Thus, the whole development chain works on any device that has a java compiler and can run java code. Using the hardware abstraction the NanoVM gives, the user doesn’t even have to care about the microcontroller type the target is based on. The very same java compiler as well as the identical NanoVMTool could be used with any NanoVM based program running on any sort of microontroller.

NanoWM documentation and download area: go to this page

Gravatar Image
Robotics Technology , Tutorial and News

Leave a Reply

Your email address will not be published. Required fields are marked *