logo sa saturn CH341A Mini Flash Programmer
Mga instruksyon

CH341A Mini Flash Programmer

saturn 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 gpio0 gpio=0 irq=0
[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.

saturn CH341A Mini Flash Programmer - fig1

onetransistor.blogspot.com

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

Mga pakisayran

Pagbilin ug komento

Ang imong email address dili mamantala. Ang gikinahanglan nga mga natad gimarkahan *