Программатор CH341A в Linux

Для работы с микросхемами Serial EEPROM моделей 24С01 … 24С64 необходимо собрать программу Аллена Коллина из исходного кода. Перейдите на страничку “github.com/command-tab/ch341eeprom”. Если у Вас нет аккаунта на GitHub проще всего скачать исходный код, нажав на зеленую кнопку Code и выбрав из выпадающего списка пункт Download ZIP.

После скачивания распаковываем архив ch341eeprom-master в пользовательскую папку /home/имя_пользователя. Запускаем терминал. Переходим в папку с исходным кодом, устанавливаем библиотеку libusb 1.0 и компилируем исходный код:

Скачиваем библиотеку libusb 1.0: “mirror.rosalab.ru/rosa/rosa2021.1/repository/x86_64/main/release/lib64usb1.0-devel-1.0.26-2-rosa2021.1.x86_64.rpm”

su
urpmi make
urpmi gcc
urpmi clang
urpmi llvm
rpm -Uvh lib64usb1.0-devel-1.0.26-2-rosa2021.1.x86_64.rpm

Более подробно писал об этом в своей записи “https://микроник.рус/7575/” (даже видео снял).

В результате получаем исполняемый файл ch341eeprom. Запускать его можно только с правами root, так как работа с портом программатора доступна только суперпользователю. Чтобы обеспечить работу с портом программатора обычного пользователя, входим под правами root и копируем файл 99-CH341.rules в папку /etc/udev/rules.d:

cp /home/имя_пользователя/ch341eeprom-master/99-CH341.rules /etc/udev/rules.d

После этого нужно перезагрузить компьютер, чтобы новые правила вступили в силу. Далее можно подключить программатор с установленной микросхемой 24Cxx, и для считывания микросхемы в файл набрать в терминале:

./ch341eeprom -s 24c02 -r test.bin

где: 24c02 – тип микросхемы (24С01 … 24С512)
test.bin – имя файла, куда загрузится считанная прошивка

Для стирания микросхемы:

./ch431eeprom -s 24c02 -e

Для записи из файла в микросхему:

./ch341eeprom -s 24c02 -w test.bin

Для работы с SPI-Flash серий 25ххх можно установить программу Flashrom (“flashrom.org/”). Для этого можно использовать такую команду:

sudo apt-get install flashrom

Для считывания содержимого микросхемы в файл можно использовать такую команду:

flashrom -p ch341a_spi -r test.bin

где test.bin – имя файла, куда загрузится считанная прошивка.

Flashrom самостоятельно определит тип микросхемы и производителя, считает из нее данные и сохранит их в файл test.bin.

Для стирания микросхемы:

flashrom -p ch341a_spi -E

Для записи прошивки в микросхему:

flashrom -p ch341a_spi -w test.bin

где test.bin – имя файла, из которого запишется прошивка в микросхему. Flashrom постоянно модифицируется, список поддерживаемых микросхем и программаторов растет.

Новая консольная программа Игоря Мокрушина SNANDer позволяет считывать и программировать микросхемы 24-й, 25-й и 93-й серий, то есть по сути является универсальной. Скачать программу для 64-х разрядной версии ОС можно со странички автора на GitHub (“github.com/McMCCRU/SNANDer”) из папки linux или модификацию из нашей ветки (“github.com/bigbigmdm/SNANDer-VCC”) из папки linux. Для работы программы с портом USB с привилегиями пользователя файл 40-persistent-ch341a.rules необходимо скопировать в папку /etc/udev/rules.d так же, как и для программы Аллена Коллина. После этого нужно перезагрузить компьютер, чтобы новые правила вступили в силу.

Для 32-х битной версии Linux можно собрать программу, скопировав каталог src в домашнюю папку и запустив команду make.

Для считывания микросхем 24Cxx или 93Cxx необходимо использовать команду:

./SNANDer -E 93c46 -r test.bin

где: 93c46 – тип микросхемы (24С01 … 24С1024 или 93с06 … 93с96)
test.bin – имя файла, куда загрузится считанная прошивка

Для записи микросхем 24Cxx или 93Cxx необходимо использовать команду:

./SNANDer -E 93c46 -w test.bin

где: 93c46 – тип микросхемы (24С01 … 24С1024 или 93с06 … 93с96)
test.bin – имя файла, куда загрузится считанная прошивка

Для стирания:

./SNANDer -E 93c46 -e

где: 93c46 – тип микросхемы (24С01 … 24С1024 или 93с06 … 93с96)

Для микросхем серии 25xxx команды те же, за исключением префикса -E и типа микросхемы. Их писать не нужно, поскольку тип микросхемы определяется автоматически.

./SNANDer -r test.bin
./SNANDer -w test.bin
./SNANDer -e

Микросхемы 93С06 … 93С96 программируются с использованием адаптера, устанавливаемого вместо микросхемы 25xxx.

Чтобы можно было вызывать SNANDer из любой папки достаточно скопировать откомпилированный файл в папку /usr/local/bin: sudo cp SNANDer /usr/local/bin

sudo cp SNANDer /usr/local/bin

Как добавить поддержку новых типов микросхем в программу SNANDer – смотрите здесь (“antenna-dvb-t2.ru/add_nor_flash.php”).

Недавно удалось “скрестить” редактор шестнадцатиричного кода whexedit (автор – Цинфэн Ся) и программу Аллена Коллина для Serial EEPROM. Получился программатор prog24 для микросхем 24C01 – 24C1024 с графической оболочкой, написанной на QT. Меню программы предельно простое. Последние три иконки с изображением микросхем слева направо: выбор типа микросхемы, чтение из микросхемы, запись в нее. После считывания можно сразу править дамп и записывать обратно в EEPROM. Можно сохранять данные в файл, или считывать из файла. Есть поиск по коду и строке символов.

Для установки программы на Linux Debian, Ubuntu, Mint, MX нужно скачать ее из архива (“antenna-dvb-t2.ru/PDF/PROG_INSTALL.zip” или “xn--h1aafbgigp.xn--p1acf/wp-content/uploads/2026/02/PROG_INSTALL.zip”) (для установки на CENTOS / Red Hat / REDOS из архива (“antenna-dvb-t2.ru/PDF/PROG_INSTALL_CENTOS.zip”)), распаковать его и запустить файл ./install.sh. После установки программа попадет в главном меню в раздел “Прочее”. Исходный код программатора выложен на github (“github.com/bigbigmdm/QT-CH341A-LINUX-PROGRAMMER”).

Версия нашего программатора NOR FLASH микросхем на основе консольной программы ch341 SPI c-programmer tools (“github.com/setarcos/ch341prog”) и шестнадцатиричного редактора QHexEdit2, использующая базы микросхем формата программаторов EZP2019 (“antenna-dvb-t2.ru/EZP_programmers.php”).

Скачать ее можно здесь (“antenna-dvb-t2.ru/dl_all/CH341a_appimage.zip” или “xn--h1aafbgigp.xn--p1acf/wp-content/uploads/2026/02/CH341a_appimage.zip”), репозиторий на GitHub – здесь (“github.com/bigbigmdm/CH341a_spi_programmer”).

Самая последняя новость – версия универсального программатора для микросхем серий 24xxx, 25xxx, 93xxx доступна для скачивания здесь (“antenna-dvb-t2.ru/dl_all/IMSProg.zip” или “xn--h1aafbgigp.xn--p1acf/wp-content/uploads/2026/02/IMSProg.zip”). , репозиторий на GitHub – здесь (“github.com/bigbigmdm/IMSProg”), инструкция и обсуждения – здесь (“antenna-dvb-t2.ru/IMSProg.php”).

Добавить комментарий