Пример с миганием простого светодиода с задержкой из цикла (i=10000; while(--i)) дает частоту мигания:
AVR gcc -o2 16 Mhz ~ 0.4~0.5 гц
STM8S0 — iar -os 16 Mhz ~ 0.3~0.4 гц
STM32F0 keil -o3 96 Mhz ~ 10 гц
Все это «очень» на глаз. Так что ближе всего ответ «хз».
Очень много зависит от архитектуры хост-проца, килограмма оптимизаций, итд.
В целом медленно, но если требуется описать алгоритм «работы с пользователем» этого оказалось достаточно.
Да можно все, если вы можете это себе представить.
А по делу, это «все» влазит в 5кб на AVR. Скриптовый интерпретатор, имхо, будет больше.
К примеру Cesanta V7 JS, ест значительно больше.
Micropython думаю тоже значительно больше 5кб, так как для его запуска используют stm32f4
Задача стояла унифицировать куски кода на разных платформах. В данный момент один и тот же код отлично работает как на stm32f030 так и на atmega8 и stm8s003. Разница лишь в скорости.
В виртуалке главное ядро процессора, а обвязку вы сами можете описать. Скажем, просто переназначив адресное пространство виртуалки на регистры хардварного таймера. Разные задачи — разная периферия.
К примеру я использую драйвера дисплея и i2c на хост машине, а пользуюсь ими на виртуалке. При том i2c сугубо софтовый.
И это, в целом, касается любого проекта. Скажем именно так в smart.js (esp8266) выполнены модули того же i2c или gpio.
Пример с миганием простого светодиода с задержкой из цикла (i=10000; while(--i)) дает частоту мигания:
Все это «очень» на глаз. Так что ближе всего ответ «хз».
Очень много зависит от архитектуры хост-проца, килограмма оптимизаций, итд.
В целом медленно, но если требуется описать алгоритм «работы с пользователем» этого оказалось достаточно.
А по делу, это «все» влазит в 5кб на AVR. Скриптовый интерпретатор, имхо, будет больше.
К примеру Cesanta V7 JS, ест значительно больше.
Micropython думаю тоже значительно больше 5кб, так как для его запуска используют stm32f4
Задача стояла унифицировать куски кода на разных платформах. В данный момент один и тот же код отлично работает как на stm32f030 так и на atmega8 и stm8s003. Разница лишь в скорости.
К примеру я использую драйвера дисплея и i2c на хост машине, а пользуюсь ими на виртуалке. При том i2c сугубо софтовый.
И это, в целом, касается любого проекта. Скажем именно так в smart.js (esp8266) выполнены модули того же i2c или gpio.