Программатор CH341A. USBASP USBISP/AT89S52/AVR/STC/24CXX/ATMEGA STC Programmer Support USB To TTL

Программирование микроконтроллеров AVR. Программы, библиотеки, документация, средства разработки, отладки и прочее...

Модератор: KopylovSergey

maxxproff
Сообщения: 24
Зарегистрирован: 30 ноя 2016, 10:49

Re: Программатор CH341A. USBASP USBISP/AT89S52/AVR/STC/24CXX/ATMEGA STC Programmer Support USB To TTL

Сообщение maxxproff » 17 дек 2016, 04:15

Для желающих добавить поддержку бОльшего числа чипов вот исходные коды программы CH341DP.EXE для работы программатора CH341A с микроконтроллерами семейства AVR
Вложения
CH341DPS.ZIP
(98.9 КБ) 2003 скачивания

xrz
Сообщения: 1
Зарегистрирован: 13 апр 2017, 15:21

Re: Программатор CH341A. USBASP USBISP/AT89S52/AVR/STC/24CXX/ATMEGA STC Programmer Support USB To TTL

Сообщение xrz » 13 апр 2017, 15:26

maxxproff писал(а):ЕСЛИ у кого есть желание потестировать,
собрал для винды версию AVRDUDE ("дудка") с поддержкой этого программатора ch341a
(патч http://savannah.nongnu.org/patch/?9127" target="_blank )
Выложил на яндекс-диск https://yadi.sk/d/4LPdfum_33dAuQ" target="_blank
Вместо официальных драйверов для CH341a ставить драйвера LibUSBK вот отсюда
https://yadi.sk/d/B1hf4aPr32ezz6" target="_blank
или с официального сайта LibusbK (можно и просто libUSB)
Видит только "быстрые" микросхемы, то есть те, у которых ранее были выставлены фьюзы на высокую частоту работы (например, с помощью нее в качестве подопытного успешно был перепрошит китайский клон USBASP на Atmega8L, разогнанный до 12Мгц),
опции SLOW CLK пока нет, буду допиливать...
P.S: ch341a заработал почти сразу, а китайский клон USBASP заработал с этой версией v6.3 дудки только после смены драйверов libusb -> libusbk,
Нашел советы тут avrdude 6.3.0-arduino2 incompatible with USBasp using libusb-win32 driver
причем сначала ставил из Zadig для WinXP - битая dll'шка libusb0.dll какая-то там,
нормально заработало из офф.источника libusbk
https://sourceforge.net/projects/libusb ... =directory" target="_blank
P.P.S: для восстановления взаимодействия ch341a с другими программами нужно будет вернуть ему родной драйвер ch341wdm.sys (например CH341PAR.ZIP с официального сайта WinChipHead http://www.winchiphead.com/download/index.htm" target="_blank )
Можно подробнее для тех кто в танке? :ps_ih:

maxxproff
Сообщения: 24
Зарегистрирован: 30 ноя 2016, 10:49

Re: Программатор CH341A. USBASP USBISP/AT89S52/AVR/STC/24CXX/ATMEGA STC Programmer Support USB To TTL

Сообщение maxxproff » 14 апр 2017, 04:40

xrz писал(а): Можно подробнее для тех кто в танке?
0. На программаторе должна быть выставлена перемычка параллельного режима (EPP/MEM/I2C/...)
В системе он при этом устройство VID_1A86 PID_5512
1. Ставите для ch341a вот эти драйвера CH341A_libusbK_driver.zip
или из офф.источника libusbk:
https://sourceforge.net/projects/libusb ... =directory
(но там более универсальный инсталятор, "как в танке" с ним не получится.)

Другие программы перестанут находить программатор ch341a до момента возврата к драйверам от производителя.
1а. Удостоверяетесь собственноручно, что в Диспетчере Устройств для ch341a стоит именно драйвер libusbk.sys. Если нет, но есть желание -ищите инструкции как ставить драйвера принудительно вручную.
2. Качаете сборку avrdude http://yourdevice.net/forum/viewtopic.p ... 3732#p3731
3. Запускаете из коммандной строки с параметром "-c ch341a" для SPI на максимальной скорости,
либо с параметром "-c ch341a_bitbang" для медленного SPI,
остальные параметры смотрите для программируемого чипа и ваших задач.
maxxproff писал(а): ...
для восстановления взаимодействия ch341a с другими программами нужно будет вернуть ему родной драйвер ch341wdm.sys (например CH341PAR.ZIP с официального сайта WinChipHead http://www.winchiphead.com/download/index.htm )
Вложения
CH341A_libusbK_driver.zip
(3.52 МБ) 1617 скачиваний
Последний раз редактировалось maxxproff 18 июл 2017, 05:55, всего редактировалось 1 раз.

Аватара пользователя
skameykin22
Сообщения: 1
Зарегистрирован: 10 май 2017, 09:56
Откуда: Санкт-Петербург
Контактная информация:

Re: Программатор CH341A. USBASP USBISP/AT89S52/AVR/STC/24CXX/ATMEGA STC Programmer Support USB To TTL

Сообщение skameykin22 » 10 май 2017, 10:07

Вот теперь стало понятней.

maxxproff
Сообщения: 24
Зарегистрирован: 30 ноя 2016, 10:49

Re: Программатор CH341A. USBASP USBISP/AT89S52/AVR/STC/24CXX/ATMEGA STC Programmer Support USB To TTL

Сообщение maxxproff » 11 май 2017, 02:25

skameykin22 писал(а):Вот теперь стало понятней.
Отпишитесь, как работает.
Отдельную тему создавать не спешу, т.к пока нет времени развивать и пытаться улучшать работу.
Но пока не было информации, что у кого-то ещё работает, кроме меня и автора патча.

mitrich
Сообщения: 5
Зарегистрирован: 31 май 2017, 01:49

Re: Программатор CH341A. USBASP USBISP/AT89S52/AVR/STC/24CXX/ATMEGA STC Programmer Support USB To TTL

Сообщение mitrich » 31 май 2017, 14:11

Добрый день.
Есть программатор CH341a, захотел перешить им PRO micro на atmel32u.
Перемычка на IIC/SPi, в диспетчере задач определился как надо USB\VID_1A86&PID_5512\5&EA588C7&1&2, драйвера LibUSBK.
со SPi забираю CND, VDD, SCK,Miso,Mosi подключаю на про микру.
При попытке считать фьюз c:\"avrdude_ok"\avrdude.exe -patmega32u4 -cch341a -Pusb -U hfuse:r:hfuse.txt:b
выдает такую ошибку
avrdude.exe: initialization failed, rc=-2
Double check connections and try again, or use -F to override
this check.

maxxproff
Сообщения: 24
Зарегистрирован: 30 ноя 2016, 10:49

Re: Программатор CH341A. USBASP USBISP/AT89S52/AVR/STC/24CXX/ATMEGA STC Programmer Support USB To TTL

Сообщение maxxproff » 31 май 2017, 16:05

mitrich писал(а):Добрый день.
Есть программатор CH341a, захотел перешить им PRO micro на atmel32u.
Перемычка на IIC/SPi, в диспетчере задач определился как надо USB\VID_1A86&PID_5512\5&EA588C7&1&2, драйвера LibUSBK.
со SPi забираю CND, VDD, SCK,Miso,Mosi подключаю на про микру.
При попытке считать фьюз c:\"avrdude_ok"\avrdude.exe -patmega32u4 -cch341a -Pusb -U hfuse:r:hfuse.txt:b
выдает такую ошибку
avrdude.exe: initialization failed, rc=-2
Double check connections and try again, or use -F to override
this check.
Доброго времени суток!
-Pusb я не использовал, но по идее не должно влиять.
А если добавить ключ -v , что пишет?
Хотя, если честно, я мало чем помогу, ибо не программист, а "сборщик" чужого кода с некоторой подгонкой напильником...
Напишите, что выводит, может будет какая зацепка.
У меня получалось инициализировать только Atmega8L, разогнанный заранее до 12 мгц, с внешним кварцем (клон USBASP был подопытным).
Пришел лог.анализатор Saleae logic (клон), я все собирался им откатать "обратную связь" -посмотреть, что творится непосредственно на выходе, когда чип не детектится, но пока не добрался.
На днях наткнулся еще на китайскую прогу про ch341,
работоспособность ее сомнительна, но ближайшее время выложу

maxxproff
Сообщения: 24
Зарегистрирован: 30 ноя 2016, 10:49

Re: Программатор CH341A. USBASP USBISP/AT89S52/AVR/STC/24CXX/ATMEGA STC Programmer Support USB To TTL

Сообщение maxxproff » 31 май 2017, 16:17

mitrich писал(а):...со SPi забираю CND, VDD, SCK,Miso,Mosi подключаю на про микру...
GND первое, я правильно понял?
А как же CS, он должен быть напрямую на Reset чипа, иначе программатором чип не подхватится.
Я не гуглил схемотехнику вашей платы, но очень желательно, чтобы при прошивке на Reset кроме программатора больше ничего не было подключено

mitrich
Сообщения: 5
Зарегистрирован: 31 май 2017, 01:49

Re: Программатор CH341A. USBASP USBISP/AT89S52/AVR/STC/24CXX/ATMEGA STC Programmer Support USB To TTL

Сообщение mitrich » 31 май 2017, 18:33

Первое да GND(неправильно напечатал).
-Pusb ни как не влияет).
если с ключом -v, то следующее:

avrdude.exe: Version 6.3, compiled on Dec 14 2016 at 08:22:00
Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/" target="_blank
Copyright (c) 2007-2014 Joerg Wunsch

System wide configuration file is "c:\avrdude_ok\avrdude.conf"

Using Port : usb
Using Programmer : ch341a
AVR Part : ATmega32U4
Chip Erase delay : 9000 us
PAGEL : PD7
BS2 : PA0
RESET disposition : dedicated
RETRY pulse : SCK
serial program mode : yes
parallel program mode : yes
Timeout : 200
StabDelay : 100
CmdexeDelay : 25
SyncLoops : 32
ByteDelay : 0
PollIndex : 3
PollValue : 0x53
Memory Detail :

Block Poll Page
Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW
MaxW ReadBack
----------- ---- ----- ----- ---- ------ ------ ---- ------ -----
----- ---------
eeprom 65 20 4 0 no 1024 4 0 9000
9000 0x00 0x00
flash 65 6 128 0 yes 32768 128 256 4500
4500 0x00 0x00
lfuse 0 0 0 0 no 1 0 0 9000
9000 0x00 0x00
hfuse 0 0 0 0 no 1 0 0 9000
9000 0x00 0x00
efuse 0 0 0 0 no 1 0 0 9000
9000 0x00 0x00
lock 0 0 0 0 no 1 0 0 9000
9000 0x00 0x00
calibration 0 0 0 0 no 1 0 0 0
0 0x00 0x00
signature 0 0 0 0 no 3 0 0 0
0 0x00 0x00

Programmer Type : ch341a
Description : ch341a programmer

avrdude.exe: initialization failed, rc=-2
Double check connections and try again, or use -F to override
this check.


avrdude.exe done. Thank you.

Microsoft Windows XP [Версия 5.1.2600]
(С) Корпорация Майкрософт, 1985-2001.

mitrich
Сообщения: 5
Зарегистрирован: 31 май 2017, 01:49

Re: Программатор CH341A. USBASP USBISP/AT89S52/AVR/STC/24CXX/ATMEGA STC Programmer Support USB To TTL

Сообщение mitrich » 31 май 2017, 18:40

По поводу CS, на разводке Spi interface есть CS0, CS1, CS2.
Добавил перемычку с CS0 на reset.
Результат;

avrdude.exe: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.03s

avrdude.exe: Device signature = 0x1e9587 (probably m32u4)
avrdude.exe: reading hfuse memory:

Reading | ################################################## | 100% 0.02s

avrdude.exe: writing output file "hfuse.txt"

avrdude.exe: safemode: Fuses OK (E:CB, H:D8, L:FF)

avrdude.exe done. Thank you.

Microsoft Windows XP [Версия 5.1.2600]
(С) Корпорация Майкрософт, 1985-2001.

C:\avrdude_OK>

mitrich
Сообщения: 5
Зарегистрирован: 31 май 2017, 01:49

Re: Программатор CH341A. USBASP USBISP/AT89S52/AVR/STC/24CXX/ATMEGA STC Programmer Support USB To TTL

Сообщение mitrich » 31 май 2017, 19:11

Огромное спасибо за помощь и подсказку!
Получилось считать и flash и eeprom, записал blink на про микру)
Буду пробовать перешивать бутлоадер.

maxxproff
Сообщения: 24
Зарегистрирован: 30 ноя 2016, 10:49

Re: Программатор CH341A. USBASP USBISP/AT89S52/AVR/STC/24CXX/ATMEGA STC Programmer Support USB To TTL

Сообщение maxxproff » 01 июн 2017, 04:42

mitrich писал(а):Огромное спасибо за помощь и подсказку!
Получилось считать и flash и eeprom, записал blink на про микру)
Буду пробовать перешивать бутлоадер.
Вам спасибо за тестирование!
От раза к разу на досуге курю программирование, однажды доберусь работоспособность медленных чипов попробовать доделать.
Надо отдельную тему создать, единомышленников поискать.

maxxproff
Сообщения: 24
Зарегистрирован: 30 ноя 2016, 10:49

Re: Программатор CH341A. USBASP USBISP/AT89S52/AVR/STC/24CXX/ATMEGA STC Programmer Support USB To TTL

Сообщение maxxproff » 01 июн 2017, 09:29

mitrich писал(а):...
Если не трудно, попробуйте вот эту программу.
У меня на том же разогнанном Atmega8L в первом приближении работает (ОС WinXP).
Сохраняет дампы только в RAW-binary виде, если я все правильно понял, то есть
chavrprog.exe -d mega8 -r f dump.bin
аналогично
avrdude.exe -pm8 -cch341a -Uflash:r:dump.bin:r

У меня дампы двумя прогами разные:
толи сборка Avrdude кривая, толи эта программа,
но при сравнении дампов по адресу 0x04ED лишнее "слово".
Надо будет для контроля USBASP'ом проверить.
Исходный код программы chavrprog взят отсюда
https://github.com/Trel725/chavrprog" target="_blank
По ссылке у автора также выложен готовый exe-файл, но для его запуска требуется Cygwin.
В прилагаемом здесь exe-шнике я грубо забил в авторский исходный код пару "костылей" и пересобрал под Windows без привязки к cygwin.
Также работает только с драйверами libusb или libusbK
(НАПРИМЕР, вот с этими viewtopic.php?f=26&t=1812&p=3584#p3569)
.
Всем интересующимся также просьба пробовать, отписываться о результатах.
UPD: программа была с ошибкой, исправленную выложил ниже
Последний раз редактировалось maxxproff 15 июн 2017, 18:16, всего редактировалось 1 раз.

mitrich
Сообщения: 5
Зарегистрирован: 31 май 2017, 01:49

Re: Программатор CH341A. USBASP USBISP/AT89S52/AVR/STC/24CXX/ATMEGA STC Programmer Support USB To TTL

Сообщение mitrich » 01 июн 2017, 19:29

Доброго всем дня!
Считал дампы двумя прогами, во вложении.
Надеюсь вам поможет.
С уважением.
Вложения
dump.rar
(22.97 КБ) 541 скачивание

maxxproff
Сообщения: 24
Зарегистрирован: 30 ноя 2016, 10:49

Re: Программатор CH341A. USBASP USBISP/AT89S52/AVR/STC/24CXX/ATMEGA STC Programmer Support USB To TTL

Сообщение maxxproff » 03 июн 2017, 09:14

mitrich писал(а):Доброго всем дня!
Считал дампы двумя прогами, во вложении.
Надеюсь вам поможет.
С уважением.
Спасибо за отклик!
Ваши дампы отличаются еще более заметно.
По всей видимости, chavrprog работает некорректно: при дампе везде заменяет (0x0A) -> (0x0D, 0x0A).
Буду разбираться

maxxproff
Сообщения: 24
Зарегистрирован: 30 ноя 2016, 10:49

Re: Программатор CH341A. USBASP USBISP/AT89S52/AVR/STC/24CXX/ATMEGA STC Programmer Support USB To TTL

Сообщение maxxproff » 03 июн 2017, 20:55

maxxproff писал(а):...По всей видимости, chavrprog работает некорректно: при дампе везде заменяет (0x0A) -> (0x0D, 0x0A)...
Собрал авторский код без модификаций под линуксом -сливает дамп корректно!
Нашел и исправил ошибку, дело было в том, что в Windows...
...Функция fopen используется для открытия файла. Первый параметр задаёт имя файла. Второй параметр mode задаёт требуемый тип доступа к файлу.
Кроме того, к параметру mode могут быть добавлены символы t и b для задания текстового и двоичного режимов соответственно. По умолчанию используется текстовый режим...

fp = fopen(argv[optind], "w"); -> fp = fopen(argv[optind], "wb"); в main.c решило проблему
Прикрепляю более корректную версию, сравнивал с avrdude-ch341a: дампят одинаково (0xFF в конце не в счёт).
Всем заинтересованным просьба отписаться о результатах тестирования!
Не имею пока АВР-доктор, поэтому работу с фьюзами пока не рискнул опробовать.
Если у кого есть АВР-доктор или параллельный программатор для восстановления ВДРУГ некорректно записанных фьюзов, тем просьба просто ОГРОМУЩЩАЯ: протестировать работу с фьюзами
Вложения
chavrprog_OK.zip
(110.65 КБ) 650 скачиваний

maxxproff
Сообщения: 24
Зарегистрирован: 30 ноя 2016, 10:49

Re: Программатор CH341A. USBASP USBISP/AT89S52/AVR/STC/24CXX/ATMEGA STC Programmer Support USB To TTL

Сообщение maxxproff » 04 июн 2017, 07:08

Собрал консольные утилиты ch341prog и ch341eeprom под Windows -одни из первых open-source программ для прошивки SPI-флеш и I2C-eeprom этим программатором.
https://github.com/setarcos/ch341prog" target="_blank
и
https://sourceforge.net/projects/ch341eepromtool/" target="_blank

Подробности тут
http://forum.easyelectronics.ru/viewtop ... 64#p503664" target="_blank
Все инструкции аналогично предыдущим программам
Вложения
ch341eeprom.zip
(105.96 КБ) 683 скачивания
ch341prog.zip
(103.47 КБ) 737 скачиваний

Аватара пользователя
AKSU78
Сообщения: 2
Зарегистрирован: 10 июн 2017, 06:11

Re: Программатор CH341A. USBASP USBISP/AT89S52/AVR/STC/24CXX/ATMEGA STC Programmer Support USB To TTL

Сообщение AKSU78 » 10 июн 2017, 06:39

Дорогие гуру.
Подскажите пожалуйста по сабжу.
Есть CH341A в вот таком исполнении:
Изображение

Есть китайский USBASP на ATMEGA8A с устаревшей прошивкой.
Хочу попробовать с помощью первого обновить прошивку у второго.
Подскажите, какие пины куда подключать?
У CH341A есть:

5v
3.3v
GND
MISO
MOSI
CS
CLK

Собственно, все понятно, кроме 2х последних пинов. Правильно ли я понимаю, что CS надо на Reset, а CLK на SCK? Или как-то по другому? Подскажите кто делал.

maxxproff
Сообщения: 24
Зарегистрирован: 30 ноя 2016, 10:49

Re: Программатор CH341A. USBASP USBISP/AT89S52/AVR/STC/24CXX/ATMEGA STC Programmer Support USB To TTL

Сообщение maxxproff » 10 июн 2017, 11:56

AKSU78 писал(а):… Правильно ли я понимаю, что CS надо на Reset, а CLK на SCK? …
Да, именно так.
Ещё на USBASP'е перемычку поставить в режим прошивки, а также проверить соответствие напряжения питания:
ведь USBASP при прошивке будет запитан от ch341,
а т.к USBASP бывает 3,3в и 5в на разъёме, то лучше выставить нужное напряжение.
Попробуйте для начала avrdude с поддержкой ch341,
только фьюзы не трогайте для перестраховки.
Если USBASP не увидится, то скорее всего дело в подключениях,
вариант неподдерживаемой скорости/частоты отпадает, т.к Атмега8 юсбаспа уже выставлена на высокую частоту для работоспособности юсб.
(ch341 видит только "быстрые" чипы:
сам лично в качестве эксперимента несколько раз шил юсбасп на разогнанной китайцами до 12мгц атмега8L,
но атмегу8а с частотой по умолчанию (1МГц?) у меня ch341 не увидел)

Аватара пользователя
AKSU78
Сообщения: 2
Зарегистрирован: 10 июн 2017, 06:11

Re: Программатор CH341A. USBASP USBISP/AT89S52/AVR/STC/24CXX/ATMEGA STC Programmer Support USB To TTL

Сообщение AKSU78 » 10 июн 2017, 18:50

Огромное спасибо! USBASP успешно прошит, avrdude на него более не ругается!

Оказывается, старая версия прошивки на USBASP не умела переключать скорость программирования! Из-за этого я уже неделю морочу голову и себе, и людям!
Уже даже собрался второй программатор покупать, но ждать его - нет времени. Да и жаба давит покупать лишнюю железяку, чтоб потом валялась...
Хорошо что у меня давно лежит CH341A - брал его в прошлом году чипы в картриджах "обнулять"...

Еще раз огромное спасибо, вы меня очень выручили!

maxxproff
Сообщения: 24
Зарегистрирован: 30 ноя 2016, 10:49

Re: Программатор CH341A. USBASP USBISP/AT89S52/AVR/STC/24CXX/ATMEGA STC Programmer Support USB To TTL

Сообщение maxxproff » 11 июн 2017, 08:40

AKSU78 писал(а):Огромное спасибо! …
Еще раз огромное спасибо, вы меня очень выручили!
Огромное пожалуйста!
Вам спасибо за тестирование!
И Садкову Алексею за патч ch341a к avrdude, с которого эти все мои эксперименты с компиляциями и портированием под windows начались

maxxproff
Сообщения: 24
Зарегистрирован: 30 ноя 2016, 10:49

Re: Программатор CH341A. USBASP USBISP/AT89S52/AVR/STC/24CXX/ATMEGA STC Programmer Support USB To TTL

Сообщение maxxproff » 27 июн 2017, 11:33

ДЛЯ тех у кого не работает CH341DP.EXE (утилита от производителя для прошивки AVR c помощью CH341A), поковырял ее исходники:
для работоспособности китайского экземпляра программы вывод CS (Reset AVR) нужно подключать не на D0 (пин 15), а на D1 (пин 16)!
Сам пока не пробовал перепаивать,
но пересобрал из исходников эту программу, чтобы она работала с CS на D0, как это распаяно в большинстве программаторов на CH341A,
(для любителей переспрашивать: при использовании этой перекомпилированной программы ничего перепаивать теперь не нужно, при использовании оригинальной китайской -нужно).
бегло проверил на Atmega8 -фьюзы читает!
Заодно перевел на английский и установил по умолчанию системный шрифт.
За залоченные AVR чипы ответственности не несу!
Сборка модифицированной программы тестовая, пробуйте, пишите, может где-что не доглядел, пересоберу...
UPD: народ пишет, косячит эта программа.
Т.к кнопка чтения в ней изначально не предусмотрена, тратить на нее время не интересно, пользуйтесь AVRDUDE_CH341A
Вложения
CH341DP_mod_D0_ENG.zip
(17.08 КБ) 919 скачиваний
Последний раз редактировалось maxxproff 23 авг 2017, 12:52, всего редактировалось 1 раз.

Volgowood
Сообщения: 3
Зарегистрирован: 13 июл 2017, 20:51

Re: Программатор CH341A. USBASP USBISP/AT89S52/AVR/STC/24CXX/ATMEGA STC Programmer Support USB To TTL

Сообщение Volgowood » 13 июл 2017, 20:57

Всем привет! Надо прошить ATTiny45, есть CH341A, и руки растут вроде откуда надо. Но прочитав форум все еще не отдупляю, чяднт??
Распиновку микрухи отсюда беру http://electronut.in/images/2014/04/attiny85-pinout.png" target="_blank
Как подключать ее к CH341A беру отсюда https://raw.githubusercontent.com/Trel7 ... matics.jpg" target="_blank
Драйвера установленны (LibusbK)
Ни дудка, ни chavprog не видят мируху, дудка пишет

Код: Выделить всё

avrdude: initialization failed, rc=-2
Вычитал где-то тут, что надо какой-то CS0 на RESET перевкнуть, но ведь на программаторе нет CS0, есть просто CS, ее корочу на RESET, результат 0.
И еще, нужно ли VDD с SPI замыкать с Vcc на микрухе? :ps_ih:

Программатор точно такой же как на фото http://www.sector.biz.ua/docs/CH341A_US ... 341a_1.jpg" target="_blank

maxxproff
Сообщения: 24
Зарегистрирован: 30 ноя 2016, 10:49

Re: Программатор CH341A. USBASP USBISP/AT89S52/AVR/STC/24CXX/ATMEGA STC Programmer Support USB To TTL

Сообщение maxxproff » 17 июл 2017, 19:22

Volgowood писал(а):...Надо прошить ATTiny45, есть CH341A, и руки растут вроде откуда надо. Но прочитав форум все еще не отдупляю, чяднт??...
Ни дудка, ни chavprog не видят мируху...
Наверно дело в том, что ATTiny выставлен на низкую частоту.
Вы вероятно все правильно делали, но там для тех двух программ была оговорка про работоспособность только на "быстрых" чипах.
Попробуйте вот эту версию с дополнительным режимом.
.
Собрал очередную тестовую сборку avrdude c поддержкой CH341A с двумя вариантами:
- быстрый SPI (ключ -c ch341a)
- медленный bitbang-SPi (ключ -c ch341a_bitbang)
maxxproff писал(а):....
Видит программатор CH341A только при установке для него альтернативных драйверов libusb или libusbk.
Подробности, инструкции, альтернативные драйверы и ссылки на источники исходных кодов программ смотрите в теме по ссылке, начиная с поста #3524 и до конца:
http://www.yourdevice.net/forum/viewtop ... 1812#p3524" target="_blank
Последний раз редактировалось maxxproff 12 авг 2017, 17:12, всего редактировалось 2 раза.

maxxproff
Сообщения: 24
Зарегистрирован: 30 ноя 2016, 10:49

Re: Программатор CH341A. USBASP USBISP/AT89S52/AVR/STC/24CXX/ATMEGA STC Programmer Support USB To TTL

Сообщение maxxproff » 17 июл 2017, 19:31

Volgowood писал(а):...
Вычитал где-то тут, что надо какой-то CS0 на RESET перевкнуть, но ведь на программаторе нет CS0, есть просто CS...
CS0. он же D0 -контакт непосредственно на чипе CH341.
На программаторах, которые мне встречались, CS как раз распаян на CS0 (D0).
Если подключаете линии на ATTiny как тут http://electronut.in/images/2014/04/attiny85-pinout.png" target="_blank
т.е ATTINY -> программатор CH341A:

Код: Выделить всё

1 -> CS (CS0, D0)
4 -> GND
5 -> MOSI
6 -> MISO
7 -> SCK (CLK)
8 -> +3,3V/+5V
то вроде правильно.
Volgowood писал(а):...И еще, нужно ли VDD с SPI замыкать с Vcc на микрухе?
Естественно запитывать программируемый чип нужно, удостоверившись в соответствии напряжения питания, само собой.
Версия avrdude c медленным bitbang-SPi скорее всего у вас сработает как надо.

Volgowood
Сообщения: 3
Зарегистрирован: 13 июл 2017, 20:51

Re: Программатор CH341A. USBASP USBISP/AT89S52/AVR/STC/24CXX/ATMEGA STC Programmer Support USB To TTL

Сообщение Volgowood » 18 июл 2017, 21:21

maxxproff писал(а):
Volgowood писал(а):...Надо прошить ATTiny45, есть CH341A, и руки растут вроде откуда надо. Но прочитав форум все еще не отдупляю, чяднт??...
Ни дудка, ни chavprog не видят мируху...
Наверно дело в том, что ATTiny выставлен на низкую частоту.
Вы вероятно все правильно делали, но там для тех двух программ была оговорка про работоспособность только на "быстрых" чипах.
Попробуйте вот эту версию с дополнительным режимом.
.
Собрал очередную тестовую сборку avrdude c поддержкой CH341A с двумя вариантами:
- быстрый SPI (ключ -c ch341a)
- медленный bitbang-SPi (ключ -c ch341a_bitbang)
maxxproff писал(а):....
Видит программатор CH341A только при установке для него альтернативных драйверов libusb или libusbk.
Подробности, инструкции, альтернативные драйверы и ссылки на источники исходных кодов программ смотрите в теме по ссылке, начиная с поста #3524 и до конца:
http://www.yourdevice.net/forum/viewtop ... 1812#p3524" target="_blank
О да, она увидела микруху!

Код: Выделить всё

avrdude_spi_and_bitbang_OK: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.03s

avrdude_spi_and_bitbang_OK: Device signature = 0x1e9206 (probably t45)

avrdude_spi_and_bitbang_OK: safemode: Fuses OK (E:FF, H:DF, L:62)

avrdude_spi_and_bitbang_OK done.  Thank you.

maxxproff
Сообщения: 24
Зарегистрирован: 30 ноя 2016, 10:49

Re: Программатор CH341A. USBASP USBISP/AT89S52/AVR/STC/24CXX/ATMEGA STC Programmer Support USB To TTL

Сообщение maxxproff » 19 июл 2017, 01:54

Volgowood писал(а):...
О да, она увидела микруху!

Код: Выделить всё

avrdude_spi_and_bitbang_OK: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.03s

avrdude_spi_and_bitbang_OK: Device signature = 0x1e9206 (probably t45)

avrdude_spi_and_bitbang_OK: safemode: Fuses OK (E:FF, H:DF, L:62)

avrdude_spi_and_bitbang_OK done.  Thank you.
Вот и здорово!
Вы первый, кто опробовал эту версию, т.к программирование для меня новое хобби, а эта модификация программы avrdude - некоторая проба своих сил.
Планирую в обозримом будущем реализовать версию avrdude, работающую через официальные драйверы: судя по коду, это сделать даже легче, просто раньше не получалось -было мало практики.
"Дудка", работающая через официальный драйвер ch341wdm.sys, будет более удобна и востребована по идее.

Volgowood
Сообщения: 3
Зарегистрирован: 13 июл 2017, 20:51

Re: Программатор CH341A. USBASP USBISP/AT89S52/AVR/STC/24CXX/ATMEGA STC Programmer Support USB To TTL

Сообщение Volgowood » 20 июл 2017, 10:58

maxxproff писал(а): "Дудка", работающая через официальный драйвер ch341wdm.sys, будет более удобна и востребована по идее.
Еше бы реализовать возможность шить прямо через SPI, но понимаю что это электрически невозможно)

maxxproff
Сообщения: 24
Зарегистрирован: 30 ноя 2016, 10:49

Re: Программатор CH341A. USBASP USBISP/AT89S52/AVR/STC/24CXX/ATMEGA STC Programmer Support USB To TTL

Сообщение maxxproff » 21 июл 2017, 01:06

Volgowood писал(а):....Еше бы реализовать возможность шить прямо через SPI, но понимаю что это электрически невозможно)
Эээ, ну так мы и шьем AVR прямо через SPI.
Или вы про что именно?

maxxproff
Сообщения: 24
Зарегистрирован: 30 ноя 2016, 10:49

Re: Программатор CH341A. USBASP USBISP/AT89S52/AVR/STC/24CXX/ATMEGA STC Programmer Support USB To TTL

Сообщение maxxproff » 21 июл 2017, 05:50

Добавил третий вариант:
- медленный bitbang-SPi с обращением через драйвер производителя (CH341WDM.SYS) (ключ -c ch341a_bitbang_wch)
При этом все три варианта ключа запуска рабочие: два первых требуют установки альтернативного драйвера libusb, третий работает через стандартный драйвер от WinChipHead.
По поводу остальных ключей запуска -гуглите на тему "параметры запуска avrdude".
Несмотря на то, что сборка очень сырая, дорабатывать пока особо не буду (например, быстрый SPI также через драйвер производителя добавлю как-нибудь потом...).
Меня все устраивает, у меня все работает.
Если у кого появятся какие замечания по работе, то пишите, предварительно прикладывайте под спойлер лог работы этой сборки, запущенной с ключом -vvv,
буду дорабатывать по возможности/настроению.
P.S: программа также поддерживает кучу других программаторов, т.к собрана из официальных исходников avrdude v6.3,
но лично я на других программаторах эту сборку не тестировал, отзывы о работе приветствуются!
UPD: пересобрал с определением индекса устройства в системе
UPD2: Пересобрал для более корректной работы с USBASP и автодетекта чипа в Avrdudess.
Вложения
avrdude_ch341a_26.08.2017.rar
(285.26 КБ) 1489 скачиваний

Ответить