NanoVM

NanoVM

NanoVM
Basisdaten

Entwickler Till Harbaum
Aktuelle Version 1.6
(8. Juli 2007)
Programmier­sprache C
Lizenz GPL (Freie Software)
harbaum.org/till/nanovm

NanoVM ist eine freie Implementierung einer besonders ressourcenschonenden Java Virtual Machine (JVM) für Atmel-AVR-Mikrocontroller (MCU).

Zur eigentlichen virtuellen Maschine gehört auch ein Konvertierungswerkzeug, das der notwendigen Konvertierung von gewöhnlichen Java-Klassendateien für die Verwendung mit der NanoVM dient.

Die NanoVM benötigt in der kleinsten Version nur 8 kByte an Programmspeicher und nur 256 Byte Arbeitsspeicher. Aufgrund der geringen Anforderungen an die Systemressourcen des Wirtssystems gehört die NanoVM zu den kleinsten verfügbaren Java Machines und ist bereits auf einem ATmega8 lauffähig. Es implementiert dazu nur einen Ausschnitt der Programmiersprache Java. Die NanoVM bietet nur die Sprache Java, nicht aber die System-Bibliothek (JDK). Der Einsatz der NanoVM ist auch auf anderen 8-Bit-MCUs der AVR-Reihe möglich. Sie wurde auf die Roboterbausätze Nibo und NIBObee portiert, die auch offiziell unterstützt werden. Andere Mikrocontroller als die AVR-Controller werden bisher nicht offiziell unterstützt. NanoVM ist für den Einsatz von kleinen eingebetteten Systemen bestens geeignet, die damit per Java-Bytecode gesteuert werden können.

Die Universität Duisburg-Essen setzte die JVM z. B. beim c’t Bot, einem Roboter-Projekt der Computerzeitschrift c’t, ein. Das Projekt ASURO war der erste Roboter, der NanoVM einsetzte.

Die Version 1.1 wurde im September 2005 veröffentlicht, die aktuelle Version 1.6 vom 8. Juli 2007.

Implementierte Java-Klassen

In NanoVM sind folgende Java-Klassen implementiert:

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

Content Disclaimer

Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.

  1. The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
  2. There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
  3. It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
  4. Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
  5. Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.