CH341A Mini Flash Programmer
Cov lus qhia
CH341A Mini Flash Programmer

Cov ntsiab lus: [Dobrica PavlinuÅ¡iÄ's random unstructured khoom]
Qhov no yog 5V ntaus ntawv tsis muaj kev hloov kho! Nws ua haujlwm rau kuv (tm) tab sis koj tau ceeb toom http://www.eevblog.com/forum/repair/ch341a-serial-memory-programmer-power-supply-fix/Tsuas yog nqa tus pin 28 thiab muab qee daim kab xev rau hauv qab kom tsis txhob muaj qhov luv luv. Tom qab ntawd solder ib tug hlau los ntawm tus pin no mus rau tus pin 2 ntawm AMS1117 thiab kuj mus rau C4. Sab ntawm C4 txuas yog ib qho txuas nrog CH341A tus pin 9.
CHM341A-3V3-fix.jpg
jumper ntawm pins
1-2 SPI flash programmer hom
2-3 TTL serial hom
kev txhawb nqa tawm ntawm lub thawv los ntawm flashrom, tej zaum yuav zoo dua kev xaiv, tab sis txawm li cas los xij:
https://github.com/setarcos/ch341prog
dpavlin@nuc:/nuc/ch341a$ git clone https://github.com/setarcos/ch341prog
Cloning rau 'ch341prog'…
tej thaj chaw deb: suav cov khoom: 104, ua tiav.
tej thaj chaw deb: Tag nrho 104 (delta 0), rov qab siv 0 (delta 0), pob rov siv dua 104
Txais khoom: 100% (104/104), 34.79 KiB | 0 bytes/s, ua.
Kev daws teeb meem deltas: 100% (61/61), ua tiav.
Tshawb xyuas kev sib txuas… ua tiav.
dpavlin@nuc:/nuc/ch341a$ cd ch341prog/
dpavlin@nuc:/nuc/ch341a/ch341prog$ ua
gcc -std=gnu99 -Wall ch341a.c main.c -o ch341prog -lusb-1.0
dpavlin@nuc:/nuc/ch341a/ch341prog$ ./ch341prog
Kev siv:
-h, -pab qhia cov lus no
-i, -info nyeem cov ntaub ntawv chip ID
-e, -erase lwv tag nrho cov nti
-l, -ntev manually teem ntev
-w, -saufilenpe> sau nti nrog cov ntaub ntawv los ntawm filenpe
-r, - nyeemfilenpe> nyeem nti thiab txuag cov ntaub ntawv rau filenpe
-t, -turbo nce lub tsheb npav i2c ceev (-tt siv nrawm dua)
-d, -ob npaug ob npaug rau spi tsheb npav ceev
I2C hauv 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 – i2c EEPROM programming tool rau WCH CH341a IC
Version 0.5 copyright (c) 2011 asbokid
Qhov kev pab cuam no los nrog kiag li tsis muaj warranty; Nov yog software dawb,
thiab koj tuaj yeem xa rov qab faib nws raws li qee yam xwm txheej:
GNU GPL v3 Daim ntawv tso cai: http://www.gnu.org/licenses/gpl.html
Kev siv:
-h, -pab qhia cov ntawv no
-v, -verbose verbose tso zis
-d, -debug debug tso zis
-s, –size size of EEPROM {24c32|24c64}
-e, -erase lwv EEPROM (sau nrog 0xff)
-w, -saufilenpe> sau EEPROM nrog duab los ntawm filenpe
-r, - nyeemfilenpe> nyeem EEPROM thiab txuag duab rau filenpe
Example: ch341eeprom -v -s 24c64 -w bootrom.bin
flashrom SPI
Tsis xav tau ntxiv lawm, suav nrog hauv mainline flashrom
ua clone https://github.com/urjaman/flashrom/
git checkout -b keeb kwm/ch341a keeb kwm/ch341a
dpavlin@nuc:/nuc/flashrom$ sudo apt-mus nruab pciutils-dev
linux kernel spi module
dpavlin@nuc:/nuc$ git clone https://github.com/gschorcht/spi-ch341-usb.git
Cloning rau 'spi-ch341-usb'…
tej thaj chaw deb: suav cov khoom: 63, ua tiav.
tej thaj chaw deb: Tag nrho 63 (delta 0), rov qab siv 0 (delta 0), pob rov siv dua 63
Unpacking khoom: 100% (63/63), ua tiav.
dpavlin@nuc:/nuc$ cd spi-ch341-usb
dpavlin@nuc:/nuc/spi-ch341-usb$ ua
ua -C /usr/src/linux-headers-4.14.0-3-amd64/ M = / nuc/spi-ch341-usb modules
ua[1]: Nkag mus rau cov npe '/usr/src/linux-headers-4.14.0-3-amd64'
CC [M] /nuc/spi-ch341-usb/spi-ch341-usb.o
Lub tsev modules, stagthiab 2.
MODPOST 1 modules
CC /nuc/spi-ch341-usb/spi-ch341-usb.mod.o
LD [M] /nuc/spi-ch341-usb/spi-ch341-usb.ko
make[1]: Tawm directory '/usr/src/linux-headers-4.14.0-3-amd64'
dpavlin@nuc:/nuc/spi-ch341-usb$
dpavlin@nuc:/nuc/spi-ch341-usb$ sudo ua nruab
[sudo] password rau 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 qhev nrog cs=0
[525021.048285] spi-ch341-usb 2-2.1.4:1.0: ch341_cfg_probe: output cs1 SPI qhev nrog cs=1
[525021.048287] spi-ch341-usb 2-2.1.4:1.0: ch341_cfg_probe: output cs2 SPI qhev nrog 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 txuas nrog SPI npav 0
[525021.048426] spi-ch341-usb 2-2.1.4:1.0: ch341_spi_probe: SPI ntaus ntawv /dev/spidev0.0 tsim
[525021.048516] spi-ch341-usb 2-2.1.4:1.0: ch341_spi_probe: SPI ntaus ntawv /dev/spidev0.1 tsim
[525021.048596] spi-ch341-usb 2-2.1.4:1.0: ch341_spi_probe: SPI ntaus ntawv /dev/spidev0.2 tsim
[525021.049147] spi-ch341-usb 2-2.1.4:1.0: ch341_usb_probe: txuas
[525021.049194] usbcore: sau npe tshiab interface tsav tsheb spi-ch341-usb
linux ntsiav i2c module
https://github.com/gschorcht/i2c-ch341-usb
root@nuc:/nuc# git clone https://github.com/gschorcht/i2c-ch341-usb.git
Cloning rau 'i2c-ch341-usb'…
tej thaj chaw deb: suav cov khoom: 39, ua tiav.
tej thaj chaw deb: Tag nrho 39 (delta 0), rov qab siv 0 (delta 0), pob rov siv dua 39
Unpacking khoom: 100% (39/39), ua tiav.
root@nuc:/nuc# cd i2c-ch341-usb
root@nuc:/nuc/i2c-ch341-usb# make
ua -C /usr/src/linux-headers-4.14.0-3-amd64/ M = / nuc/i2c-ch341-usb modules
ua[1]: Nkag mus rau cov npe '/usr/src/linux-headers-4.14.0-3-amd64'
CC [M] /nuc/i2c-ch341-usb/i2c-ch341-usb.o
Lub tsev modules, stagthiab 2.
MODPOST 1 modules
CC /nuc/i2c-ch341-usb/i2c-ch341-usb.mod.o
LD [M] /nuc/i2c-ch341-usb/i2c-ch341-usb.ko
make[1]: Tawm directory '/usr/src/linux-headers-4.14.0-3-amd64'
root@nuc:/nuc/i2c-ch341-usb#
root@nuc:/nuc/i2c-ch341-usb# sudo ua nruab
root@nuc:/nuc/i2c-ch341-usb# modprobe i2c-ch341-usb
[Wed Feb 7 16:37:00 2018] i2c-ch341-usb 2-2.1.4:1.0: ch341_cfg_probe: output gpio1 gpio=1 irq=1
[Wed Feb 7 16:37:00 2018] i2c-ch341-usb 2-2.1.4:1.0: ch341_cfg_probe: output gpio2 gpio=2 irq=2
[Wed Feb 7 16:37:00 2018] i2c-ch341-usb 2-2.1.4:1.0: ch341_cfg_probe: output gpio3 gpio=3 irq=3
[Wed Feb 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 Feb 7 16:37:00 2018] i2c-ch341-usb 2-2.1.4:1.0: ch341_cfg_probe: input gpio5 gpio=5 irq=5
[Wed Feb 7 16:37:00 2018] i2c-ch341-usb 2-2.1.4:1.0: ch341_cfg_probe: input gpio6 gpio=6 irq=6
[Wed Feb 7 16:37:00 2018] i2c-ch341-usb 2-2.1.4:1.0: ch341_cfg_probe: input gpio7 gpio=7 irq=7
[Wed Feb 7 16:37:00 2018] i2c-ch341-usb 2-2.1.4:1.0: ch341_i2c_probe: created i2c device /dev/i2c-8
[Wed Feb 7 16:37:00 2018] i2c-ch341-usb 2-2.1.4:1.0: ch341_i2c_set_speed: Hloov i2c npav ceev rau 100 kbps
[Wed Feb 7 16:37:00 2018] i2c-ch341-usb 2-2.1.4:1.0: ch341_usb_probe: txuas
[Wed Feb 7 16:37:00 2018] usbcore: sau npe tshiab interface driver i2c-ch341-usb
schematics thiab cov ntaub ntawv
http://onetransistor.blogspot.hr/2017/08/ch341a-mini-programmer-schematic.html
http://www.zoobab.com/ch341-usb-spi-i2c-uart-isp-dongle
Kuv ntxiv soic 8 pinout dhau zif lub qhov (socket), vim tias txoj hauj lwm ntawm tus pin 1 tsis pom tseeb (lossis pom meej meej nyob qhov twg ntawm sab saum toj). Kuv xav kom koj kho qhov ntawd nrog nyiaj sharpy.

lwm schematics
https://github.com/Upcycle-Electronics/CH341A-Pro
ch341Apro_schematicV01.pdf
Cov ntaub ntawv / Cov ntaub ntawv
![]() |
Saturn CH341A Mini Flash Programmer [ua pdf] Cov lus qhia CH341A Mini Flash Programmer, CH341A, Mini Flash Programmer, Flash Programmer, Programmer |
