Elk projesi mikrodenetleyiciler için kompakt bir JavaScript motoru geliştiriyor

Elk 2.0.9 JavaScript motorunun, 32KB RAM ve 2KB Flash'a sahip ESP30 ve Arduino Nano kartları da dahil olmak üzere mikrodenetleyiciler gibi kaynak açısından kısıtlı sistemlerde kullanılması amaçlanan yeni bir sürümü mevcut. Sağlanan sanal makinenin çalıştırılması için 100 byte bellek ve 20 KB depolama alanı yeterlidir. Proje kodu C dilinde yazılmıştır ve GPLv2 lisansı altında dağıtılmaktadır. Projeyi oluşturmak için bir C derleyicisi yeterlidir; hiçbir ek bağımlılık kullanılmaz. Proje, IoT cihazları için işletim sistemi geliştiricileri Mongoose OS, mJS JavaScript motoru ve yerleşik Mongoose web sunucusu (Siemens, Schneider Electric, Broadcom, Bosch, Google, Samsung ve Qualcomm gibi şirketlerin ürünlerinde kullanılır) tarafından geliştiriliyor. ).

Elk'in temel amacı, JavaScript'te çeşitli otomasyon görevlerini gerçekleştiren mikro denetleyiciler için ürün yazılımı oluşturmaktır. Motor aynı zamanda JavaScript işleyicilerini C/C++ uygulamalarına gömmek için de uygundur. Motoru kodunuzda kullanmak için elk.c dosyasını kaynak ağaca yerleştirin, elk.h başlık dosyasını ekleyin ve js_eval çağrısını kullanın. C/C++ kodunda tanımlanan işlevlerin JavaScript komut dosyalarından çağrılmasına veya bunun tersinin yapılmasına izin verilir. JavaScript kodu, bayt kodu oluşturmayan ve dinamik bellek ayırmayı kullanmayan bir yorumlayıcı kullanılarak ana koddan yalıtılmış, korumalı bir ortamda yürütülür.

Elk, Ecmascript 6 spesifikasyonunun küçük bir alt kümesini uygular, ancak çalışma komut dosyaları oluşturmak için yeterlidir. Özellikle, temel bir operatör ve tür kümesini destekler, ancak dizileri, prototipleri, this, new ve delete ifadelerini desteklemez. var ve const yerine let, do yerine ise switch ve for kullanılması önerilmektedir. Standart bir kütüphane sağlanmadı, örn. Date, Regexp, Function, String ve Number gibi nesneler yoktur.

Kaynak: opennet.ru

Yorum ekle