Skip to content
This repository was archived by the owner on Jan 14, 2026. It is now read-only.

VohminV/ESP32Emulator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 

Repository files navigation

ESP32 Emulator

Эмулятор микроконтроллера ESP32 с графическим интерфейсом на Qt. Позволяет разрабатывать, отлаживать и визуализировать поведение встроенных приложений без физического устройства.


🔹 Основные возможности

  • Графический интерфейс на Qt 6

    • Панель управления: Start, Stop, Step
    • Вкладка Code — редактор с подсветкой синтаксиса C++ и файловой структурой проекта
    • Вкладка Schematic — визуальное проектирование схемы (в разработке)
    • Док-панель Protocol Log — вывод логов эмуляции
    • Док-панель Registers & Memory — инспекция состояния CPU и памяти
  • Ядро эмулятора на C++

    • Цикл эмуляции с тактовой точностью (APB = 80 МГц)
    • Поддержка двухъядерной архитектуры Xtensa LX6 (PRO_CPU / APP_CPU)
    • Динамическая карта памяти с регионами IRAM, DRAM, IROM, DROM
    • Загрузка прошивок в формате ELF
    • Модель периферии с временным поведением (UART, таймеры и др.)
    • Планировщик событий для асинхронных операций
  • Управление проектами

    • Создание нового ESP32-проекта через контекстное меню
    • Автоматическая генерация стандартной структуры (src/main.cpp, include/)
    • Работа с файловой системой проекта: создание файлов и папок, редактирование с автосохранением

🔹 Структура проекта

ESP32Emulator/
├─ src/
│  ├─ main.cpp
│  ├─ mainwindow.h/cpp/ui
│  ├─ emulatorcore.h/cpp
│  ├─ xtensacpu.h/cpp
│  ├─ memorymap.h/cpp
│  ├─ firmwareloader.h/cpp
│  ├─ peripheralcomponent.h/cpp
│  └─ cpphighlighter.h/cpp
├─ fritzing-parts/          # библиотека компонентов для схемы
├─ CMakeLists.txt           # или .pro — в зависимости от сборки
└─ README.md

🔹 Быстрый старт

  1. Установите Qt 6.x с MinGW 64-bit.
  2. Откройте проект в Qt Creator (CMakeLists.txt или .pro).
  3. Соберите и запустите.
  4. Создайте новый проект через контекстное меню → New Project.
  5. Используйте кнопки Start / Stop / Step для управления эмуляцией.

🔹 Планы развития

  • Реализация полной эмуляции периферийных модулей (UART, SPI, I2C, GPIO, TIMG)
  • Поддержка OTA-обновлений и динамической переконфигурации MMU
  • Интеграция с IDF-совместимыми скетчами
  • Интерактивная схема с drag-and-drop компонентов и проводников
  • Отладчик: точки останова, просмотр стека вызовов, изменение регистров

🔹 Лицензия

Distributed under the MIT License. See LICENSE for more information.

About

ESP32Emulator — Эмулятор микроконтроллера ESP32 с визуальным интерфейсом. Проект позволяет тестировать схемы, код и взаимодействие периферии без физического устройства.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages