logo di Saturno Programmatore Mini Flash CH341A
Istruzioni

Programmatore Mini Flash CH341A

Saturno CH341A Mini Programmatore Flash

Contenuto: [Cose casuali non strutturate di Dobrica PavlinuÅ¡iÄ]

Questo è un dispositivo da 5 V senza modifiche! Funziona per me (tm) ma sei stato avvisato http://www.eevblog.com/forum/repair/ch341a-serial-memory-programmer-power-supply-fix/Basta sollevare il pin 28 e metterci del nastro adesivo per evitare cortocircuiti. Quindi saldare un filo da questo pin al pin 2 di AMS1117 e anche a C4. Il lato del C4 da collegare è quello connesso al pin 341 del CH9A.
CHM341A-3V3-fix.jpg

ponticello sui perni

1-2 Modalità programmatore flash SPI
2-3 Modalità seriale TTL
supportato immediatamente dalla flashrom, probabilmente un'opzione migliore, ma comunque:

https://github.com/setarcos/ch341prog

dpavlin@nuc:/nuc/ch341a$ git clone https://github.com/setarcos/ch341prog
Clonazione in "ch341prog"…
remoto: Conteggio oggetti: 104, fatto.
remoto: totale 104 (delta 0), riutilizzato 0 (delta 0), pack-reused 104
Ricezione di oggetti: 100% (104/104), 34.79 KiB | 0 byte/s, fatto.
Risoluzione dei delta: 100% (61/61), fatto.
Controllo della connettività… fatto.
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

Utilizzo:

-h, –aiuta a visualizzare questo messaggio
-i, –info legge le informazioni sull'ID del chip
-e, –erase cancella l'intero chip
-l, –length imposta manualmente la lunghezza
-w, –scrivifilenome> scrivi il chip con i dati da filenome
-r, –leggi <filenome> leggi il chip e salva i dati in filenome
-t, –turbo aumenta la velocità del bus i2c (-tt per utilizzare una velocità molto maggiore)
-d, –raddoppia la velocità del bus spi

I2C nello spazio utente

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: uno strumento di programmazione EEPROM i2c per l'IC WCH CH341a
Versione 0.5 copyright (c) 2011 asbokid
Questo programma non prevede alcuna garanzia; Questo è un software gratuito,
e sei libero di ridistribuirlo a determinate condizioni:
Licenza GNU GPL v3: http://www.gnu.org/licenses/gpl.html

Utilizzo:
-h, –aiuta a visualizzare questo testo
-v, –verbose output dettagliato
-d, –debug output di debug
-s, –dimensione dimensione della EEPROM {24c32|24c64}
-e, –erase cancella EEPROM (riempi con 0xff)
-w, –scrivifilenome> scrivi EEPROM con l'immagine da filenome
-r, –leggi <filenome> leggi EEPROM e salva l'immagine in filenome
Example: ch341eeprom -v -s 24c64 -w bootrom.bin

flashrom SPI

Non più necessario, incluso nella flashrom principale
clonare https://github.com/urjaman/flashrom/
git checkout -b origin/ch341a origin/ch341a
dpavlin@nuc:/nuc/flashrom$ sudo apt-get install pciutils-dev

modulo spi del kernel linux

dpavlin@nuc:/nuc$ git clone https://github.com/gschorcht/spi-ch341-usb.git
Clonazione in "spi-ch341-usb"...
remoto: Conteggio oggetti: 63, fatto.
remoto: totale 63 (delta 0), riutilizzato 0 (delta 0), pack-reused 63
Disimballaggio degli oggetti: 100% (63/63), fatto.
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]: Accesso alla directory "/usr/src/linux-headers-4.14.0-3-amd64"
CC [M] /nuc/spi-ch341-usb/spi-ch341-usb.o
Moduli costruttivi, stag2.
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]: uscita dalla directory '/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 slave SPI con cs=0
[525021.048285] spi-ch341-usb 2-2.1.4:1.0: ch341_cfg_probe: output cs1 slave SPI con cs=1
[525021.048287] spi-ch341-usb 2-2.1.4:1.0: ch341_cfg_probe: output cs2 slave SPI con cs=2
[525021.048290] spi-ch341-usb 2-2.1.4:1.0: ch341_cfg_probe: ingresso 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: master SPI connesso al bus SPI 0
[525021.048426] spi-ch341-usb 2-2.1.4:1.0: ch341_spi_probe: dispositivo SPI /dev/spidev0.0 creato
[525021.048516] spi-ch341-usb 2-2.1.4:1.0: ch341_spi_probe: dispositivo SPI /dev/spidev0.1 creato
[525021.048596] spi-ch341-usb 2-2.1.4:1.0: ch341_spi_probe: dispositivo SPI /dev/spidev0.2 creato
[525021.049147] spi-ch341-usb 2-2.1.4:1.0: ch341_usb_probe: connesso
[525021.049194] usbcore: registrato nuovo driver di interfaccia spi-ch341-usb

Modulo i2c del kernel 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"...
remoto: Conteggio oggetti: 39, fatto.
remoto: totale 39 (delta 0), riutilizzato 0 (delta 0), pack-reused 39
Disimballaggio degli oggetti: 100% (39/39), fatto.
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]: Accesso alla directory "/usr/src/linux-headers-4.14.0-3-amd64"
CC [M] /nuc/i2c-ch341-usb/i2c-ch341-usb.o
Moduli costruttivi, stag2.
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]: uscita dalla directory '/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 7 feb 16:37:00 2018] i2c-ch341-usb 2-2.1.4:1.0: ch341_cfg_probe: output gpio0 gpio=0 irq=0
[Mer 7 feb 16:37:00 2018] i2c-ch341-usb 2-2.1.4:1.0: ch341_cfg_probe: output gpio1 gpio=1 irq=1
[Mer 7 feb 16:37:00 2018] i2c-ch341-usb 2-2.1.4:1.0: ch341_cfg_probe: output gpio2 gpio=2 irq=2
[Mer 7 feb 16:37:00 2018] i2c-ch341-usb 2-2.1.4:1.0: ch341_cfg_probe: output gpio3 gpio=3 irq=3
[Mer 7 feb 16:37:00 2018] i2c-ch341-usb 2-2.1.4:1.0: ch341_cfg_probe: input gpio4 gpio=4 irq=4 (hwirq)
[Mer 7 feb 16:37:00 2018] i2c-ch341-usb 2-2.1.4:1.0: ch341_cfg_probe: input gpio5 gpio=5 irq=5
[Mer 7 feb 16:37:00 2018] i2c-ch341-usb 2-2.1.4:1.0: ch341_cfg_probe: input gpio6 gpio=6 irq=6
[Mer 7 feb 16:37:00 2018] i2c-ch341-usb 2-2.1.4:1.0: ch341_cfg_probe: input gpio7 gpio=7 irq=7
[Mer 7 Feb 16:37:00 2018] i2c-ch341-usb 2-2.1.4:1.0: ch341_i2c_probe: dispositivo i2c creato /dev/i2c-8
[Mer 7 Feb 16:37:00 2018] i2c-ch341-usb 2-2.1.4:1.0: ch341_i2c_set_speed: modifica la velocità del bus i2c a 100 kbps
[Mer 7 Feb 16:37:00 2018] i2c-ch341-usb 2-2.1.4:1.0: ch341_usb_probe: connesso
[Mer 7 Feb 16:37:00 2018] usbcore: registrato il nuovo driver di interfaccia i2c-ch341-usb

schemi e informazioni

http://onetransistor.blogspot.hr/2017/08/ch341a-mini-programmer-schematic.html
http://www.zoobab.com/ch341-usb-spi-i2c-uart-isp-dongle
Ho aggiunto il pinout soic 8 sul socket zif, perché la posizione del pin 1 non è ovvia (o chiaramente contrassegnata in qualsiasi punto in alto). Ti suggerisco di sistemarlo con il tagliente argento.

Saturn CH341A Mini Programmatore Flash - fig1

onetransistor.blogspot.com

schemi alternativi

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

Documenti / Risorse

Saturno CH341A Mini Programmatore Flash [pdf] Istruzioni
CH341A Mini Programmatore Flash, CH341A, Mini Programmatore Flash, Programmatore Flash, Programmatore

Riferimenti

Lascia un commento

Il tuo indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati *