PreonVM
| Written in | C, Java |
|---|---|
| Engine | |
| Platform | ARM Cortex-M |
| Type | Java virtual machine |
| License | Proprietary software |
| Website | PreonVM |
Search PreonVM on Amazon.
PreonVM is an implementation of the Java virtual machine developed by Virtenio.[1] The PreonVM was initially developed to run on the Atmel AVR 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, SPI, USART, CAN, PWM, IRQ, RTC, GPIO, ADC, 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 {
public static void main(String[] args) {
// sensor is connected to I2C bus instance 1
NativeI2C i2c = NativeI2C.getInstance(1);
i2c.open();
// create and init SHT21 sensor instance
SHT21 sht21 = new SHT21(i2c);
sht21.setResolution(SHT21.RESOLUTION_RH12_T14);
sht21.reset();
// read and print humidity every second
while (true) {
sht21.startRelativeHumidityConversion();
Thread.sleep(100);
int rawRH = sht21.getRelativeHumidityRaw();
float rh = SHT21.convertRawRHToRHw(rawRH);
System.out.println("SHT21: rawRH=" + rawRH + "; RH=" + rh);
Thread.sleep(900);
}
}
}
See also
References
- ↑ "PreonVM - JavaVM for embedded systems". VIRTENIO GmbH. Archived from the original on 2019-11-05. Retrieved 2025-11-17.
External links
- PreonVM site Archived 2019-11-05 at the Wayback Machine
- 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
| This software article is a stub. You can help EverybodyWiki by expanding it. |
This article "PreonVM" is from Wikipedia. The list of its authors can be seen in its historical and/or the page Edithistory:PreonVM. Articles copied from Draft Namespace on Wikipedia could be seen on the Draft Namespace of Wikipedia and not main one.
