Раньше программирование микроконтроллера делалось на C, но в последние годы языки высокого уровня, такие как Python и JavaScript, сделали свои версии языков для микроконтроллеров , такими как MicroPython или Espruino (JS) они подходят для STMicro STM32 ARM Cortex M, но и поддерживают и другие платформы , такие как ESP8266.
На Embedded Linux Conference Europe 2016, я обнаружил , что Samsung работал на собственной реализации движка JavaScript для Интернета вещей: JerryScript. Это полная реализация ECMAScript 5.1 стандарта написанная на C , который может работать на микроконтроллерах с менее чем 64 КБ оперативной памяти, и меньше , чем 200KB памяти (160KB след с ARM Thumb-2 компиляции).
JerryScript состоит из двух основных компонентов: парсера и виртуальной машины (VM), с синтаксическим анализатором выполняющим перевод входного приложения ECMAScript в байт-код, который затем выполняется на виртуальной машине, которая выполняет интерпретацию.
Хотя JerryScript предназначен для микроконтроллеров, и, как говорят, работает на сотни тысяч умных часов, вы можете легко создать его и попробовать в любой машине под управлением ОС Linux:
1 2 3 4 5 6 |
git clone https://github.com/Samsung/jerryscript.git cd jerryscript python tools/build.py ./build/bin/jerry jerry> print ('Hello, World!'); Hello, World! |
Вы также можете скомпилировать код для полной, компактной или минимальной реализации, использовав C API ,чтобы интегрировать поддержку JavaScript в вашу программу, и т.д … Более подробную информацию можно найти на веб – сайте JerryScript и Github репозитории . JerryScript также используется в IoT.js рамках , которые в настоящее время работают на Linux и RTOS NuttX платформах, а также STM32F4-Discovery + “BB” (Beaglebone Black?) И Raspberry Pi 2, и в скором времени будет портирована на платы Samsung Artik 1 (MIPS), STM32F429-Discovery, STM32F411-Nucleo и Intel Edisson.
Благодарим сайт cnx-software.com за предоставленную информацию
Оригинал статьи тут