O projeto elk desenvolve um mecanismo JavaScript compacto para microcontroladores

Uma nova versão do mecanismo JavaScript elk 2.0.9 está disponível, destinada ao uso em sistemas com recursos limitados, como microcontroladores, incluindo placas ESP32 e Arduino Nano com 2 KB de RAM e 30 KB de Flash. Para operar a máquina virtual fornecida, são suficientes 100 bytes de memória e 20 KB de espaço de armazenamento. O código do projeto é escrito em linguagem C e distribuído sob a licença GPLv2. Para construir o projeto, basta um compilador C - nenhuma dependência adicional é usada. O projeto está sendo desenvolvido pelos desenvolvedores do sistema operacional para dispositivos IoT Mongoose OS, do motor mJS JavaScript e do servidor web embarcado Mongoose (usado em produtos de empresas como Siemens, Schneider Electric, Broadcom, Bosch, Google, Samsung e Qualcomm ).

O principal objetivo do Elk é criar firmware para microcontroladores em JavaScript que executam diversas tarefas de automação. O mecanismo também é adequado para incorporar manipuladores JavaScript em aplicativos C/C++. Para usar o mecanismo em seu código, basta colocar o arquivo elk.c na árvore de origem, incluir o arquivo de cabeçalho elk.h e usar a chamada js_eval. É permitido chamar funções definidas em código C/C++ a partir de scripts JavaScript e vice-versa. O código JavaScript é executado em um ambiente protegido e isolado do código principal por meio de um interpretador que não gera bytecode e não utiliza alocação dinâmica de memória.

Elk implementa um pequeno subconjunto da especificação Ecmascript 6, mas suficiente para criar scripts de trabalho. Em particular, suporta um conjunto básico de operadores e tipos, mas não suporta matrizes, protótipos, ou expressões this, new e delete. Propõe-se usar let em vez de var e const, e while em vez de do, switch e for. Nenhuma biblioteca padrão fornecida, ou seja, não existem objetos Date, Regexp, Function, String e Number.

Fonte: opennet.ru

Adicionar um comentário