Программатор CH341A в Linux
(Онлайн справочник радиолюбителя)
Программатор на микросхеме CH341A получил широкую известность благодаря его невысокой цене и широкой доступности.
Существует несколько программ, работающих с ним под операционную систему Windows. Под Linux с этим несколько сложнее, поскольку универсальных программ, реализующих работу программатора CH341A со всеми типами микросхем крайне мало. Однако существует набор консольных утилит под различные чипы. Все ниже сказанное относится к Linux Debian, Ubuntu, Mint, MX. Для других семейств Linux команды установки пакетов будут несколько другими.
Для работы с микросхемами Serial EEPROM моделей 24С01 ... 24С64 необходимо собрать программу Аллена Коллина из исходного кода. Перейдите на страничку https://github.com/command-tab/ch341eeprom. Если у Вас нет аккаунта на GitHub проще всего скачать исходный код, нажав на зеленую кнопку Code и выбрав из выпадающего списка пункт Download ZIP.
После скачивания распаковываем архив ch341eeprom-master в пользовательскую папку /home/имя_пользователя. Запускаем терминал. Переходим в папку с исходным кодом, устанавливаем библиотеку libusb 1.0 и компилируем исходный код:
sudo apt-get install libusb-1.0-0-dev
gcc -o ch341eeprom ch341eeprom.c ch341funcs.c -lusb-1.0
* текст на черном фоне копируемый.
В результате получаем исполняемый файл ch341eeprom. Запускать его можно только с правами root, так как работа с портом программатора доступна только суперпользователю. Чтобы обеспечить работу с портом программатора обычного пользователя, входим под правами root и копируем файл 99-CH341.rules в папку /etc/udev/rules.d:
cp /home/имя_пользователя/ch341eeprom-master/99-CH341.rules /etc/udev/rules.d
После этого нужно перезагрузить компьютер, чтобы новые правила вступили в силу. Далее можно подключить программатор с установленной микросхемой 24Cxx, и для считывания микросхемы в файл набрать в терминале:
где:
24c02 - тип микросхемы (24С01 ... 24С512)
test.bin - имя файла, куда загрузится считанная прошивка
Для стирания микросхемы:
Для записи из файла в микросхему:
Для работы с SPI-Flash серий 25ххх можно установить программу Flashrom. Для этого можно использовать такую команду:
Для считывания содержимого микросхемы в файл можно использовать такую команду:
где test.bin - имя файла, куда загрузится считанная прошивка.
Flashrom самостоятельно определит тип микросхемы и производителя, считает из нее данные и сохранит их в файл test.bin.
Для стирания микросхемы:
Для записи прошивки в микросхему:
где test.bin - имя файла, из которого запишется прошивка в микросхему. Flashrom постоянно модифицируется, список поддерживаемых микросхем и программаторов растет.
Новая консольная программа Игоря Мокрушина SNANDer позволяет считывать и программировать микросхемы 24-й, 25-й и 93-й серий, то есть по сути является универсальной. Скачать программу для 64-х разрядной версии ОС можно со странички автора на GitHub из папки linux или модификацию из нашей ветки из папки linux. Для работы программы с портом USB с привилегиями пользователя файл 40-persistent-ch341a.rules необходимо скопировать в папку /etc/udev/rules.d так же, как и для программы Аллена Коллина. После этого нужно перезагрузить компьютер, чтобы новые правила вступили в силу.
Для 32-х битной версии Linux можно собрать программу, скопировав каталог src в домашнюю папку и запустив команду make.
Для считывания микросхем 24Cxx или 93Cxx необходимо использовать команду:
где:
93c46 - тип микросхемы (24С01 ... 24С1024 или 93с06 ... 93с96)
test.bin - имя файла, куда загрузится считанная прошивка
Для записи микросхем 24Cxx или 93Cxx необходимо использовать команду:
где:
93c46 - тип микросхемы (24С01 ... 24С1024 или 93с06 ... 93с96)
test.bin - имя файла, куда загрузится считанная прошивка
Для стирания:
где:
93c46 - тип микросхемы (24С01 ... 24С1024 или 93с06 ... 93с96)
Для микросхем серии 25xxx команды те же, за исключением префикса -E и типа микросхемы. Их писать не нужно, поскольку тип микросхемы определяется автоматически.
./SNANDer -w test.bin
./SNANDer -e
Микросхемы 93С06 ... 93С96 программируются с использованием адаптера, устанавливаемого вместо микросхемы 25xxx.
Чтобы можно было вызывать SNANDer из любой папки достаточно скопировать откомпилированный файл в папку /usr/local/bin: sudo cp SNANDer /usr/local/bin
После этого писать точку и косую черту в командах не надо. Если вам неудобно работать с командной строкой, можно скачать скрипт вызова программы и файл иконки и файл настроек рабочего стола, в котором нужно будет отредактировать текстовым редактором пути до иконки и скрипта в соответствии с расположением этих файлов.
Как добавить поддержку новых типов микросхем в программу SNANDer - смотрите здесь.
Недавно удалось "скрестить" редактор шестнадцатиричного кода whexedit (автор - Цинфэн Ся) и программу Аллена Коллина для Serial EEPROM. Получился программатор prog24 для микросхем 24C01 - 24C1024 с графической оболочкой, написанной на QT. Меню программы предельно простое. Последние три иконки с изображением микросхем слева направо: выбор типа микросхемы, чтение из микросхемы, запись в нее. После считывания можно сразу править дамп и записывать обратно в EEPROM. Можно сохранять данные в файл, или считывать из файла. Есть поиск по коду и строке символов.
Для установки программы на Linux Debian, Ubuntu, Mint, MX нужно скачать ее из архива (для установки на CENTOS / Red Hat / REDOS из архива), распаковать его и запустить файл ./install.sh. После установки программа попадет в главном меню в раздел "Прочее". Исходный код программатора выложен на github.
Версия нашего программатора NOR FLASH микросхем на основе консольной программы ch341 SPI c-programmer tools и шестнадцатиричного редактора QHexEdit2, использующая базы микросхем формата программаторов EZP2019.
Скачать ее можно здесь, репозиторий на GitHub - здесь.
Самая последняя новость - версия универсального программатора для микросхем серий 24xxx, 25xxx, 93xxx доступна для скачивания здесь. , репозиторий на GitHub - здесь, инструкция и обсуждения - здесь.
Приобрести программатор можно по этой ссылке.
К этому программатору можно приобрести также панельку для микросхем в корпусе SOP8 (размер 150mil для микросхем серий 24Cxx и 93Cxx, 208mil для 25Qxx) или набор панелек под пайку, клипсу для программирования прямо на плате. Напоминаем, что для ее использования необходимо перерезать дорожку питания программируемой микросхемы, иначе программатор можно повредить. Также пригодится набор макетных проводников для подключения программатора к различным платам, набор микросхем серии 93Схх и 24Схх и набор микросхем 25Q32FVVSIQ.
Комментарии:
Tester 23.07.2021 12:29
А программатор Prog24 под другие серии (93ххх, 25ххх) будет?
Admin 23.07.2021 12:30
Tester, со временем планирую добавить поддержку и этих серий микросхем.
Юзер 29.06.2022 09:07
Программа prog24 после установки ни фига не работает — после запуска сразу выдает ошибку: ./prog24: Нет такого файла или каталога Какого файла, какого каталога — хз. Афтора — на мыло!
Admin 29.06.2022 09:09
Юзер, у меня на трех компьютерах и у множества людей, которые здесь писали - работает. "Нет такого файла или каталога" означает, что в папке, из которой Вы пытаетесь вызвать программу ее нет. Найдите файл через диспетчер файлов и далее щелкните правой кнопкой мышки и выберите открыть в терминале. Далее в терминале наберите ./prog24 Можете поискать ее в терминале. Для этого нужно с root правами выйти в корень файловой системы и набрать find - name prog24
Bujhm 16.11.2022 09:19
В prog24 кнопочки Стереть не хватает.
Admin 16.11.2022 10:42
Bujhm, микросхемы 24-й серии можно писать поверх, без стирания. При выборе микросхемы буфер заполняется кодом FF, на этом этапе можно выполнить запись. Получится стирание. Но в любом случае, я подумаю над этим. Спасибо!
Aleksey 14.01.2023 22:20
Подскажите как на этот программатор (ch341a) передавать/принимать данные UART, где его файлы в линуксе Ubuntu?
Admin 15.01.2023 14:02
Aleksey, переставляете перемычку (джампер) (она на программаторе одна). Устанавливаете putty, или minicom. Запускаете putty, либо в терминале minicom. Меняете порт на /dev/ttyUSB0 и подключаете GND, RX, TX к приставке. Подробнее - тут.
vovlev 19.02.2023 15:59
Спасибо за статью, но вот со скриптом SNANDer проблемы из—за кракозябров...
Admin 19.02.2023 18:11
vovlev, я пробовал на Linux Mint 19 и 20, REDOS. Вчера только использовал для чтения - стирания - записи 24C16. Поясните, пожалуйста, подробнее. Что за Linux, где кракозябры? В любом случае можно загрузить англоязычную версию отсюда.
vovlev 19.02.2023 19:24
Admin, по ссылке с githubа со скриптом все в порядке, а по ссылке в статье у меня русский текст кракозябрами, еще раз спасибо...
admin 19.02.2023 20:42
vovlev, спасибо, понял. Завтра перезалью на сайт.
дима 06.06.2023 10:28
Подскажите, как скачать с github?
Admin 06.06.2023 10:30
Дима, перейдите в начало нужного Вам репозитория. Справа вверху зеленая кнопка "CODE" - нажмите на нее. Откроется окошко, внизу которого будет пункт "Download ZIP" - скачать архив всего репозитория со всеми папками и файлами. Либо почитайте про команду "git clone", но первый вариант проще.
Добавить комментарий: