Le projet elk développe un moteur JavaScript compact pour microcontrôleurs.

La nouvelle version 2.0.9 du moteur JavaScript elk est disponible, conçu pour être utilisé dans des systèmes à ressources limitées, tels que les microcontrôleurs, y compris les cartes ESP32 et Arduino Nano avec 2 Ko de RAM et 30 Ko de Flash. Pour faire fonctionner la machine virtuelle fournie, il suffit de 100 octets de mémoire et de 20 Ko d'espace de stockage. Le code du projet est écrit en C et distribué sous licence GPLv2. Pour compiler le projet, un compilateur C suffit — aucune dépendance supplémentaire n'est requise. Le projet est développé par les créateurs du système d'exploitation pour les dispositifs IoT Mongoose OS, du moteur JavaScript mJS, et embarqué. serveur web Mongoose (utilisé dans les produits d'entreprises comme Siemens, Schneider Electric, Broadcom, Bosch, Google, Samsung et Qualcomm).

L'objectif principal d'Elk est de créer des firmwares pour microcontrôleurs en JavaScript, exécutant diverses tâches d'automatisation. Le moteur est également adapté pour intégrer des gestionnaires en JavaScript dans des applications en C/C++. Pour utiliser le moteur dans votre code, il suffit d'inclure le fichier elk.c dans l'arborescence du code source, de joindre le fichier d'en-tête elk.h et d'utiliser l'appel js_eval. Il est possible d'appeler depuis des scripts JavaScript des fonctions définies dans le code C/C++, et vice versa. Le code JavaScript s'exécute dans un environnement protégé et isolé du code principal à l'aide d'un interpréteur qui ne génère pas de bytecode et n'utilise pas d'allocation dynamique de mémoire.

Elk implémente un sous-ensemble petit mais suffisant de la spécification Ecmascript 6 pour créer des scénarios fonctionnels. En particulier, un ensemble de base d'opérateurs et de types est pris en charge, mais il n'y a pas de prise en charge des tableaux, prototypes, expressions this, new et delete. Il est recommandé d'utiliser let au lieu de var et const, et while au lieu de do, switch et for. Aucune bibliothèque standard n'est fournie, c'est-à-dire qu'il n'existe pas d'objets tels que Date, Regexp, Function, String et Number.

Source : opennet.ru

Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS 🔥 Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster