CH341A മിനി ഫ്ലാഷ് പ്രോഗ്രാമർ
നിർദ്ദേശങ്ങൾ
CH341A മിനി ഫ്ലാഷ് പ്രോഗ്രാമർ
ഉള്ളടക്കം: [Dobrica PavlinuÅ¡iÄ യുടെ ക്രമരഹിതമായ ഘടനയില്ലാത്ത കാര്യങ്ങൾ]
ഇത് പരിഷ്ക്കരിക്കാതെ 5V ഉപകരണമാണ്! ഇത് എനിക്ക് (ടിഎം) വേണ്ടി പ്രവർത്തിക്കുന്നു, പക്ഷേ നിങ്ങൾക്ക് മുന്നറിയിപ്പ് നൽകിയിട്ടുണ്ട് http://www.eevblog.com/forum/repair/ch341a-serial-memory-programmer-power-supply-fix/ഷോർട്ട് സർക്യൂട്ട് ഉണ്ടാകാതിരിക്കാൻ പിൻ 28 ഉയർത്തി അതിനടിയിൽ കുറച്ച് ടേപ്പ് ഇടുക. തുടർന്ന് ഈ പിന്നിൽ നിന്ന് AMS2-ൻ്റെ പിൻ 1117-ലേയ്ക്കും C4-ലേയ്ക്കും ഒരു വയർ സോൾഡർ ചെയ്യുക. CH4A പിൻ 341-ലേക്ക് കണക്റ്റ് ചെയ്തിരിക്കുന്നതാണ് C9-ൻ്റെ വശം ബന്ധിപ്പിക്കേണ്ടത്.
CHM341A-3V3-fix.jpg
പിന്നുകളിൽ ജമ്പർ
1-2 SPI ഫ്ലാഷ് പ്രോഗ്രാമർ മോഡ്
2-3 TTL സീരിയൽ മോഡ്
ഫ്ലാഷ്റോം-ഓഫ്-ബോക്സ് പിന്തുണയ്ക്കുന്നു, ഒരുപക്ഷേ മികച്ച ഓപ്ഷൻ, പക്ഷേ എന്തായാലും:
https://github.com/setarcos/ch341prog
dpavlin@nuc:/nuc/ch341a$ git ക്ലോൺ https://github.com/setarcos/ch341prog
'ch341prog'-ലേക്ക് ക്ലോണിംഗ്…
റിമോട്ട്: എണ്ണൽ വസ്തുക്കൾ: 104, ചെയ്തു.
റിമോട്ട്: ആകെ 104 (ഡെൽറ്റ 0), വീണ്ടും ഉപയോഗിച്ച 0 (ഡെൽറ്റ 0), പായ്ക്ക്-വീണ്ടും ഉപയോഗിച്ചത് 104
സ്വീകരിക്കുന്ന വസ്തുക്കൾ: 100% (104/104), 34.79 കിബി | 0 ബൈറ്റുകൾ/സെക്കൻഡ്, ചെയ്തു.
ഡെൽറ്റകൾ പരിഹരിക്കുന്നു: 100% (61/61), പൂർത്തിയായി.
കണക്റ്റിവിറ്റി പരിശോധിക്കുന്നു... പൂർത്തിയായി.
dpavlin@nuc:/nuc/ch341a$ cd ch341prog/
dpavlin@nuc:/nuc/ch341a/ch341prog$ ഉണ്ടാക്കുക
gcc -std=gnu99 -Wall ch341a.c main.c -o ch341prog -lusb-1.0
dpavlin@nuc:/nuc/ch341a/ch341prog$ ./ch341prog
ഉപയോഗം:
-h, -ഈ സന്ദേശം പ്രദർശിപ്പിക്കാൻ സഹായിക്കുക
-i, –info ചിപ്പ് ഐഡി വിവരം വായിച്ചു
-e, -മായ്ക്കുക മുഴുവൻ ചിപ്പും മായ്ക്കുക
-എൽ, -നീളം സ്വമേധയാ സജ്ജീകരിച്ച നീളം
-w, -എഴുതുകfileപേര്> എന്നതിൽ നിന്നുള്ള ഡാറ്റ ഉപയോഗിച്ച് ചിപ്പ് എഴുതുക fileപേര്
-r, -വായിക്കുകfileപേര്> ചിപ്പ് വായിച്ച് ഡാറ്റ സംരക്ഷിക്കുക fileപേര്
-t, –turbo i2c ബസിൻ്റെ വേഗത വർദ്ധിപ്പിക്കുക (-tt കൂടുതൽ വേഗതയുള്ള വേഗത ഉപയോഗിക്കുന്നതിന്)
-d, – സ്പൈ ബസിൻ്റെ വേഗത ഇരട്ടിയാക്കുക
ഉപയോക്തൃ സ്ഥലത്ത് I2C
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 – WCH CH2a IC-നുള്ള ഒരു i341c EEPROM പ്രോഗ്രാമിംഗ് ടൂൾ
പതിപ്പ് 0.5 പകർപ്പവകാശം (സി) 2011 asbokid
ഈ പ്രോഗ്രാം തികച്ചും വാറൻ്റി ഇല്ലാതെ വരുന്നു; ഇതൊരു സ്വതന്ത്ര സോഫ്റ്റ്വെയർ ആണ്,
ചില വ്യവസ്ഥകൾക്ക് വിധേയമായി ഇത് പുനർവിതരണം ചെയ്യാൻ നിങ്ങൾക്ക് സ്വാഗതം:
GNU GPL v3 ലൈസൻസ്: http://www.gnu.org/licenses/gpl.html
ഉപയോഗം:
-h, -ഈ വാചകം പ്രദർശിപ്പിക്കാൻ സഹായിക്കുക
-v, -verbose verbose ഔട്ട്പുട്ട്
-d, -ഡീബഗ് ഡീബഗ് ഔട്ട്പുട്ട്
-s, –EEPROM-ൻ്റെ വലിപ്പം {24c32|24c64}
-e, –ഇറേസ് മായ്ക്കുക EEPROM (0xff ഉപയോഗിച്ച് പൂരിപ്പിക്കുക)
-w, -എഴുതുകfileപേര്> എന്നതിൽ നിന്നുള്ള ചിത്രം ഉപയോഗിച്ച് EEPROM എഴുതുക fileപേര്
-r, -വായിക്കുകfileപേര്> EEPROM വായിച്ച് ഇമേജ് സേവ് ചെയ്യുക fileപേര്
Example: ch341eeprom -v -s 24c64 -w bootrom.bin
flashrom SPI
ഇനി ആവശ്യമില്ല, മെയിൻലൈൻ ഫ്ലാഷ്റോമിൽ ഉൾപ്പെടുത്തിയിട്ടുണ്ട്
git ക്ലോൺ https://github.com/urjaman/flashrom/
git ചെക്ക്ഔട്ട് -b ഉത്ഭവം/ch341a ഉത്ഭവം/ch341a
dpavlin@nuc:/nuc/flashhrom$ sudo apt-get install pciutils-dev
ലിനക്സ് കേർണൽ സ്പൈ മൊഡ്യൂൾ
dpavlin@nuc:/nuc$ git ക്ലോൺ https://github.com/gschorcht/spi-ch341-usb.git
'spi-ch341-usb'-ലേക്ക് ക്ലോണിംഗ്…
റിമോട്ട്: എണ്ണൽ വസ്തുക്കൾ: 63, ചെയ്തു.
റിമോട്ട്: ആകെ 63 (ഡെൽറ്റ 0), വീണ്ടും ഉപയോഗിച്ച 0 (ഡെൽറ്റ 0), പായ്ക്ക്-വീണ്ടും ഉപയോഗിച്ചത് 63
ഒബ്ജക്റ്റുകൾ അൺപാക്ക് ചെയ്യുന്നു: 100% (63/63), പൂർത്തിയായി.
dpavlin@nuc:/nuc$ cd spi-ch341-usb
dpavlin@nuc:/nuc/spi-ch341-usb$ ഉണ്ടാക്കുക
make -C /usr/src/linux-headers-4.14.0-3-amd64/ M=/nuc/spi-ch341-usb മൊഡ്യൂളുകൾ
നിർമ്മിക്കുക[1]: '/usr/src/linux-headers-4.14.0-3-amd64' എന്ന ഡയറക്ടറിയിൽ പ്രവേശിക്കുന്നു
CC [M] /nuc/spi-ch341-usb/spi-ch341-usb.o
ബിൽഡിംഗ് മൊഡ്യൂളുകൾ, എസ്tagഒപ്പം 2 ഉം.
MODPOST 1 മൊഡ്യൂളുകൾ
CC /nuc/spi-ch341-usb/spi-ch341-usb.mod.o
LD [M] /nuc/spi-ch341-usb/spi-ch341-usb.ko
ഉണ്ടാക്കുക[1]: '/usr/src/linux-headers-4.14.0-3-amd64' എന്ന ഡയറക്ടറി വിടുന്നു
dpavlin@nuc:/nuc/spi-ch341-usb$
dpavlin@nuc:/nuc/spi-ch341-usb$ sudo നിർമ്മിക്കുക ഇൻസ്റ്റാൾ ചെയ്യുക
dpavlin-നുള്ള [sudo] പാസ്വേഡ്:
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 with cs=0
[525021.048285] spi-ch341-usb 2-2.1.4:1.0: ch341_cfg_probe: output cs1 SPI slave with cs=1
[525021.048287] spi-ch341-usb 2-2.1.4:1.0: ch341_cfg_probe: output cs2 SPI slave with cs=2
[525021.048290] spi-ch341-usb 2-2.1.4:1.0: ch341_cfg_probe: ഇൻപുട്ട് gpio4 gpio=0 irq=0 (hwirq)
[525021.048292] spi-ch341-usb 2-2.1.4:1.0: ch341_cfg_probe: ഇൻപുട്ട് gpio5 gpio=1 irq=1
[525021.048296] spi-ch341-usb 2-2.1.4:1.0: ch341_spi_probe: SPI മാസ്റ്റർ SPI ബസ് 0-ലേക്ക് കണക്റ്റ് ചെയ്തു
[525021.048426] spi-ch341-usb 2-2.1.4:1.0: ch341_spi_probe: SPI ഉപകരണം /dev/spidev0.0 സൃഷ്ടിച്ചു
[525021.048516] spi-ch341-usb 2-2.1.4:1.0: ch341_spi_probe: SPI ഉപകരണം /dev/spidev0.1 സൃഷ്ടിച്ചു
[525021.048596] spi-ch341-usb 2-2.1.4:1.0: ch341_spi_probe: SPI ഉപകരണം /dev/spidev0.2 സൃഷ്ടിച്ചു
[525021.049147] spi-ch341-usb 2-2.1.4:1.0: ch341_usb_probe: ബന്ധിപ്പിച്ചിരിക്കുന്നു
[525021.049194] usbcore: രജിസ്റ്റർ ചെയ്ത പുതിയ ഇൻ്റർഫേസ് ഡ്രൈവർ spi-ch341-usb
ലിനക്സ് കേർണൽ i2c മൊഡ്യൂൾ
https://github.com/gschorcht/i2c-ch341-usb
root@nuc:/nuc# git ക്ലോൺ https://github.com/gschorcht/i2c-ch341-usb.git
'i2c-ch341-usb'-ലേക്ക് ക്ലോണിംഗ്…
റിമോട്ട്: എണ്ണൽ വസ്തുക്കൾ: 39, ചെയ്തു.
റിമോട്ട്: ആകെ 39 (ഡെൽറ്റ 0), വീണ്ടും ഉപയോഗിച്ച 0 (ഡെൽറ്റ 0), പായ്ക്ക്-വീണ്ടും ഉപയോഗിച്ചത് 39
ഒബ്ജക്റ്റുകൾ അൺപാക്ക് ചെയ്യുന്നു: 100% (39/39), പൂർത്തിയായി.
root@nuc:/nuc# cd i2c-ch341-usb
root@nuc:/nuc/i2c-ch341-usb# ഉണ്ടാക്കുക
make -C /usr/src/linux-headers-4.14.0-3-amd64/ M=/nuc/i2c-ch341-usb മൊഡ്യൂളുകൾ
നിർമ്മിക്കുക[1]: '/usr/src/linux-headers-4.14.0-3-amd64' എന്ന ഡയറക്ടറിയിൽ പ്രവേശിക്കുന്നു
CC [M] /nuc/i2c-ch341-usb/i2c-ch341-usb.o
ബിൽഡിംഗ് മൊഡ്യൂളുകൾ, എസ്tagഒപ്പം 2 ഉം.
MODPOST 1 മൊഡ്യൂളുകൾ
CC /nuc/i2c-ch341-usb/i2c-ch341-usb.mod.o
LD [M] /nuc/i2c-ch341-usb/i2c-ch341-usb.ko
ഉണ്ടാക്കുക[1]: '/usr/src/linux-headers-4.14.0-3-amd64' എന്ന ഡയറക്ടറി വിടുന്നു
root@nuc:/nuc/i2c-ch341-usb#
root@nuc:/nuc/i2c-ch341-usb# sudo നിർമ്മിക്കുക
root@nuc:/nuc/i2c-ch341-usb# modprobe i2c-ch341-usb
[ബുധൻ 7 16:37:00 2018] i2c-ch341-usb 2-2.1.4:1.0: ch341_cfg_probe: ഔട്ട്പുട്ട് gpio1 gpio=1 irq=1
[ബുധൻ 7 16:37:00 2018] i2c-ch341-usb 2-2.1.4:1.0: ch341_cfg_probe: ഔട്ട്പുട്ട് gpio2 gpio=2 irq=2
[ബുധൻ 7 16:37:00 2018] i2c-ch341-usb 2-2.1.4:1.0: ch341_cfg_probe: ഔട്ട്പുട്ട് gpio3 gpio=3 irq=3
[ബുധൻ 7 16:37:00 2018] i2c-ch341-usb 2-2.1.4:1.0: ch341_cfg_probe: ഇൻപുട്ട് gpio4 gpio=4 irq=4 (hwirq)
[ബുധൻ 7 16:37:00 2018] i2c-ch341-usb 2-2.1.4:1.0: ch341_cfg_probe: ഇൻപുട്ട് gpio5 gpio=5 irq=5
[ബുധൻ 7 16:37:00 2018] i2c-ch341-usb 2-2.1.4:1.0: ch341_cfg_probe: ഇൻപുട്ട് gpio6 gpio=6 irq=6
[ബുധൻ 7 16:37:00 2018] i2c-ch341-usb 2-2.1.4:1.0: ch341_cfg_probe: ഇൻപുട്ട് gpio7 gpio=7 irq=7
[ബുധൻ 7 16:37:00 2018] i2c-ch341-usb 2-2.1.4:1.0: ch341_i2c_probe: i2c ഉപകരണം സൃഷ്ടിച്ചു /dev/i2c-8
[ബുധൻ 7 16:37:00 2018] i2c-ch341-usb 2-2.1.4:1.0: ch341_i2c_set_speed: i2c ബസിൻ്റെ വേഗത 100 kbps ആയി മാറ്റുക
[ബുധൻ ഫെബ്രുവരി 7 16:37:00 2018] i2c-ch341-usb 2-2.1.4:1.0: ch341_usb_probe: ബന്ധിപ്പിച്ചിരിക്കുന്നു
[ബുധൻ ഫെബ്രുവരി 7 16:37:00 2018] usbcore: രജിസ്റ്റർ ചെയ്ത പുതിയ ഇൻ്റർഫേസ് ഡ്രൈവർ i2c-ch341-usb
സ്കീമാറ്റിക്സും വിവരങ്ങളും
http://onetransistor.blogspot.hr/2017/08/ch341a-mini-programmer-schematic.html
http://www.zoobab.com/ch341-usb-spi-i2c-uart-isp-dongle
ഞാൻ zif സോക്കറ്റിന് മുകളിൽ soic 8 പിൻഔട്ട് ചേർത്തു, കാരണം പിൻ 1 ൻ്റെ സ്ഥാനം വ്യക്തമല്ല (അല്ലെങ്കിൽ മുകളിൽ എവിടെയും വ്യക്തമായി അടയാളപ്പെടുത്തിയിരിക്കുന്നു). സിൽവർ ഷാർപ്പി ഉപയോഗിച്ച് അത് പരിഹരിക്കാൻ ഞാൻ നിർദ്ദേശിക്കുന്നു.
ഇതര സ്കീമാറ്റിക്സ്
https://github.com/Upcycle-Electronics/CH341A-Pro
ch341Apro_schematicV01.pdf
പ്രമാണങ്ങൾ / വിഭവങ്ങൾ
![]() |
saturn CH341A മിനി ഫ്ലാഷ് പ്രോഗ്രാമർ [pdf] നിർദ്ദേശങ്ങൾ CH341A മിനി ഫ്ലാഷ് പ്രോഗ്രാമർ, CH341A, മിനി ഫ്ലാഷ് പ്രോഗ്രാമർ, ഫ്ലാഷ് പ്രോഗ്രാമർ, പ്രോഗ്രാമർ |