โครงการ elk พัฒนาเอ็นจิ้น JavaScript ขนาดกะทัดรัดสำหรับไมโครคอนโทรลเลอร์

เอ็นจิ้น elk 2.0.9 JavaScript รุ่นใหม่พร้อมใช้งานแล้ว โดยมุ่งเป้าไปที่การใช้งานบนระบบที่มีทรัพยากรจำกัด เช่น ไมโครคอนโทรลเลอร์ รวมถึงบอร์ด ESP32 และ Arduino Nano พร้อม RAM 2KB และ Flash 30KB ในการใช้งานเครื่องเสมือนที่ให้มา หน่วยความจำ 100 ไบต์และพื้นที่เก็บข้อมูล 20 KB ก็เพียงพอแล้ว รหัสโครงการเขียนด้วยภาษา C และเผยแพร่ภายใต้ใบอนุญาต GPLv2 ในการสร้างโปรเจ็กต์ คอมไพเลอร์ C ก็เพียงพอแล้ว - ไม่มีการใช้การขึ้นต่อกันเพิ่มเติม โครงการนี้ได้รับการพัฒนาโดยนักพัฒนาระบบปฏิบัติการสำหรับอุปกรณ์ IoT Mongoose OS, เอ็นจิ้น mJS JavaScript และเว็บเซิร์ฟเวอร์ Mongoose แบบฝัง (ใช้ในผลิตภัณฑ์จากบริษัทต่างๆ เช่น Siemens, Schneider Electric, Broadcom, Bosch, Google, Samsung และ Qualcomm ).

วัตถุประสงค์หลักของ Elk คือการสร้างเฟิร์มแวร์สำหรับไมโครคอนโทรลเลอร์ใน JavaScript ที่ทำงานอัตโนมัติต่างๆ เอ็นจิ้นนี้ยังเหมาะสำหรับการฝังตัวจัดการ JavaScript ลงในแอปพลิเคชัน C/C++ หากต้องการใช้กลไกในโค้ดของคุณ เพียงวางไฟล์ elk.c ในแผนผังต้นทาง รวมไฟล์ส่วนหัว elk.h และใช้การเรียก js_eval อนุญาตให้เรียกใช้ฟังก์ชันที่กำหนดในโค้ด C/C++ จากสคริปต์ JavaScript และในทางกลับกัน รหัส JavaScript ดำเนินการในสภาพแวดล้อมที่ได้รับการป้องกันซึ่งแยกจากรหัสหลักโดยใช้ล่ามที่ไม่สร้างรหัสไบต์และไม่ได้ใช้การจัดสรรหน่วยความจำแบบไดนามิก

Elk ใช้ชุดย่อยเล็กๆ ของข้อกำหนด Ecmascript 6 แต่เพียงพอสำหรับการสร้างสคริปต์การทำงาน โดยเฉพาะอย่างยิ่ง รองรับชุดตัวดำเนินการและประเภทพื้นฐาน แต่ไม่รองรับอาร์เรย์ ต้นแบบ สิ่งนี้ ใหม่ และนิพจน์การลบ ขอเสนอให้ใช้ let แทน var และ const และในขณะที่แทนที่จะ do ให้ใช้ switch และ for ไม่มีไลบรารี่มาตรฐานให้ไว้ เช่น ไม่มีออบเจ็กต์ Date, Regexp, Function, String และ Number ดังกล่าว

ที่มา: opennet.ru

เพิ่มความคิดเห็น