CH341A Mini Flash Programmer
Mga tagubilin
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 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.
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 |