German English
OEM Software

Operating software "PreonVM" for Preon32 Series

  • Virtual Machine
    • Applications programmable in Java™
    • All Java data types, including long and double
    • Unlimited number of threads
    • Thread synchronization (synchronized)
    • Garbage Collection with memory defragmentation
    • Exception handling for enhanced stability
    • Large class library including many drivers
    • System properties for configuring applications
    • Event system for handling synchronous and asynchronous events
  • Software libraries for the virtual machine
    • Run-time library (core, utilities, collections, IO, RegEx, ...)
    • Driver for IEEE 802.15.4 radio transceiver
    • Drivers for accessing Flash or RAM like memory
    • Drivers for analog signals (ADC, DAC ,...)
    • Drivers for IO (I2C, SPI, USART, CAN, ...)
    • Drivers for timers and PWM
    • Drivers for other peripherals (IRQ, RTC, GPIO, Watchdog, LED, Button, ...)
    • Routing API (AODV, ...)
    • Drivers for different sensors (SHT21, ADT7410, BH1710FVC, ITG3200, ...)
Until now it has often been the case that radio modules are equipped with minimal resources and programmed using special and less adequate languages. Implementations of complex applications were time-consuming and came with a high potential for errors. Virtenio's approach brings the comfort and security of a virtual machine into the world of small radio modules.
Figure: Illustration of the advantage of a virtual machine
namely platform independence of the application
Through the implementation of a virtual machine the application of the radio module is independent of the underlying architecture. This has the advantage that applications can run unmodified and without a manual adjustment even when for example the processor or the radio transceiver is replaced with a different type. Furthermore, the development process of the hardware and the application is decoupled. The application is developed across a virtual architecture with corresponding interfaces, which remains unchanged over time.
The virtual machine has been optimized to such an extent that applications can permanently run on even a 8/16/32-Bit microcontroller with less than 8 KB of RAM. The entire virtual machine has a memory footprint of about 60 KB with a runtime library of about 30 KB in ROM.
In order to provide the developer of complex applications in distributed embedded systems such as wireless networks an ideal starting point, the virtual machine has been supplemented by the following software components:
  • Run-time library with basic functionality
  • Driver for IEEE 802.15.4 radio transceiver
  • Drivers for data storage such as Flash, EEPROM, FRAM, ...
  • Drivers for data acquisition (GPIO, ADC, DAC, ...)
  • Drivers for other peripherals (I2C, SPI, PWM, Watchdog, ...)
With this essential things, applications can be developed quickly. Own software parts from existing Java™ applications for desktops can be used without modifying the source code. You can use your favorite development tools for Java™ to develop applications for wireless sensor networks.
Common (excerpt)
Primitive data types char, byte, short, int, long, float, double
Collections Array, List, Map, Table, Set, Vector
Streams Input, Output
Exceptions try, catch, Exception, RuntimeException
StringBuffer / StringBuilder Yes / Yes
Threads Yes, an unlimited number
Synchronized statement Yes
System properties Yes
System components of Preon32 module (internal devices)
CPU power modes Yes, (Active, Idle, Sleep, Shutdown)
CPU watchDog Yes
CPU Timer Yes
CPU Backup Register Yes
CPU ADC Yes, 2 × 12-Bit, 1 MSPS, 16 channels
CPU DAC Yes, 2 × 12-Bit
CPU I2C Yes, 1x channel up to 400 kBit/s
CPU SPI Yes, 3x channel up to 18 Mbit/s
CPU USART Yes, 3x channel synch./asynch. up to 4.5 Mbit/s
CPU CAN On request
CPU USB On request
External peripherals of Preon32
Serial Flash over SPI Yes, read/write/erase, block mode
Radio transceiver over SPI Yes, IEEE 802.15.4, Data rates of 256 KBit/s up to 2 MBit/s, Frames: Data, Beacon, Command, ACK
AES encryption in hardware Yes, 128-Bit EBC/CBC
Software for evaluation module "Preon32 Shuttle"
User button Yes
LEDs Yes, (Green, yellow, red, amber)
RS232 over USB Yes, up to 931.6 kilobaud
Software support for sensor module "VariSen"
Driver for temperature sensor Yes
Driver for light sensor Yes
Driver for humidity sensor Yes
Driver for magnetic field Yes
Driver for air pressure Yes
Driver for acceleration sensor Yes
Driver for gyro sensor Yes
Changes to technical data may have occurred after the time of publication.
Java ™ and all Java based symbols are trademarks or registered trademarks of Oracle Corporation and/or its subsidiaries in the United States or elsewhere. © Oracle Corporation.