PreonVM
Skrivet i | C , Java |
---|---|
Plattform | ARM Cortex-M |
Typ | Java virtuell maskin |
Licens | Proprietär programvara |
Hemsida | PreonVM |
PreonVM är en implementering av den virtuella Java-maskinen utvecklad av Virtenio. PreonVM utvecklades ursprungligen för att köras på Atmel AVR ATmega256, men har porterats till ARM Cortex-M 3-system. Därför kan den virtuella datorn köras på en mikrokontroller med minst 8 kB RAM och 256 kB ROM. PreonVM kräver inget extra operativsystem och körs direkt på mikrokontrollern.
Varje klassfil i applikationen omvandlas via en ClassLinker för att ta bort alla delar av klassfiler som inte krävs. Detta gör det möjligt att minska klassens filstorlek med cirka 80 %, vilket krävs för en liten enhet. ClassLinker bygger en .vmm-fil som kombinerar alla programklassfiler i ett speciellt format som kan läsas och exekveras av PreonVM på mikrokontrollern.
Den virtuella datorn stöder alla Java-datatyper inkl. lång och dubbel, trådar, synkronisering, Sophämtning med minnesdefragmentering, undantag, systemegenskaper och IRQ/händelsesystem. PreonVM levereras med ett bibliotek med drivrutinsklasser för IO som I2C , SPI , USART , CAN , PWM , IRQ , RTC , GPIO , ADC , DAC och med drivrutiner för vissa sensorer och IC:er.
Kodexempel
Följande kodexempel använder en SHT21-sensor och läser av den relativa luftfuktigheten.
public class SHT21Demo { public static void main ( String [] args ) { // sensor är ansluten till I2C-bussinstans 1 NativeI2C i2c = NativeI2C . getInstance ( 1 ); i2c . öppna (); // skapa och starta SHT21-sensorinstans SHT21 sht21 = ny SHT21 ( i2c ); sht21 . setResolution ( SHT21 . RESOLUTION_RH12_T14 ); sht21 . återställ (); // läs och skriv ut fuktighet varje sekund while ( true ) { sht21 . startRelativeHumidityConversion (); Tråd . sömn ( 100 ); int rawRH = sht21 . getRelativeHumidityRaw (); float rh = SHT21 . omvandlaRawRHtoRHw ( råRH ); System . ut . println ( "SHT21: rawRH=" + rawRH + "; RH=" + rh ); Tråd . sömn ( 900 ); } } }
Se även
externa länkar
- PreonVM webbplats
- Handbook of Industry 4.0 och SMART Systems - nämner PreonVM som OS för WSN
- Intelligent container - använder PreonVM-styrd radiomodul
- Synkron datainsamling med trådlösa sensornätverk - nämner PreonVM som tillval
- Skalbar webbteknik för sakernas internet - nämner PreonVM för att köra CoAP-ramverket