logo ng saturn CH341A Mini Flash Programmer
Mga tagubilin

CH341A Mini Flash Programmer

saturn CH341A Mini Flash Programmer

Mga Nilalaman: [Dobrica PavlinuÅ¡iÄ's random unstructured stuff]

Ito ay 5V device na walang pagbabago! Ito ay gumagana para sa akin(tm) ngunit ikaw ay binigyan ng babala http://www.eevblog.com/forum/repair/ch341a-serial-memory-programmer-power-supply-fix/Iangat lang ang pin 28 at maglagay ng tape sa ilalim nito upang maiwasan ang anumang short circuit. Pagkatapos ay maghinang ng isang wire mula sa pin na ito sa pin 2 ng AMS1117 at gayundin sa C4. Ang gilid ng C4 na ikokonekta ay ang nakakonekta sa CH341A pin 9.
CHM341A-3V3-fix.jpg

jumper sa mga pin

1-2 SPI flash programmer mode
2-3 TTL serial mode
suportado out-of-box ng flashrom, marahil mas mahusay na opsyon, ngunit gayon pa man:

https://github.com/setarcos/ch341prog

dpavlin@nuc:/nuc/ch341a$ git clone https://github.com/setarcos/ch341prog
Pag-clone sa 'ch341prog'...
remote: Nagbibilang ng mga bagay: 104, tapos na.
remote: Kabuuan 104 (delta 0), muling ginamit 0 (delta 0), pack-reused 104
Pagtanggap ng mga bagay: 100% (104/104), 34.79 KiB | 0 bytes/s, tapos na.
Paglutas ng mga delta: 100% (61/61), tapos na.
Sinusuri ang pagkakakonekta... tapos na.
dpavlin@nuc:/nuc/ch341a$ cd ch341prog/
dpavlin@nuc:/nuc/ch341a/ch341prog$ gumawa
gcc -std=gnu99 -Wall ch341a.c main.c -o ch341prog -lusb-1.0
dpavlin@nuc:/nuc/ch341a/ch341prog$ ./ch341prog

Paggamit:

-h, –tulungan ipakita ang mensaheng ito
-i, –info basahin ang impormasyon ng chip ID
-e, -erase burahin ang buong chip
-l, -haba manu-manong itakda ang haba
-w, –sumulatfilepangalan> sumulat ng chip na may data mula sa filepangalan
-r, -basahinfilepangalan> basahin ang chip at i-save ang data sa filepangalan
-t, –turbo pataasin ang i2c bus speed (-tt para gumamit ng mas mabilis na bilis)
-d, –doblehin ang bilis ng spi bus

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 – isang i2c EEPROM programming tool para sa WCH CH341a IC
Bersyon 0.5 copyright (c) 2011 asbokid
Ang program na ito ay talagang walang warranty; Ito ay libreng software,
at maaari kang muling ipamahagi ito sa ilalim ng ilang mga kundisyon:
Lisensya ng GNU GPL v3: http://www.gnu.org/licenses/gpl.html

Paggamit:
-h, –tulungan ipakita ang tekstong ito
-v, –verbose verbose output
-d, –debug debug na output
-s, –size size ng EEPROM {24c32|24c64}
-e, –erase burahin ang EEPROM (punan ng 0xff)
-w, –sumulatfilepangalan> isulat ang EEPROM na may larawan mula sa filepangalan
-r, -basahinfilepangalan> basahin ang EEPROM at i-save ang larawan sa filepangalan
Example: ch341eeprom -v -s 24c64 -w bootrom.bin

flashrom SPI

Hindi na kailangan, kasama sa mainline flashrom
git clone https://github.com/urjaman/flashrom/
git checkout -b pinanggalingan/ch341a pinanggalingan/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
Kino-clone sa 'spi-ch341-usb'...
remote: Nagbibilang ng mga bagay: 63, tapos na.
remote: Kabuuan 63 (delta 0), muling ginamit 0 (delta 0), pack-reused 63
Pag-unpack ng mga bagay: 100% (63/63), tapos na.
dpavlin@nuc:/nuc$ cd spi-ch341-usb
dpavlin@nuc:/nuc/spi-ch341-usb$ gumawa
gumawa ng -C /usr/src/linux-headers-4.14.0-3-amd64/ M=/nuc/spi-ch341-usb modules
make[1]: Pagpasok ng direktoryo na '/usr/src/linux-headers-4.14.0-3-amd64'
CC [M] /nuc/spi-ch341-usb/spi-ch341-usb.o
Building modules, stagat 2.
MODPOST 1 na mga module
CC /nuc/spi-ch341-usb/spi-ch341-usb.mod.o
LD [M] /nuc/spi-ch341-usb/spi-ch341-usb.ko
make[1]: Umalis sa direktoryo na '/usr/src/linux-headers-4.14.0-3-amd64'
dpavlin@nuc:/nuc/spi-ch341-usb$
dpavlin@nuc:/nuc/spi-ch341-usb$ sudo gumawa ng pag-install
[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 slave na may cs=0
[525021.048285] spi-ch341-usb 2-2.1.4:1.0: ch341_cfg_probe: output cs1 SPI slave na may cs=1
[525021.048287] spi-ch341-usb 2-2.1.4:1.0: ch341_cfg_probe: output cs2 SPI slave na may 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: nilikha ang SPI device /dev/spidev0.0
[525021.048516] spi-ch341-usb 2-2.1.4:1.0: ch341_spi_probe: nilikha ang SPI device /dev/spidev0.1
[525021.048596] spi-ch341-usb 2-2.1.4:1.0: ch341_spi_probe: nilikha ang SPI device /dev/spidev0.2
[525021.049147] spi-ch341-usb 2-2.1.4:1.0: ch341_usb_probe: konektado
[525021.049194] usbcore: nakarehistrong bagong interface driver spi-ch341-usb

linux kernel i2c module

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

ugat@nuc:/nuc# git clone https://github.com/gschorcht/i2c-ch341-usb.git
Pag-clone sa 'i2c-ch341-usb'...
remote: Nagbibilang ng mga bagay: 39, tapos na.
remote: Kabuuan 39 (delta 0), muling ginamit 0 (delta 0), pack-reused 39
Pag-unpack ng mga bagay: 100% (39/39), tapos na.
ugat@nuc:/nuc# cd i2c-ch341-usb
ugat@nuc:/nuc/i2c-ch341-usb# gumawa
gumawa ng -C /usr/src/linux-headers-4.14.0-3-amd64/ M=/nuc/i2c-ch341-usb modules
make[1]: Pagpasok ng direktoryo na '/usr/src/linux-headers-4.14.0-3-amd64'
CC [M] /nuc/i2c-ch341-usb/i2c-ch341-usb.o
Building modules, stagat 2.
MODPOST 1 na mga module
CC /nuc/i2c-ch341-usb/i2c-ch341-usb.mod.o
LD [M] /nuc/i2c-ch341-usb/i2c-ch341-usb.ko
make[1]: Umalis sa direktoryo na '/usr/src/linux-headers-4.14.0-3-amd64'
ugat@nuc:/nuc/i2c-ch341-usb#
root@nuc:/nuc/i2c-ch341-usb# sudo gumawa ng pag-install
root@nuc:/nuc/i2c-ch341-usb# modprobe i2c-ch341-usb

[Wed Peb 7 16:37:00 2018] i2c-ch341-usb 2-2.1.4:1.0: ch341_cfg_probe: output gpio0 gpio=0 irq=0
[Wed Peb 7 16:37:00 2018] i2c-ch341-usb 2-2.1.4:1.0: ch341_cfg_probe: output gpio1 gpio=1 irq=1
[Wed Peb 7 16:37:00 2018] i2c-ch341-usb 2-2.1.4:1.0: ch341_cfg_probe: output gpio2 gpio=2 irq=2
[Wed Peb 7 16:37:00 2018] i2c-ch341-usb 2-2.1.4:1.0: ch341_cfg_probe: output gpio3 gpio=3 irq=3
[Wed 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)
[Wed Peb 7 16:37:00 2018] i2c-ch341-usb 2-2.1.4:1.0: ch341_cfg_probe: input gpio5 gpio=5 irq=5
[Wed Peb 7 16:37:00 2018] i2c-ch341-usb 2-2.1.4:1.0: ch341_cfg_probe: input gpio6 gpio=6 irq=6
[Wed Peb 7 16:37:00 2018] i2c-ch341-usb 2-2.1.4:1.0: ch341_cfg_probe: input gpio7 gpio=7 irq=7
[Wed Peb 7 16:37:00 2018] i2c-ch341-usb 2-2.1.4:1.0: ch341_i2c_probe: gumawa ng i2c device /dev/i2c-8
[Wed Peb 7 16:37:00 2018] i2c-ch341-usb 2-2.1.4:1.0: ch341_i2c_set_speed: Baguhin ang i2c bus speed sa 100 kbps
[Wed Peb 7 16:37:00 2018] i2c-ch341-usb 2-2.1.4:1.0: ch341_usb_probe: konektado
[Wed Peb 7 16:37:00 2018] usbcore: nakarehistrong bagong interface driver na i2c-ch341-usb

eskematiko at impormasyon

http://onetransistor.blogspot.hr/2017/08/ch341a-mini-programmer-schematic.html
http://www.zoobab.com/ch341-usb-spi-i2c-uart-isp-dongle
Nagdagdag ako ng soic 8 pinout sa zif socket, dahil ang posisyon ng pin 1 ay hindi halata (o malinaw na minarkahan kahit saan sa itaas). I suggest na ayusin mo yan gamit ang silver 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 Mapagkukunan

saturn CH341A Mini Flash Programmer [pdf] Mga tagubilin
CH341A Mini Flash Programmer, CH341A, Mini Flash Programmer, Flash Programmer, Programmer

Mga sanggunian

Mag-iwan ng komento

Ang iyong email address ay hindi maipa-publish. Ang mga kinakailangang field ay minarkahan *