Normal view

vm5277: Java-синтаксис и ООП для 8-бит МК без оверхеда

Java-синтаксис на 8-битных микроконтроллерах? Без виртуальной машины?

Исторически в эмбеддеде правит Си. Но Си — это вечные malloc/free, утечки памяти, выходы за границы массива и дебаг с осциллографом.

Я разрабатываю vm5277 — монолитный тулкит и язык J8B с Java-подобным синтаксисом. Он компилирует строгий ООП-код напрямую в нативный, оптимизированный ассемблер.

Что под капотом:

Управление памятью: через Reference Counting (new без free и без Garbage Collector).

Полиморфизм интерфейсов: спрятан во Flash (без оверхеда в ОЗУ).

Типы данных: встроенный 16-битный примитив fixed (Q7.8) вместо тяжелого float.

Оптимизация: тотальный Dead Code Elimination (в прошивку идет только то, что реально вызвано).

Проект в стадии суровой Альфы. Код открыт на GitHub, десятки примеров (от мигания диодом до драйверов периферии).

Читать далее

Собираем рабочее место для 3D-офиса: мышь, клавиатура и кое-что еще

Недавно я рассказывал, как переносил рабочее место в виртуальную реальность. Коротко напомню, зачем: летом в кабинете становится жарко, а в другой комнате есть кондиционер. Поэтому хотелось оставить основной компьютер на месте и уходить работать туда, где прохладнее. Сделать это можно при помощи очков виртуальной реальности и соответствующего софта. После экспериментов с платным приложением Immersed я остановился на связке Windows App и Mixed Reality Link. Она позволяет оставить мини-ПК Khadas Mind 2 в кабинете, надеть Quest 3 в другой комнате и получить перед глазами несколько виртуальных мониторов.

С программной частью вопрос на этом более или менее закрылся, но ведь нужны еще и аксессуары. Обычные мышь и клавиатура, подключенные к компьютеру, из соседней комнаты уже не помогут, поэтому устройства ввода приходится связывать непосредственно с VR-очками. Я собрал отдельный комплект именно для виртуального кабинета. В него вошли складная ProtoArc XK01 TP со встроенным тачпадом и компактная мышь Logi M240. Все это с подключением по Bluetooth. Обо всем этом и расскажу. А еще — о недостатках такой организации рабочего места. Что ж, давайте разбираться.

Читать далее
❌