CH341A mini blykstės programuotojas
Instrukcijos
CH341A mini blykstės programuotojas

Turinys: [Dobrica PavlinuÅ¡iÄ atsitiktiniai nestruktūruoti dalykai]
Tai 5V įrenginys be modifikacijų! Tai veikia man (tm), bet jūs buvote įspėti http://www.eevblog.com/forum/repair/ch341a-serial-memory-programmer-power-supply-fix/Tiesiog pakelkite kaištį 28 ir po juo uždėkite juostos, kad išvengtumėte trumpojo jungimo. Tada lituokite vieną laidą nuo šio kaiščio prie AMS2 1117 kaiščio ir taip pat prie C4. C4 pusė, kurią reikia prijungti, yra ta, kuri prijungta prie CH341A 9 kaiščio.
CHM341A-3V3-fix.jpg
džemperis ant kaiščių
1-2 SPI blykstės programuotojo režimas
2-3 TTL serijinis režimas
„Flashrom“ palaikoma iš karto, tikriausiai geresnis pasirinkimas, bet vis tiek:
https://github.com/setarcos/ch341prog
dpavlin@nuc:/nuc/ch341a$ git klonas https://github.com/setarcos/ch341prog
Klonavimas į „ch341prog“…
nuotolinis: Objektų skaičiavimas: 104, atlikta.
nuotolinis: iš viso 104 (delta 0), pakartotinai panaudota 0 (delta 0), pakartotinai panaudota pakuotėje 104
Priimami objektai: 100 % (104/104), 34.79 KiB | 0 baitų/s, atlikta.
Deltos sprendimas: 100 % (61/61), atlikta.
Tikrinamas ryšys… atlikta.
dpavlin@nuc:/nuc/ch341a$ cd ch341prog/
dpavlin@nuc:/nuc/ch341a/ch341prog$ padaryti
gcc -std=gnu99 -Siena ch341a.c main.c -o ch341prog -lusb-1.0
dpavlin@nuc:/nuc/ch341a/ch341prog$ ./ch341prog
Naudojimas:
-h, -padėkite parodyti šį pranešimą
-i, –info skaitykite lusto ID informaciją
-e, -trinti ištrinti visą lustą
-l, –length rankiniu būdu nustatytas ilgis
-w, -rašykite <filepavadinimas> parašyti lustą su duomenimis iš filepavadinimas
-r, -skaityti <filepavadinimas> skaitykite lustą ir išsaugokite duomenis filepavadinimas
-t, -turbo padidina i2c magistralės greitį (-tt, jei norite naudoti daug didesnį greitį)
-d, -dvigubai dvigubas spi magistralės greitis
I2C vartotojo erdvėje
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 programavimo įrankis, skirtas WCH CH341a IC
0.5 versijos autorių teisės (c) 2011 asbokid
Šiai programai visiškai neteikiama garantija; Tai nemokama programinė įranga,
ir jūs galite jį platinti tam tikromis sąlygomis:
GNU GPL v3 licencija: http://www.gnu.org/licenses/gpl.html
Naudojimas:
-h, -padėkite rodyti šį tekstą
-v, -verbose išsami išvestis
-d, -debug derinimo išvestis
-s, – EEPROM dydis {24c32|24c64}
-e, - ištrinti ištrinti EEPROM (užpildyti 0xff)
-w, -rašykite <filepavadinimas> parašykite EEPROM su vaizdu iš filepavadinimas
-r, -skaityti <filepavadinimas> perskaitykite EEPROM ir išsaugokite vaizdą filepavadinimas
Example: ch341eeprom -v -s 24c64 -w bootrom.bin
Flashrom SPI
Nebereikia, įtraukta į pagrindinį „flashrom“.
git klonas https://github.com/urjaman/flashrom/
git checkout -b origin/ch341a origin/ch341a
dpavlin@nuc:/nuc/flashrom$ sudo apt-get install pciutils-dev
Linux branduolio spi modulis
dpavlin@nuc:/nuc$ git klonas https://github.com/gschorcht/spi-ch341-usb.git
Klonavimas į „spi-ch341-usb“…
nuotolinis: Objektų skaičiavimas: 63, atlikta.
nuotolinis: iš viso 63 (delta 0), pakartotinai panaudota 0 (delta 0), pakartotinai panaudota pakuotėje 63
Objektų išpakavimas: 100% (63/63), atlikta.
dpavlin@nuc:/nuc$ cd spi-ch341-usb
dpavlin@nuc:/nuc/spi-ch341-usb$ make
make -C /usr/src/linux-headers-4.14.0-3-amd64/ M=/nuc/spi-ch341-usb modules
make[1]: įvedamas katalogas „/usr/src/linux-headers-4.14.0-3-amd64“
CC [M] /nuc/spi-ch341-usb/spi-ch341-usb.o
Statybiniai moduliai, stagir 2.
MODPOST 1 moduliai
CC /nuc/spi-ch341-usb/spi-ch341-usb.mod.o
LD [M] /nuc/spi-ch341-usb/spi-ch341-usb.ko
make[1]: išeinama iš katalogo „/usr/src/linux-headers-4.14.0-3-amd64“
dpavlin@nuc:/nuc/spi-ch341-usb$
dpavlin@nuc:/nuc/spi-ch341-usb$ sudo make install
[sudo] slaptažodis 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: išvestis cs0 SPI vergas su cs=0
[525021.048285] spi-ch341-usb 2-2.1.4:1.0: ch341_cfg_probe: išvestis cs1 SPI vergas su cs=1
[525021.048287] spi-ch341-usb 2-2.1.4:1.0: ch341_cfg_probe: išvestis cs2 SPI vergas su cs=2
[525021.048290] spi-ch341-usb 2-2.1.4:1.0: ch341_cfg_probe: įvestis gpio4 gpio=0 irq=0 (hwirq)
[525021.048292] spi-ch341-usb 2-2.1.4:1.0: ch341_cfg_probe: įvestis gpio5 gpio=1 irq=1
[525021.048296] spi-ch341-usb 2-2.1.4:1.0: ch341_spi_probe: SPI pagrindinis įrenginys, prijungtas prie SPI magistralės 0
[525021.048426] spi-ch341-usb 2-2.1.4:1.0: ch341_spi_probe: SPI įrenginys /dev/spidev0.0 sukurtas
[525021.048516] spi-ch341-usb 2-2.1.4:1.0: ch341_spi_probe: SPI įrenginys /dev/spidev0.1 sukurtas
[525021.048596] spi-ch341-usb 2-2.1.4:1.0: ch341_spi_probe: SPI įrenginys /dev/spidev0.2 sukurtas
[525021.049147] spi-ch341-usb 2-2.1.4:1.0: ch341_usb_probe: prijungtas
[525021.049194] usbcore: registruota nauja sąsajos tvarkyklė spi-ch341-usb
Linux kernel i2c modulis
https://github.com/gschorcht/i2c-ch341-usb
root@nuc:/nuc# git klonas https://github.com/gschorcht/i2c-ch341-usb.git
Klonavimas į „i2c-ch341-usb“…
nuotolinis: Objektų skaičiavimas: 39, atlikta.
nuotolinis: iš viso 39 (delta 0), pakartotinai panaudota 0 (delta 0), pakartotinai panaudota pakuotėje 39
Objektų išpakavimas: 100% (39/39), atlikta.
root@nuc:/nuc# cd i2c-ch341-usb
root@nuc:/nuc/i2c-ch341-usb# make
make -C /usr/src/linux-headers-4.14.0-3-amd64/ M=/nuc/i2c-ch341-usb modules
make[1]: įvedamas katalogas „/usr/src/linux-headers-4.14.0-3-amd64“
CC [M] /nuc/i2c-ch341-usb/i2c-ch341-usb.o
Statybiniai moduliai, stagir 2.
MODPOST 1 moduliai
CC /nuc/i2c-ch341-usb/i2c-ch341-usb.mod.o
LD [M] /nuc/i2c-ch341-usb/i2c-ch341-usb.ko
make[1]: išeinama iš katalogo „/usr/src/linux-headers-4.14.0-3-amd64“
root@nuc:/nuc/i2c-ch341-usb#
root@nuc:/nuc/i2c-ch341-usb# sudo make install
root@nuc:/nuc/i2c-ch341-usb# modprobe i2c-ch341-usb
[7 m. vasario 16 d., trečiadienis, 37:00:2018] i2c-ch341-usb 2-2.1.4:1.0: ch341_cfg_probe: išvestis gpio1 gpio=1 irq=1
[7 m. vasario 16 d., trečiadienis, 37:00:2018] i2c-ch341-usb 2-2.1.4:1.0: ch341_cfg_probe: išvestis gpio2 gpio=2 irq=2
[7 m. vasario 16 d., trečiadienis, 37:00:2018] i2c-ch341-usb 2-2.1.4:1.0: ch341_cfg_probe: išvestis gpio3 gpio=3 irq=3
[7 m. vasario 16 d., trečiadienis, 37:00:2018] i2c-ch341-usb 2-2.1.4:1.0: ch341_cfg_probe: įvestis gpio4 gpio=4 irq=4 (hwirq)
[7 m. vasario 16 d., trečiadienis, 37:00:2018] i2c-ch341-usb 2-2.1.4:1.0: ch341_cfg_probe: įvestis gpio5 gpio=5 irq=5
[7 m. vasario 16 d., trečiadienis, 37:00:2018] i2c-ch341-usb 2-2.1.4:1.0: ch341_cfg_probe: įvestis gpio6 gpio=6 irq=6
[7 m. vasario 16 d., trečiadienis, 37:00:2018] i2c-ch341-usb 2-2.1.4:1.0: ch341_cfg_probe: įvestis gpio7 gpio=7 irq=7
[7 m. vasario 16 d., trečiadienis, 37:00:2018] i2c-ch341-usb 2-2.1.4:1.0: ch341_i2c_probe: sukurtas i2c įrenginys /dev/i2c-8
[7 m. vasario 16 d., trečiadienis 37:00:2018] i2c-ch341-usb 2-2.1.4:1.0: ch341_i2c_set_speed: pakeiskite i2c magistralės greitį į 100 kbps
[7 m. vasario 16 d., trečiadienis, 37:00:2018] i2c-ch341-usb 2-2.1.4:1.0: ch341_usb_probe: prijungtas
[7 m. vasario 16 d., trečiadienis 37:00:2018] usbcore: užregistruota nauja sąsajos tvarkyklė i2c-ch341-usb
schemos ir info
http://onetransistor.blogspot.hr/2017/08/ch341a-mini-programmer-schematic.html
http://www.zoobab.com/ch341-usb-spi-i2c-uart-isp-dongle
Pridėjau soic 8 pinout virš zif lizdo, nes 1 kaiščio padėtis nėra akivaizdi (arba aiškiai pažymėta bet kur viršuje). Siūlau tai pataisyti sidabru.

alternatyvios schemos
https://github.com/Upcycle-Electronics/CH341A-Pro
ch341Apro_schematicV01.pdf
Dokumentai / Ištekliai
![]() |
Saturn CH341A Mini Flash programuotojas [pdfInstrukcijos CH341A mini blykstės programuotojas, CH341A, mini blykstės programuotojas, blykstės programuotojas, programuotojas |
