Как стать автором
Обновить
7
0

Пользователь

Отправить сообщение
Ответ хз, не устроит? верно?

Пример с миганием простого светодиода с задержкой из цикла (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.

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность