logu di Saturnu CH341A Mini-Programmatore Flash
Istruzzioni

CH341A Mini-Programmatore Flash

Saturn CH341A Mini-Programmatore Flash

Cuntenuti: [Roba casuale non strutturata di Dobrica PavlinuÅ¡iÄ]

Questu hè un dispositivu 5V senza mudificazione! Funziona per mè (tm) ma avete statu avvistatu http://www.eevblog.com/forum/repair/ch341a-serial-memory-programmer-power-supply-fix/Basta alzà u pin 28 è mette un pocu di cinta sottu per prevene ogni cortu circuitu. Allora salda un filu da questu pin à u pin 2 di AMS1117 è ancu à C4. U latu di u C4 per cunnette hè quellu cunnessu à CH341A pin 9.
CHM341A-3V3-fix.jpg

jumper in pins

1-2 Modalità di programatore flash SPI
2-3 Modu seriale TTL
supportatu fora di scatula da flashrom, probabilmente megliu opzione, ma in ogni modu:

https://github.com/setarcos/ch341prog

dpavlin@nuc:/nuc/ch341a$ git clone https://github.com/setarcos/ch341prog
Clonazione in "ch341prog"...
luntani: cuntà l'uggetti: 104, fattu.
Remote: Total 104 (delta 0), reutilizatu 0 (delta 0), pack-reused 104
Riceve oggetti: 100% (104/104), 34.79 KiB | 0 byte/s, fattu.
Risoluzione delta: 100% (61/61), fattu.
Verificazione di a cunnessione ... fattu.
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

usu:

-h, -help à vede stu missaghju
-i, -info leghje u chip ID info
-e, -erase efface tuttu u chip
-l, -lunghezza lunghezza impostata manualmente
-w, -scrivitefilenome> scrive chip cù dati da filenomu
-r, -leghjefilename> leghje chip è salvà dati à filenomu
-t, -turbo aumenta a velocità di l'autobus i2c (-tt per aduprà una velocità assai più veloce)
-d, -doppiu duppià a vitezza spi bus

I2C in u spaziu d'utilizatore

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 - un strumentu di prugrammazione EEPROM i2c per u WCH CH341a IC
Versione 0.5 copyright (c) 2011 asbokid
Stu prugrammu vene cù asbolutely senza guaranzia; Questu hè un software liberu,
è site benvenutu à ridistribuisce in certi cundizioni:
Licenza GNU GPL v3: http://www.gnu.org/licenses/gpl.html

usu:
-h, -help à vede stu testu
-v, -verbose output verbose
-d, -debug output di debug
-s, -size size of EEPROM {24c32|24c64}
-e, -erase erase EEPROM (riempite cù 0xff)
-w, -scrivitefilenome> scrive EEPROM cù l'imaghjini da filenomu
-r, -leghjefilename> leghjite l'EEPROM è salvate l'immagine filenomu
Example: ch341eeprom -v -s 24c64 -w bootrom.bin

flashrom SPI

Ùn hè più necessariu, inclusu in flashrom mainline
git clone https://github.com/urjaman/flashrom/
git checkout -b origine/ch341a origine/ch341a
dpavlin@nuc:/nuc/flashrom$ sudo apt-get install pciutils-dev

modulu spi kernel linux

dpavlin@nuc:/nuc$ git clone https://github.com/gschorcht/spi-ch341-usb.git
Clonazione in 'spi-ch341-usb'...
luntani: cuntà l'uggetti: 63, fattu.
Remote: Total 63 (delta 0), reutilizatu 0 (delta 0), pack-reused 63
Unpacking objects: 100% (63/63), fattu.
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 moduli
make[1]: Ingressu in u cartulare '/usr/src/linux-headers-4.14.0-3-amd64'
CC [M] /nuc/spi-ch341-usb/spi-ch341-usb.o
Moduli di costruzione, stagè 2.
Moduli MODPOST 1
CC /nuc/spi-ch341-usb/spi-ch341-usb.mod.o
LD [M] /nuc/spi-ch341-usb/spi-ch341-usb.ko
make[1]: Lascià u cartulare '/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] password per 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: output cs0 SPI slave cù cs=0
[525021.048285] spi-ch341-usb 2-2.1.4:1.0: ch341_cfg_probe: output cs1 SPI slave cù cs=1
[525021.048287] spi-ch341-usb 2-2.1.4:1.0: ch341_cfg_probe: output cs2 SPI slave cù cs=2
[525021.048290] spi-ch341-usb 2-2.1.4:1.0: ch341_cfg_probe: input gpio4 gpio=0 irq=0 (hwirq)
[525021.048292] spi-ch341-usb 2-2.1.4:1.0: ch341_cfg_probe: input gpio5 gpio=1 irq=1
[525021.048296] spi-ch341-usb 2-2.1.4:1.0: ch341_spi_probe: SPI master cunnessu à SPI bus 0
[525021.048426] spi-ch341-usb 2-2.1.4:1.0: ch341_spi_probe: Dispositivo SPI /dev/spidev0.0 creatu
[525021.048516] spi-ch341-usb 2-2.1.4:1.0: ch341_spi_probe: Dispositivo SPI /dev/spidev0.1 creatu
[525021.048596] spi-ch341-usb 2-2.1.4:1.0: ch341_spi_probe: Dispositivo SPI /dev/spidev0.2 creatu
[525021.049147] spi-ch341-usb 2-2.1.4:1.0: ch341_usb_probe: cunnessu
[525021.049194] usbcore: novu driver d'interfaccia registratu spi-ch341-usb

modulu i2c di u kernel di linux

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

root@nuc:/nuc# git clone https://github.com/gschorcht/i2c-ch341-usb.git
Clonazione in "i2c-ch341-usb"...
luntani: cuntà l'uggetti: 39, fattu.
Remote: Total 39 (delta 0), reutilizatu 0 (delta 0), pack-reused 39
Unpacking objects: 100% (39/39), fattu.
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 moduli
make[1]: Ingressu in u cartulare '/usr/src/linux-headers-4.14.0-3-amd64'
CC [M] /nuc/i2c-ch341-usb/i2c-ch341-usb.o
Moduli di costruzione, stagè 2.
Moduli MODPOST 1
CC /nuc/i2c-ch341-usb/i2c-ch341-usb.mod.o
LD [M] /nuc/i2c-ch341-usb/i2c-ch341-usb.ko
make[1]: Lascià u cartulare '/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

[Mer Feb 7 16:37:00 2018] i2c-ch341-usb 2-2.1.4:1.0: ch341_cfg_probe: output gpio0 gpio=0 irq=0
[Mer Feb 7 16:37:00 2018] i2c-ch341-usb 2-2.1.4:1.0: ch341_cfg_probe: output gpio1 gpio=1 irq=1
[Mer Feb 7 16:37:00 2018] i2c-ch341-usb 2-2.1.4:1.0: ch341_cfg_probe: output gpio2 gpio=2 irq=2
[Mer Feb 7 16:37:00 2018] i2c-ch341-usb 2-2.1.4:1.0: ch341_cfg_probe: output gpio3 gpio=3 irq=3
[Mer Feb 7 16:37:00 2018] i2c-ch341-usb 2-2.1.4:1.0: ch341_cfg_probe: input gpio4 gpio=4 irq=4 (hwirq)
[Mer Feb 7 16:37:00 2018] i2c-ch341-usb 2-2.1.4:1.0: ch341_cfg_probe: input gpio5 gpio=5 irq=5
[Mer Feb 7 16:37:00 2018] i2c-ch341-usb 2-2.1.4:1.0: ch341_cfg_probe: input gpio6 gpio=6 irq=6
[Mer Feb 7 16:37:00 2018] i2c-ch341-usb 2-2.1.4:1.0: ch341_cfg_probe: input gpio7 gpio=7 irq=7
[Mer Feb 7 16:37:00 2018] i2c-ch341-usb 2-2.1.4:1.0: ch341_i2c_probe: creatu i2c device /dev/i2c-8
[Mer Feb 7 16:37:00 2018] i2c-ch341-usb 2-2.1.4:1.0: ch341_i2c_set_speed: Cambia a velocità di l'autobus i2c à 100 kbps
[Mer Feb 7 16:37:00 2018] i2c-ch341-usb 2-2.1.4:1.0: ch341_usb_probe: cunnessu
[Mer Feb 7 16:37:00 2018] usbcore: registratu novu driver d'interfaccia i2c-ch341-usb

schemi è info

http://onetransistor.blogspot.hr/2017/08/ch341a-mini-programmer-schematic.html
http://www.zoobab.com/ch341-usb-spi-i2c-uart-isp-dongle
Aghju aghjustatu soic 8 pinout over zif socket, perchè a pusizione di u pin 1 ùn hè micca evidenti (o chjaramente marcatu in ogni locu in cima). Suggerimu di riparà questu cù l'argentu sharpy.

Saturn CH341A Mini-Programmatore Flash - fig1

onetransistor.blogspot.com

schemi alternativi

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

Documenti / Risorse

Saturn CH341A Mini-Programmatore Flash [pdf] Istruzzioni
CH341A Mini Programmer Flash, CH341A, Mini Programmer Flash, Programmer Flash, Programmer

Referenze

Lascia un cumentu

U vostru indirizzu email ùn serà micca publicatu. I campi obbligatori sò marcati *