Bare-metal эмулятор MSX2+ для ESP32-S3 предлагает собственную реализацию VGA через LCD_CAM и оптимизации Z80

Проект с открытым исходным кодом S3-MSX-PC Ивана Сварковского реализует bare-metal эмулятор MSX2+, работающий на микроконтроллере ESP32-S3 и выводящий 64-цветное VGA через простую резисторную лестницу R-2R. Это форк эмулятора Retro-Go для ODROID-GO и других устройств на ESP32, но с различными оптимизациями.

Он был протестирован на стандартной плате ESP32-S3 с одним ядром, обрабатывающим игровую логику, и другим — вывод видео и аудио. VGA реализован через хитроумную резисторную сеть, преобразующую цифровые данные в аналоговый сигнал, понятный любому старому монитору, в то время как аудио основано на сигма-дельта модуляции с многоступенчатым PDM-фильтром. Порт USB Host на плате позволяет подключать клавиатуру.

Читать далее «Bare-metal эмулятор MSX2+ для ESP32-S3 предлагает собственную реализацию VGA через LCD_CAM и оптимизации Z80»

Выпущен ESPHome 2026.5.0 с новым ESPHome Device Builder (бета), оптимизациями производительности и памяти

Только что вышел ESPHome 2026.5.0 с бета-версией нового веб-приложения ESPHome Device Builder, которое заменяет устаревшую встроенную панель управления на полноценный редактор конфигурации, очередь задач прошивки, массовые действия с множественным выбором, метки и области, обнаружение рассинхронизации, поиск по конфигурациям, распределённые сборки и нормальный интерфейс настроек.

Читать далее «Выпущен ESPHome 2026.5.0 с новым ESPHome Device Builder (бета), оптимизациями производительности и памяти»

Исследование сравнивает языки Rust и C для разработки встраиваемого ПО

Вокруг языка программирования Rust много шумихи, и я вижу, как его внедряют в различных проектах, не в последнюю очередь в ядре Linux. Однако до сих пор мне было неясно, подходит ли он для разработки встраиваемого ПО, поскольку аппаратные ресурсы микроконтроллеров ограничены. Требуется малый объём памяти и хранилища, а также может быть важна оптимальная производительность, например, для снижения энергопотребления устройств с батарейным питанием.

Исследование Корнелльского университета под названием «Lessons from an Industrial Microcontroller Use Case with Ariel OS» пытается ответить на этот вопрос с помощью встраиваемых C и Rust, и вывод таков: Rust — жизнеспособный вариант.

Читать далее «Исследование сравнивает языки Rust и C для разработки встраиваемого ПО»

Напоминание: включите ZRAM в своей системе Linux для оптимизации использования оперативной памяти (и потенциальной экономии средств)

В связи с тем, что цены на оперативную память выходят из-под контроля, возможно, стоит напомнить пользователям Linux включить ZRAM, чтобы получить лучшую производительность без обновления памяти или сэкономить на следующем одноплатном компьютере, выбрав плату с подходящим объемом памяти.

Читать далее «Напоминание: включите ZRAM в своей системе Linux для оптимизации использования оперативной памяти (и потенциальной экономии средств)»

Linux 7.0 выпущена – Основные изменения, архитектуры Arm, RISC-V и MIPS

Линус Торвальдс только что анонсировал выпуск Linux 7.0 в LKML :

Последняя неделя цикла выпуска продолжила ту же тенденцию «множества мелких исправлений», но всё это действительно выглядит довольно безобидно, поэтому я пометил финальную версию 7.0 и выложил её.

Читать далее «Linux 7.0 выпущена – Основные изменения, архитектуры Arm, RISC-V и MIPS»

wolfIP – открытый, легковесный стек TCP/IP без динамического выделения памяти для встроенных систем

Более известная своей библиотекой wolfSSL SSL/TLS с открытым исходным кодом, компания wolfSSL выпустила стек wolfIP — открытый, легковесный стек TCP/IP без динамического выделения памяти (например, без вызовов malloc), предназначенный для ресурсо-ограниченных встроенных систем.

Компания подчеркивает, что wolfIP «поддерживает как режим конечной точки, так и полную поддержку нескольких интерфейсов с опциональной IP-маршрутизацией. По умолчанию он работает как сетевая конечная точка, но может быть сконфигурирован для передачи трафика между несколькими сетевыми интерфейсами».

Читать далее «wolfIP – открытый, легковесный стек TCP/IP без динамического выделения памяти для встроенных систем»

Фреймворк ESP-IDF v6.0 добавляет поддержку ESP32-C5 и ESP32-C61, предварительную поддержку для ESP32-H21 и ESP32-H4

Компания Espressif Systems выпустила фреймворк ESP-IDF v6.0 несколько дней назад со стабильной поддержкой ESP32-C5 и ESP32-C61 микроконтроллеров, а также предварительной поддержкой ESP32-H21 и ESP32-H4 энергоэффективных беспроводных микроконтроллеров.

Фреймворк также реализует новый менеджер установки ESP-IDF (EIM) для упрощения установки ESP-IDF, использует облегченную библиотеку Picolibc C, добавляет обновления безопасности и инструментов, несколько улучшений Wi-Fi, а также возможность обновления загрузчика по воздуху.

Читать далее «Фреймворк ESP-IDF v6.0 добавляет поддержку ESP32-C5 и ESP32-C61, предварительную поддержку для ESP32-H21 и ESP32-H4»

ESPHome 2026.1.0 оптимизирует использование памяти на ESP32/ESP8266, добавляет поддержку Zigbee на nRF52, роуминг Wi-Fi и многое другое

Прошивка с открытым исходным кодом ESPHome 2026.1.0 только что выпущена с новыми функциями, такими как автоматический роуминг Wi-Fi и поддержка Zigbee для платформ Nordic Semi nRF52, а также оптимизация памяти для аппаратного обеспечения ESP32/ESP8266, среди множества других изменений.

Другие значительные изменения включают обновления безопасности: проект заменил аутентификацию по паролю API на шифрование API и требует аутентификацию SHA256 для OTA-обновлений, улучшенную поддержку конфигураций с не-ASCII символами, а также обновления для платформ LibreTiny (BK72xx, RTL87xx, LN882x), которые получили потокобезопасный Wi-Fi, атомарные операции и поддержку глубокого сна.

Читать далее «ESPHome 2026.1.0 оптимизирует использование памяти на ESP32/ESP8266, добавляет поддержку Zigbee на nRF52, роуминг Wi-Fi и многое другое»