логотип сатурн Міні-флеш-програматор CH341A
Інструкції

Міні-флеш-програматор CH341A

Міні-флеш-програматор saturn CH341A

Зміст: [випадкові неструктуровані матеріали Добриці Павлінушича]

Це пристрій 5В без модифікацій! Це працює для мене (tm), але ви були попереджені http://www.eevblog.com/forum/repair/ch341a-serial-memory-programmer-power-supply-fix/Просто підніміть контакт 28 і покладіть під нього стрічку, щоб запобігти короткому замиканню. Потім припаяйте один дріт від цього контакту до контакту 2 AMS1117, а також до C4. Сторона C4 для підключення - це та, яка підключена до контакту 341 CH9A.
CHM341A-3V3-fix.jpg

перемичка на шпильках

1-2 режим SPI flash programmer
2-3 Послідовний режим TTL
підтримується з коробки flashrom, можливо, кращий варіант, але все одно:

https://github.com/setarcos/ch341prog

dpavlin@nuc:/nuc/ch341a$ git клон https://github.com/setarcos/ch341prog
Клонування в 'ch341prog'…
дистанційний: підрахунок предметів: 104, зроблено.
дистанційний: загальна кількість 104 (дельта 0), повторно використаний 0 (дельта 0), повторно використаний пакет 104
Отримання об'єктів: 100% (104/104), 34.79 KiB | 0 байт/с, готово.
Вирішення дельт: 100% (61/61), виконано.
Перевірка підключення… готово.
dpavlin@nuc:/nuc/ch341a$ cd ch341prog/
dpavlin@nuc:/nuc/ch341a/ch341prog$ make
gcc -std=gnu99 -Wall ch341a.c main.c -o ch341prog -lusb-1.0
dpavlin@nuc:/nuc/ch341a/ch341prog$ ./ch341prog

Використання:

-h, – допомогти відобразити це повідомлення
-i, –info читати інформацію про ідентифікатор мікросхеми
-e, –erase стерти весь чіп
-l, –довж вручну встановлена ​​довжина
-w, – пишутьfileім'я> записувати мікросхему з даними з fileназва
-р, –читатиfileім'я> читати чіп і зберігати дані fileназва
-t, –turbo збільшити швидкість шини i2c (-tt використовувати набагато більшу швидкість)
-d, – подвоєна швидкість шини spi

I2C у просторі користувача

https://sourceforge.net/projects/ch341eepromtool/

dpavlin@nuc:/nuc/ch341a/ch341eepromtool_0.5$ gcc -o ch341eeprom ch341eeprom.c ch341funcs.c -lusb-1.0
dpavlin@nuc:/nuc/ch341a/ch341eepromtool_0.5$
dpavlin@nuc:/nuc/ch341a/ch341eepromtool_0.5$ ./ch341eeprom
ch341eeprom – інструмент програмування i2c EEPROM для WCH CH341a IC
Версія 0.5 авторське право (c) 2011 asbokid
Ця програма постачається абсолютно без гарантій; Це безкоштовне програмне забезпечення,
і ви можете поширювати його за певних умов:
Ліцензія GNU GPL v3: http://www.gnu.org/licenses/gpl.html

Використання:
-h, –допомогти відобразити цей текст
-v, –verbose докладний висновок
-d, –debug вихід налагодження
-s, – розмір розміру EEPROM {24c32|24c64}
-e, –erase стерти EEPROM (заповнити 0xff)
-w, – пишутьfileім'я> запишіть EEPROM із зображенням fileназва
-р, –читатиfilename> прочитати EEPROM і зберегти зображення fileназва
Exampфайл: ch341eeprom -v -s 24c64 -w bootrom.bin

flashrom SPI

Більше не потрібний, включено до основного флеш-програми
git клон https://github.com/urjaman/flashrom/
git checkout -b origin/ch341a origin/ch341a
dpavlin@nuc:/nuc/flashrom$ sudo apt-get install pciutils-dev

модуль spi ядра linux

dpavlin@nuc:/nuc$ git клон https://github.com/gschorcht/spi-ch341-usb.git
Клонування в 'spi-ch341-usb'…
дистанційний: підрахунок предметів: 63, зроблено.
дистанційний: загальна кількість 63 (дельта 0), повторно використаний 0 (дельта 0), повторно використаний пакет 63
Розпакування об'єктів: 100% (63/63), зроблено.
dpavlin@nuc:/nuc$ cd spi-ch341-usb
dpavlin@nuc:/nuc/spi-ch341-usb$ make
make -C /usr/src/linux-headers-4.14.0-3-amd64/ M=/nuc/spi-ch341-usb модулі
make[1]: вхід до каталогу '/usr/src/linux-headers-4.14.0-3-amd64'
CC [M] /nuc/spi-ch341-usb/spi-ch341-usb.o
Будівельні модулі, сtage 2 р.
Модулі MODPOST 1
CC /nuc/spi-ch341-usb/spi-ch341-usb.mod.o
LD [M] /nuc/spi-ch341-usb/spi-ch341-usb.ko
make[1]: вихід з каталогу '/usr/src/linux-headers-4.14.0-3-amd64'
dpavlin@nuc:/nuc/spi-ch341-usb$
dpavlin@nuc:/nuc/spi-ch341-usb$ sudo make install
[sudo] пароль для dpavlin:
dpavlin@nuc:/nuc/spi-ch341-usb$ sudo modprobe spi-ch341-usb
[525021.048281] spi-ch341-usb 2-2.1.4:1.0: ch341_cfg_probe: вихід cs0 SPI slave з cs=0
[525021.048285] spi-ch341-usb 2-2.1.4:1.0: ch341_cfg_probe: вихід cs1 SPI slave з cs=1
[525021.048287] spi-ch341-usb 2-2.1.4:1.0: ch341_cfg_probe: вихід cs2 SPI slave з cs=2
[525021.048290] spi-ch341-usb 2-2.1.4:1.0: ch341_cfg_probe: вхід gpio4 gpio=0 irq=0 (hwirq)
[525021.048292] spi-ch341-usb 2-2.1.4:1.0: ch341_cfg_probe: вхід gpio5 gpio=1 irq=1
[525021.048296] spi-ch341-usb 2-2.1.4:1.0: ch341_spi_probe: головний SPI підключений до шини SPI 0
[525021.048426] spi-ch341-usb 2-2.1.4:1.0: ch341_spi_probe: створено пристрій SPI /dev/spidev0.0
[525021.048516] spi-ch341-usb 2-2.1.4:1.0: ch341_spi_probe: створено пристрій SPI /dev/spidev0.1
[525021.048596] spi-ch341-usb 2-2.1.4:1.0: ch341_spi_probe: створено пристрій SPI /dev/spidev0.2
[525021.049147] spi-ch341-usb 2-2.1.4:1.0: ch341_usb_probe: підключено
[525021.049194] usbcore: зареєстровано новий драйвер інтерфейсу spi-ch341-usb

модуль i2c ядра linux

https://github.com/gschorcht/i2c-ch341-usb

root@nuc:/nuc# git клон https://github.com/gschorcht/i2c-ch341-usb.git
Клонування в «i2c-ch341-usb»…
дистанційний: підрахунок предметів: 39, зроблено.
дистанційний: загальна кількість 39 (дельта 0), повторно використаний 0 (дельта 0), повторно використаний пакет 39
Розпакування об'єктів: 100% (39/39), зроблено.
root@nuc:/nuc# cd i2c-ch341-usb
root@nuc:/nuc/i2c-ch341-usb# make
make -C /usr/src/linux-headers-4.14.0-3-amd64/ M=/nuc/i2c-ch341-usb модулі
make[1]: вхід до каталогу '/usr/src/linux-headers-4.14.0-3-amd64'
CC [M] /nuc/i2c-ch341-usb/i2c-ch341-usb.o
Будівельні модулі, сtage 2 р.
Модулі MODPOST 1
CC /nuc/i2c-ch341-usb/i2c-ch341-usb.mod.o
LD [M] /nuc/i2c-ch341-usb/i2c-ch341-usb.ko
make[1]: вихід з каталогу '/usr/src/linux-headers-4.14.0-3-amd64'
root@nuc:/nuc/i2c-ch341-usb#
root@nuc:/nuc/i2c-ch341-usb# sudo make install
root@nuc:/nuc/i2c-ch341-usb# modprobe i2c-ch341-usb

[Середа, 7 лютого, 16:37:00 2018] i2c-ch341-usb 2-2.1.4:1.0: ch341_cfg_probe: вихід gpio0 gpio=0 irq=0
[Середа, 7 лютого, 16:37:00 2018] i2c-ch341-usb 2-2.1.4:1.0: ch341_cfg_probe: вихід gpio1 gpio=1 irq=1
[Середа, 7 лютого, 16:37:00 2018] i2c-ch341-usb 2-2.1.4:1.0: ch341_cfg_probe: вихід gpio2 gpio=2 irq=2
[Середа, 7 лютого, 16:37:00 2018] i2c-ch341-usb 2-2.1.4:1.0: ch341_cfg_probe: вихід gpio3 gpio=3 irq=3
[Середа, 7 лютого, 16:37:00 2018] i2c-ch341-usb 2-2.1.4:1.0: ch341_cfg_probe: вхід gpio4 gpio=4 irq=4 (hwirq)
[Середа, 7 лютого, 16:37:00 2018] i2c-ch341-usb 2-2.1.4:1.0: ch341_cfg_probe: вхід gpio5 gpio=5 irq=5
[Середа, 7 лютого, 16:37:00 2018] i2c-ch341-usb 2-2.1.4:1.0: ch341_cfg_probe: вхід gpio6 gpio=6 irq=6
[Середа, 7 лютого, 16:37:00 2018] i2c-ch341-usb 2-2.1.4:1.0: ch341_cfg_probe: вхід gpio7 gpio=7 irq=7
[Середа, 7 лютого, 16:37:00 2018] i2c-ch341-usb 2-2.1.4:1.0: ch341_i2c_probe: створено пристрій i2c /dev/i2c-8
[Середа, 7 лютого, 16:37:00 2018] i2c-ch341-usb 2-2.1.4:1.0: ch341_i2c_set_speed: Змінити швидкість шини i2c на 100 Кбіт/с
[Середа, 7 лютого, 16:37:00 2018] i2c-ch341-usb 2-2.1.4:1.0: ch341_usb_probe: підключено
[Ср, 7 лютого, 16:37:00 2018] usbcore: зареєстровано новий драйвер інтерфейсу i2c-ch341-usb

схеми та інформація

http://onetransistor.blogspot.hr/2017/08/ch341a-mini-programmer-schematic.html
http://www.zoobab.com/ch341-usb-spi-i2c-uart-isp-dongle
Я додав розпіновку soic 8 поверх гнізда zif, оскільки позиція контакту 1 неочевидна (або чітко позначена в будь-якому місці зверху). Я пропоную вам виправити це за допомогою срібної гострики.

saturn CH341A Mini Flash Programmer - рис.1

onetransistor.blogspot.com

альтернативні схеми

https://github.com/Upcycle-Electronics/CH341A-Pro
ch341Apro_schematicV01.pdf

Документи / Ресурси

Міні-флеш-програматор saturn CH341A [pdfІнструкції
CH341A Mini Flash Programmer, CH341A, Mini Flash Programmer, Flash Programmer, Programmer

Список літератури

Залиште коментар

Ваша електронна адреса не буде опублікована. Обов'язкові поля позначені *