Operating software "PreonVM" for Preon32 Series
|
|
||||||||||||||||||||||||
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
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 IRQs | Yes |
| CPU RTC | Yes |
| CPU Timer | Yes |
| CPU FLASH | 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 PWM | Yes |
| 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.



