Proyek elk mengembangkan mesin JavaScript ringkas untuk mikrokontroler

Rilis baru mesin JavaScript elk 2.0.9 telah tersedia, ditujukan untuk digunakan pada sistem dengan sumber daya terbatas seperti mikrokontroler, termasuk papan ESP32 dan Arduino Nano dengan RAM 2KB dan Flash 30KB. Untuk mengoperasikan mesin virtual yang disediakan, memori 100 byte dan ruang penyimpanan 20 KB sudah mencukupi. Kode proyek ditulis dalam bahasa C dan didistribusikan di bawah lisensi GPLv2. Untuk membangun proyek, kompiler C sudah cukup - tidak ada ketergantungan tambahan yang digunakan. Proyek ini sedang dikembangkan oleh pengembang sistem operasi untuk perangkat IoT Mongoose OS, mesin JavaScript mJS dan server web Mongoose tertanam (digunakan dalam produk dari perusahaan seperti Siemens, Schneider Electric, Broadcom, Bosch, Google, Samsung dan Qualcomm ).

Tujuan utama Elk adalah membuat firmware untuk mikrokontroler dalam JavaScript yang melakukan berbagai tugas otomatisasi. Mesin ini juga cocok untuk menyematkan penangan JavaScript ke dalam aplikasi C/C++. Untuk menggunakan mesin dalam kode Anda, cukup tempatkan file elk.c di pohon sumber, sertakan file header elk.h dan gunakan panggilan js_eval. Diperbolehkan memanggil fungsi yang ditentukan dalam kode C/C++ dari skrip JavaScript, dan sebaliknya. Kode JavaScript dieksekusi di lingkungan terlindungi yang diisolasi dari kode utama menggunakan penerjemah yang tidak menghasilkan bytecode dan tidak menggunakan alokasi memori dinamis.

Elk mengimplementasikan sebagian kecil dari spesifikasi Ecmascript 6, tetapi cukup untuk membuat skrip yang berfungsi. Secara khusus, ia mendukung serangkaian operator dan tipe dasar, tetapi tidak mendukung array, prototipe, ekspresi ini, baru, dan hapus. Diusulkan untuk menggunakan let sebagai pengganti var dan const, dan while sebagai pengganti do, switch dan for. Tidak ada perpustakaan standar yang disediakan, mis. tidak ada objek Tanggal, Regexp, Fungsi, String dan Angka.

Sumber: opennet.ru

Tambah komentar