UART Prog — это проект, позволяющий превратить Arduino Nano/Uno (или любой микроконтроллер с UART, SPI, I2C и ≥1 КБ ОЗУ) в программатор для микросхем памяти:
SPI-Flash 25-й серии,
I2C-EEPROM 24-й серии и
Microwire EEPROM 93-й серии. Программируемые микросхемы подключаются напрямую к выводам Arduino (для 24xx EEPROM требуется подтяжка SCL/SDA к питанию).
Программное обеспечение
Программа для ПК написана на
C# (Windows) и переписана на
Qt (Linux и Windows). Имеет графический интерфейс для упрощения работы.
Особенности для Linux:
- Требуется установка пакетов Qt: qserialport, qt-base и др.
- Возможно, потребуется предоставить права доступа к /dev/ttyUSB0 (chmod a+rw /dev/ttyUSB0).
- На Ubuntu возможны конфликты с CH340 USB-UART и пакетом brltty (можно удалить).
Производительность
| Тип памяти | Скорость |
|---|
| I2C-EEPROM (24xx), Microwire EEPROM (93xx) | Высокая — чтение самого ёмкого чипа 24C256 занимает секунды |
| SPI-Flash (25xx) | Ограничена UART: чтение 1 МБ занимает от 1.5 минут (исключение — МК с аппаратным USB и CDC, где это занимает несколько секунд) |
Поддерживаемые микросхемы
| Тип | Модели |
|---|
| SPI-Flash 25xx | В основном Winbond (стандартное программирование для многих производителей). Поддерживаются флешки до 8 МБ (с трёхбайтной адресацией до W25Q64 включительно). W25Q128 и более не тестировались. |
| I2C-EEPROM 24xx | Универсальные модели без учёта производителя |
| Microwire EEPROM 93xx | Универсальные модели без учёта производителя |
Прошивка и исходный код
- HEX-файл для ATmega328P (Arduino Nano/Uno, кварц 16 МГц) — в папке firmware.
- Исходный код для AVR-GCC — в папке source.
- Добавлены прошивки для других плат/МК (некоторые не проверены).
Файлы для загрузки
Полезные ссылки проекта: