Iyo elk purojekiti inogadzira compact JavaScript injini ye microcontrollers

Kuburitswa kutsva kweelk 2.0.9 JavaScript injini iripo, yakanangana nekushandiswa pane zviwanikwa-zvinodzora masisitimu akadai se microcontrollers, kusanganisira ESP32 uye Arduino Nano mabhodhi ane 2KB RAM uye 30KB Flash. Kushandisa muchina wakapihwa chaiwo, 100 bytes yekurangarira uye 20 KB yenzvimbo yekuchengetedza yakakwana. Iyo kodhi yeprojekiti yakanyorwa mumutauro weC uye yakagoverwa pasi peGPLv2 rezinesi. Kuvaka purojekiti, C compiler yakakwana - hapana zvimwe zvinotsamira zvinoshandiswa. Iyo purojekiti iri kuvandudzwa nevagadziri veiyo inoshanda sisitimu yeIoT zvishandiso Mongoose OS, iyo mJS JavaScript injini uye yakamisikidzwa Mongoose web server (inoshandiswa muzvigadzirwa kubva kumakambani akaita seSiemens, Schneider Electric, Broadcom, Bosch, Google, Samsung uye Qualcomm. )

Chinangwa chikuru cheElk kugadzira firmware ye microcontrollers muJavaScript inoita mabasa akasiyana-siyana otomatiki. Injini yakanakirawo kupinza JavaScript zvibatiso muC/C++ application. Kuti ushandise injini mukodhi yako, ingoisa elk.c faira mumuti wekubva, sanganisira iyo elk.h musoro faira uye shandisa iyo js_eval call. Inotenderwa kudana mabasa anotsanangurwa muC / C ++ kodhi kubva kuJavaScript zvinyorwa, uye zvinopesana. JavaScript code inotevedzwa munzvimbo yakachengetedzwa yakaparadzaniswa nekodhi huru uchishandisa muturikiri asingaburitse bytecode uye asingashandisi dynamic memory allocation.

Elk inoshandisa chikamu chidiki cheEcmascript 6, asi yakakwana pakugadzira zvinyorwa zvinoshanda.Kunyanya, inotsigira seti yekutanga yevashandisi nemhando, asi haitsigire arrays, prototypes, izvi, zvitsva, uye kudzima mazwi. Inokurudzirwa kushandisa let panzvimbo ye var uye const, uye nepo panzvimbo yekuita, chinja uye ye. Hapana raibhurari yakajairika yakapihwa, i.e. hakuna zvakadaro Date, Regexp, Function, String uye Nhamba zvinhu.

Source: opennet.ru

Voeg