Elk-projektet udvikler en kompakt JavaScript-motor til mikrocontrollere

En ny udgivelse af elk 2.0.9 JavaScript-motoren er tilgængelig, rettet mod brug på ressourcebegrænsede systemer såsom mikrocontrollere, inklusive ESP32 og Arduino Nano-kort med 2KB RAM og 30KB Flash. For at betjene den medfølgende virtuelle maskine er 100 bytes hukommelse og 20 KB lagerplads tilstrækkeligt. Projektkoden er skrevet på C-sprog og distribueres under GPLv2-licensen. For at bygge projektet er en C-compiler nok - ingen yderligere afhængigheder bruges. Projektet udvikles af udviklerne af operativsystemet til IoT-enheder Mongoose OS, mJS JavaScript-motoren og den indlejrede Mongoose-webserver (bruges i produkter fra virksomheder som Siemens, Schneider Electric, Broadcom, Bosch, Google, Samsung og Qualcomm ).

Hovedformålet med Elk er at skabe firmware til mikrocontrollere i JavaScript, der udfører forskellige automatiseringsopgaver. Motoren er også velegnet til at indlejre JavaScript-handlere i C/C++-applikationer. For at bruge motoren i din kode skal du blot placere elk.c-filen i kildetræet, inkludere elk.h-header-filen og bruge js_eval-kaldet. Det er tilladt at kalde funktioner defineret i C/C++ kode fra JavaScript scripts og omvendt. JavaScript-kode udføres i et beskyttet miljø isoleret fra hovedkoden ved hjælp af en fortolker, der ikke genererer bytekode og ikke bruger dynamisk hukommelsesallokering.

Elk implementerer en lille delmængde af Ecmascript 6-specifikationen, men tilstrækkelig til at skabe arbejdsscripts. Især understøtter den et grundlæggende sæt af operatorer og typer, men understøtter ikke arrays, prototyper, dette, nye og slette-udtryk. Det foreslås at bruge let i stedet for var og const, og mens i stedet for do, switch og for. Intet standardbibliotek til rådighed, dvs. der er ingen sådanne Dato-, Regexp-, Function-, String- og Number-objekter.

Kilde: opennet.ru

Tilføj en kommentar