Qhov project elk tsim lub tshuab ua kom zoo JavaScript rau microcontrollers

Kev tso tawm tshiab ntawm elk 2.0.9 JavaScript cav muaj, tsom rau kev siv ntawm cov peev txheej-txheej txheem xws li microcontrollers, suav nrog ESP32 thiab Arduino Nano boards nrog 2KB RAM thiab 30KB Flash. Txhawm rau khiav lub tshuab virtual, 100 bytes ntawm lub cim xeeb thiab 20 KB ntawm qhov chaw cia txaus. Txoj haujlwm code yog sau ua lus C thiab muab faib raws li GPLv2 daim ntawv tso cai. Txhawm rau tsim qhov project, C compiler txaus - tsis muaj kev cuam tshuam ntxiv. Txoj haujlwm no yog tsim los ntawm cov neeg tsim khoom ntawm kev khiav hauj lwm rau IoT li Mongoose OS, mJS JavaScript cav thiab embedded Mongoose web server (siv hauv cov khoom los ntawm cov tuam txhab xws li Siemens, Schneider Electric, Broadcom, Bosch, Google, Samsung thiab Qualcomm. ).

Lub hom phiaj tseem ceeb ntawm Elk yog tsim firmware rau microcontrollers hauv JavaScript uas ua ntau yam haujlwm automation. Lub cav tseem tsim nyog rau embedding JavaScript handlers rau hauv C / C ++ daim ntawv thov. Txhawm rau siv lub cav hauv koj tus lej, cia li tso cov ntaub ntawv elk.c rau hauv cov ntoo, suav nrog cov ntaub ntawv elk.h header thiab siv js_eval hu. Nws raug tso cai hu ua haujlwm tau teev tseg hauv C / C ++ code los ntawm JavaScript scripts, thiab rov ua dua. JavaScript code raug tua nyob rau hauv ib puag ncig tiv thaiv cais los ntawm lub ntsiab code siv tus txhais lus uas tsis tsim bytecode thiab tsis siv dynamic nco faib.

Elk siv ib qho me me ntawm Ecmascript 6 specification, tab sis txaus rau kev tsim cov ntawv sau ua haujlwm, tshwj xeeb, nws txhawb cov txheej txheem ntawm cov neeg ua haujlwm thiab hom, tab sis tsis txhawb nqa arrays, prototypes, lossis qhov no, tshiab, thiab tshem tawm cov kab lus. Nws tau thov kom siv let es tsis txhob var thiab const, thiab thaum es tsis txhob ua, hloov thiab rau. Tsis muaj cov tsev qiv ntawv txheem muab, i.e. tsis muaj hnub, Regexp, Function, String thiab Number khoom.

Tau qhov twg los: opennet.ru

Ntxiv ib saib