Il progetto elk sviluppa un motore JavaScript compatto per microcontrollori

È disponibile una nuova versione del motore JavaScript elk 2.0.9, destinata all'uso su sistemi con risorse limitate come i microcontrollori, comprese le schede ESP32 e Arduino Nano con 2KB di RAM e 30KB di Flash. Per utilizzare la macchina virtuale fornita sono sufficienti 100 byte di memoria e 20 KB di spazio di archiviazione. Il codice del progetto è scritto in linguaggio C e distribuito sotto licenza GPLv2. Per costruire il progetto è sufficiente un compilatore C: non vengono utilizzate dipendenze aggiuntive. Il progetto è stato sviluppato dagli sviluppatori del sistema operativo per dispositivi IoT Mongoose OS, del motore JavaScript mJS e del server web integrato Mongoose (utilizzato in prodotti di aziende come Siemens, Schneider Electric, Broadcom, Bosch, Google, Samsung e Qualcomm ).

Lo scopo principale di Elk è creare firmware per microcontrollori in JavaScript che eseguono varie attività di automazione. Il motore è adatto anche per incorporare gestori JavaScript in applicazioni C/C++. Per utilizzare il motore nel tuo codice, inserisci semplicemente il file elk.c nell'albero dei sorgenti, includi il file di intestazione elk.h e usa la chiamata js_eval. È consentito chiamare funzioni definite nel codice C/C++ da script JavaScript e viceversa. Il codice JavaScript viene eseguito in un ambiente protetto isolato dal codice principale utilizzando un interprete che non genera bytecode e non utilizza l'allocazione dinamica della memoria.

Elk implementa un piccolo sottoinsieme della specifica Ecmascript 6, ma sufficiente per creare script funzionanti. In particolare, supporta un insieme base di operatori e tipi, ma non supporta array, prototipi, espressioni this, new ed delete. Si propone di utilizzare let invece di var e const, e while invece di do, switch e for. Nessuna libreria standard fornita, ad es. non esistono oggetti Date, Regexp, Function, String e Number.

Fonte: opennet.ru

Aggiungi un commento