CH341A Mini Flash Programmer
Mga instruksyon
CH341A Mini Flash Programmer
Mga sulod: [Random nga wala matukod nga butang ni Dobrica PavlinuÅ¡iÄ]
Kini ang 5V nga aparato nga wala’y pagbag-o! Kini nagtrabaho alang kanako(tm) apan ikaw gipasidan-an http://www.eevblog.com/forum/repair/ch341a-serial-memory-programmer-power-supply-fix/Iisa lang ang pin 28 ug ibutang ang tape sa ilawom niini aron malikayan ang bisan unsang short circuit. Dayon ibaligya ang usa ka wire gikan niini nga pin ngadto sa pin 2 sa AMS1117 ug usab sa C4. Ang kilid sa C4 nga magkonektar mao ang konektado sa CH341A pin 9.
CHM341A-3V3-fix.jpg
jumper sa mga pin
1-2 SPI flash programmer mode
2-3 TTL serial mode
gisuportahan sa out-of-box pinaagi sa flashrom, tingali mas maayo nga kapilian, apan bisan pa:
https://github.com/setarcos/ch341prog
dpavlin@nuc:/nuc/ch341a$ git clone https://github.com/setarcos/ch341prog
Pag-clone sa 'ch341prog'…
hilit: Pag-ihap sa mga butang: 104, nahuman na.
hilit: Total 104 (delta 0), gigamit pag-usab 0 (delta 0), pack-gigamit pag-usab 104
Pagdawat og mga butang: 100% (104/104), 34.79 KiB | 0 bytes/s, nahuman.
Pagsulbad sa mga delta: 100% (61/61), nahuman na.
Pagsusi sa pagkadugtong… nahuman na.
dpavlin@nuc:/nuc/ch341a$ cd ch341prog/
dpavlin@nuc:/nuc/ch341a/ch341prog$ paghimo
gcc -std=gnu99 -Wall ch341a.c main.c -o ch341prog -lusb-1.0
dpavlin@nuc:/nuc/ch341a/ch341prog$ ./ch341prog
Paggamit:
-h, –tabang sa pagpakita niini nga mensahe
-i, -info basaha ang impormasyon sa chip ID
-e, -erase papason ang tibuok chip
-l, -gitas-on kamut nga gitakda ang gitas-on
-w, -isulatfilengalan> pagsulat chip nga adunay data gikan sa filengalan
-r, -basahafilengalan> basaha ang chip ug i-save ang data sa filengalan
-t, -turbo nagdugang sa katulin sa i2c bus (-tt aron magamit ang labi ka paspas nga tulin)
-d, –doble ang spi bus speed
I2C sa userspace
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 – usa ka i2c EEPROM programming tool para sa WCH CH341a IC
Bersyon 0.5 copyright (c) 2011 asbokid
Kini nga programa moabut nga walay warranty; Kini usa ka libre nga software,
ug giabi-abi ka sa pag-apod-apod niini ubos sa pipila ka mga kondisyon:
GNU GPL v3 Lisensya: http://www.gnu.org/licenses/gpl.html
Paggamit:
-h, –tabang sa pagpakita niini nga teksto
-v, -verbose verbose nga output
-d, –debug debug output
-s, –dako nga gidak-on sa EEPROM {24c32|24c64}
-e, – erase erase EEPROM (pun-i og 0xff)
-w, -isulatfilengalan> isulat ang EEPROM nga adunay imahe gikan sa filengalan
-r, -basahafilengalan> basaha ang EEPROM ug i-save ang imahe sa filengalan
Example: ch341eeprom -v -s 24c64 -w bootrom.bin
flashrom SPI
Dili na kinahanglan, gilakip sa mainline flashrom
git clone https://github.com/urjaman/flashrom/
git checkout -b gigikanan/ch341a gigikanan/ch341a
dpavlin@nuc:/nuc/flashrom$ sudo apt-get install pciutils-dev
linux kernel spi module
dpavlin@nuc:/nuc$ git clone https://github.com/gschorcht/spi-ch341-usb.git
Pag-clone sa 'spi-ch341-usb'…
hilit: Pag-ihap sa mga butang: 63, nahuman na.
hilit: Total 63 (delta 0), gigamit pag-usab 0 (delta 0), pack-gigamit pag-usab 63
Pag-unpack sa mga butang: 100% (63/63), nahuman na.
dpavlin@nuc:/nuc$ cd spi-ch341-usb
dpavlin@nuc:/nuc/spi-ch341-usb$ paghimo
paghimo -C /usr/src/linux-headers-4.14.0-3-amd64/ M=/nuc/spi-ch341-usb modules
paghimo [1]: Pagsulod sa direktoryo '/usr/src/linux-headers-4.14.0-3-amd64'
CC [M] /nuc/spi-ch341-usb/spi-ch341-usb.o
Mga module sa pagtukod, stagug 2.
MODPOST 1 nga mga module
CC /nuc/spi-ch341-usb/spi-ch341-usb.mod.o
LD [M] /nuc/spi-ch341-usb/spi-ch341-usb.ko
paghimo [1]: Pagbiya sa direktoryo '/usr/src/linux-headers-4.14.0-3-amd64'
dpavlin@nuc:/nuc/spi-ch341-usb$
dpavlin@nuc:/nuc/spi-ch341-usb$ sudo paghimo sa pag-instalar
[sudo] password para sa 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 nga ulipon nga adunay cs=0
[525021.048285] spi-ch341-usb 2-2.1.4:1.0: ch341_cfg_probe: output cs1 SPI nga ulipon nga adunay cs=1
[525021.048287] spi-ch341-usb 2-2.1.4:1.0: ch341_cfg_probe: output cs2 SPI nga ulipon nga adunay 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 konektado sa SPI bus 0
[525021.048426] spi-ch341-usb 2-2.1.4:1.0: ch341_spi_probe: SPI device / dev/spidev0.0 gibuhat
[525021.048516] spi-ch341-usb 2-2.1.4:1.0: ch341_spi_probe: SPI device / dev/spidev0.1 gibuhat
[525021.048596] spi-ch341-usb 2-2.1.4:1.0: ch341_spi_probe: SPI device / dev/spidev0.2 gibuhat
[525021.049147] spi-ch341-usb 2-2.1.4:1.0: ch341_usb_probe: konektado
[525021.049194] usbcore: narehistro nga bag-ong interface driver spi-ch341-usb
linux kernel i2c module
https://github.com/gschorcht/i2c-ch341-usb
gamut@nuc:/nuc# git clone https://github.com/gschorcht/i2c-ch341-usb.git
Pag-clone sa 'i2c-ch341-usb'…
hilit: Pag-ihap sa mga butang: 39, nahuman na.
hilit: Total 39 (delta 0), gigamit pag-usab 0 (delta 0), pack-gigamit pag-usab 39
Pag-unpack sa mga butang: 100% (39/39), nahuman na.
gamut@nuc:/nuc# cd i2c-ch341-usb
gamut@nuc:/nuc/i2c-ch341-usb# paghimo
paghimo -C /usr/src/linux-headers-4.14.0-3-amd64/ M=/nuc/i2c-ch341-usb modules
paghimo [1]: Pagsulod sa direktoryo '/usr/src/linux-headers-4.14.0-3-amd64'
CC [M] /nuc/i2c-ch341-usb/i2c-ch341-usb.o
Mga module sa pagtukod, stagug 2.
MODPOST 1 nga mga module
CC /nuc/i2c-ch341-usb/i2c-ch341-usb.mod.o
LD [M] /nuc/i2c-ch341-usb/i2c-ch341-usb.ko
paghimo [1]: Pagbiya sa direktoryo '/usr/src/linux-headers-4.14.0-3-amd64'
gamut@nuc:/nuc/i2c-ch341-usb#
gamut @ nuc: / nuc / i2c-ch341-usb # sudo paghimo sa pag-install
gamut@nuc:/nuc/i2c-ch341-usb# modprobe i2c-ch341-usb
[Miyerkules Peb 7 16:37:00 2018] i2c-ch341-usb 2-2.1.4:1.0: ch341_cfg_probe: output gpio1 gpio=1 irq=1
[Miyerkules Peb 7 16:37:00 2018] i2c-ch341-usb 2-2.1.4:1.0: ch341_cfg_probe: output gpio2 gpio=2 irq=2
[Miyerkules Peb 7 16:37:00 2018] i2c-ch341-usb 2-2.1.4:1.0: ch341_cfg_probe: output gpio3 gpio=3 irq=3
[Miyerkules Peb 7 16:37:00 2018] i2c-ch341-usb 2-2.1.4:1.0: ch341_cfg_probe: input gpio4 gpio=4 irq=4 (hwirq)
[Miyerkules Peb 7 16:37:00 2018] i2c-ch341-usb 2-2.1.4:1.0: ch341_cfg_probe: input gpio5 gpio=5 irq=5
[Miyerkules Peb 7 16:37:00 2018] i2c-ch341-usb 2-2.1.4:1.0: ch341_cfg_probe: input gpio6 gpio=6 irq=6
[Miyerkules Peb 7 16:37:00 2018] i2c-ch341-usb 2-2.1.4:1.0: ch341_cfg_probe: input gpio7 gpio=7 irq=7
[Miyerkules Peb 7 16:37:00 2018] i2c-ch341-usb 2-2.1.4:1.0: ch341_i2c_probe: gibuhat ang i2c device /dev/i2c-8
[Miyerkules Feb 7 16:37:00 2018] i2c-ch341-usb 2-2.1.4:1.0: ch341_i2c_set_speed: Usba ang i2c bus speed ngadto sa 100 kbps
[Miyerkules Peb 7 16:37:00 2018] i2c-ch341-usb 2-2.1.4:1.0: ch341_usb_probe: konektado
[Miyerkules Feb 7 16:37:00 2018] usbcore: narehistro nga bag-ong interface driver i2c-ch341-usb
schematics ug impormasyon
http://onetransistor.blogspot.hr/2017/08/ch341a-mini-programmer-schematic.html
http://www.zoobab.com/ch341-usb-spi-i2c-uart-isp-dongle
Gidugang nako ang soic 8 pinout sa zif socket, tungod kay ang posisyon sa pin 1 dili klaro (o tin-aw nga gimarkahan bisan asa sa ibabaw). Gisugyot ko nga ayohon nimo kana gamit ang pilak nga sharpy.
alternatibong eskematiko
https://github.com/Upcycle-Electronics/CH341A-Pro
ch341Apro_schematicV01.pdf
Mga Dokumento / Mga Kapanguhaan
![]() |
saturn CH341A Mini Flash Programmer [pdf] Mga instruksiyon CH341A Mini Flash Programmer, CH341A, Mini Flash Programmer, Flash Programmer, Programmer |