PreonVM
   HOME

TheInfoList



OR:

PreonVM is an implementation of the
Java virtual machine A Java virtual machine (JVM) is a virtual machine that enables a computer to run Java programs as well as programs written in other languages that are also compiled to Java bytecode. The JVM is detailed by a specification that formally describes ...
developed by Virtenio. The PreonVM was initially developed to run on the
Atmel AVR AVR is a family of microcontrollers developed since 1996 by Atmel, acquired by Microchip Technology in 2016. These are modified Harvard architecture 8-bit Reduced instruction set computer, RISC single-chip microcontrollers. AVR was one of the f ...
ATmega256, but has been ported to ARM Cortex-M3 systems. Therefore the VM can run on a microcontroller with 8 kB RAM and 256 kB ROM at a minimum. The PreonVM requires no additional operating system and runs directly on the microcontroller. Every class file of the application is transformed via a ClassLinker to strip all parts of class files that is not required. This makes it possible to reduce the class file size by about 80%, which is required for a small device. The ClassLinker builds a .vmm file which combines all application class files in a special format which can be read and executed by the PreonVM on the microcontroller. The VM supports all Java data types incl. long and double, threads, synchronization, Garbage collection with memory defragmentation, exceptions, system properties and IRQ/event system. The PreonVM comes with a library of driver classes for IO like
I2C I, or i, is the ninth letter and the third vowel letter of the Latin alphabet, used in the modern English alphabet, the alphabets of other western European languages and others worldwide. Its name in English is ''i'' (pronounced ), plural ...
,
SPI SPI may refer to: Organizations * Indian Protection Service (''Serviço de Proteção ao Índio''), Brazil * Shotmed Paper Industries, an Egyptian paper manufacturers * Simulations Publications, Inc., a former US board game publisher * Sony P ...
, USART,
CAN Can may refer to: Containers * Aluminum can * Drink can * Oil can * Steel and tin cans * Trash can * Petrol can * Metal can (disambiguation) Music * Can (band), West Germany, 1968 ** ''Can'' (album), 1979 * Can (South Korean band) Other * C ...
, PWM, IRQ, RTC,
GPIO A general-purpose input/output (GPIO) is an uncommitted digital signal pin on an integrated circuit or electronic circuit (e.g. MCUs/ MPUs ) board which may be used as an input or output, or both, and is controllable by software. GPIOs have no ...
,
ADC ADC may refer to: Science and medicine * ADC (gene), a human gene * AIDS dementia complex, neurological disorder associated with HIV and AIDS * Allyl diglycol carbonate or CR-39, a polymer * Antibody-drug conjugate, a type of anticancer treatment ...
, DAC and with drivers for some sensors and IC's.


Code example

The following code examples uses an SHT21 sensor and reads the relative humidity. public class SHT21Demo


See also

* List of Java virtual machines


External links


PreonVM site

Handbook of Industry 4.0 and SMART Systems
- mentions the PreonVM as OS for WSN
Intelligent container
- uses PreonVM operated radio module
Synchronous data acquisition with wireless sensor networks
- mentions the PreonVM as option
Scalable Web Technology for the Internet of Things
- mentions the PreonVM to run the CoAP framework Java virtual machine {{Software-stub