VM5277: Универсальная платформа для embedded-разработки

Java-подобный язык + RTOS + кросс-платформенные драйверы для 8-битных МК


Проблемы существующих решений

Существующие решения (Arduino, MicroPython) не обеспечивают:

Arduino и MicroPython, несмотря на популярность, имеют ограничения для кросс-платформенной разработки под 8-битные МК:

Цель работы

Создание ООП языка программирования с упрощенным синтаксисом Java

Особенности языка:

Пример класса для GPIO:

class Led {
    private byte pin;
    public Led(byte pin) { this.pin = pin; }
    public void on() { HAL.GPIO.write(pin, HIGH);}
}

Поддержка 8-бит микроконтроллеров различных производителей с единым кодом

Поддерживаемые архитектуры:

Реализация ядер RTOS (для каждого семейства микроконтроллеров) с унифицированным API

Функционал:

Реализация базовых драйверов HAL, PAL

Другие ключевые функции

Технологический задел

Использование накопленного опыта

В проекте будут применены(и частично улучшены) решения и архитектурные подходы, отработанные в предыдущих разработках:

JAVRA - Ассемблер для AVR

github.com/w5277c/javra

CORE5277 - RTOS на ассемблере

github.com/w5277c/core5277

Текущий статус разработки

Активная разработка компилятора (альфа-версия)

Репозиторий проекта: github.com/w5277c/vm5277

Реализованные компоненты:

Ближайшие задачи

Этап Задачи Срок
Ядро компилятора
  • Оптимизация AST
  • Генерация промежуточного кода
Q3 2025
RTOS Core
  • Планировщик задач для AVR
  • Базовые драйверы HAL
Q4 2025
Кросс-платформенность
  • Поддержка PIC/STM8
  • Унифицированные API
Q1 2026

Инструментальная поддержка в 2024

В виде фоновой задачи, для удобства разработки планируется реализация LSP-сервера с:

По вопросам обращайтесь на Email: konstantin@5277.ru