శని చిహ్నం CH341A మినీ ఫ్లాష్ ప్రోగ్రామర్
సూచనలు

CH341A మినీ ఫ్లాష్ ప్రోగ్రామర్

సాటర్న్ CH341A మినీ ఫ్లాష్ ప్రోగ్రామర్

విషయ సూచిక: [డోబ్రికా పావ్లిను యొక్క యాదృచ్ఛిక నిర్మాణాత్మక అంశాలు]

ఇది మార్పు లేకుండా 5V పరికరం! ఇది నాకు (tm) పని చేస్తుంది కానీ మీరు హెచ్చరించబడ్డారు http://www.eevblog.com/forum/repair/ch341a-serial-memory-programmer-power-supply-fix/షార్ట్ సర్క్యూట్ జరగకుండా ఉండటానికి పిన్ 28ని ఎత్తండి మరియు దాని కింద కొంత టేప్ ఉంచండి. తర్వాత ఈ పిన్ నుండి AMS2 యొక్క పిన్ 1117కి మరియు C4కి కూడా ఒక వైర్‌ని టంకం వేయండి. కనెక్ట్ చేయడానికి C4 వైపు CH341A పిన్ 9కి కనెక్ట్ చేయబడింది.
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 KiB | 0 బైట్‌లు/సె, పూర్తయింది.
డెల్టాలను పరిష్కరించడం: 100% (61/61), పూర్తయింది.
కనెక్టివిటీని తనిఖీ చేస్తోంది... పూర్తయింది.
dpavlin@nuc:/nuc/ch341a$ cd ch341prog/
dpavlin@nuc:/nuc/ch341a/ch341prog$ చేయండి
gcc -std=gnu99 -వాల్ ch341a.c main.c -o ch341prog -lusb-1.0
dpavlin@nuc:/nuc/ch341a/ch341prog$ ./ch341prog

వాడుక:

-h, –ఈ సందేశాన్ని ప్రదర్శించడంలో సహాయపడండి
-i, –info చిప్ ID సమాచారాన్ని చదవండి
-e, –erase మొత్తం చిప్‌ని చెరిపివేయండి
-l, –పొడవు మాన్యువల్‌గా సెట్ పొడవు
-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, –వెర్బోస్ వెర్బోస్ అవుట్‌పుట్
-d, –డీబగ్ డీబగ్ అవుట్‌పుట్
-s, –EEPROM పరిమాణం {24c32|24c64}
-e, – erase EEPROM (0xffతో పూరించండి)
-w, -వ్రాయండిfileపేరు> నుండి చిత్రంతో EEPROM వ్రాయండి fileపేరు
-r, –చదవండిfileపేరు> EEPROM చదవండి మరియు చిత్రాన్ని సేవ్ చేయండి fileపేరు
Example: ch341eeprom -v -s 24c64 -w bootrom.bin

ఫ్లాష్‌రోమ్ SPI

ఇకపై అవసరం లేదు, మెయిన్‌లైన్ ఫ్లాష్‌రోమ్‌లో చేర్చబడింది
git క్లోన్ https://github.com/urjaman/flashrom/
git చెక్అవుట్ -b మూలం/ch341a మూలం/ch341a
dpavlin@nuc:/nuc/flashhrom$ sudo apt-get install pciutils-dev

linux కెర్నల్ స్పై మాడ్యూల్

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
బిల్డింగ్ మాడ్యూల్స్, stagఇ 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: అవుట్‌పుట్ cs0 SPI స్లేవ్‌తో cs=0
[525021.048285] spi-ch341-usb 2-2.1.4:1.0: ch341_cfg_probe: అవుట్‌పుట్ cs1 SPI స్లేవ్‌తో cs=1
[525021.048287] spi-ch341-usb 2-2.1.4:1.0: ch341_cfg_probe: అవుట్‌పుట్ cs2 SPI స్లేవ్‌తో 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

linux కెర్నల్ 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
బిల్డింగ్ మాడ్యూల్స్, stagఇ 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: అవుట్‌పుట్ gpio0 gpio=0 irq=0
[బుధవారం 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
నేను జిఫ్ సాకెట్‌పై soic 8 పిన్‌అవుట్‌ని జోడించాను, ఎందుకంటే పిన్ 1 యొక్క స్థానం స్పష్టంగా లేదు (లేదా పైన ఎక్కడైనా స్పష్టంగా గుర్తించబడింది). మీరు దానిని వెండి పదునుతో పరిష్కరించాలని నేను సూచిస్తున్నాను.

సాటర్న్ CH341A మినీ ఫ్లాష్ ప్రోగ్రామర్ - fig1

onetransistor.blogspot.com

ప్రత్యామ్నాయ స్కీమాటిక్స్

https://github.com/Upcycle-Electronics/CH341A-Pro
ch341Apro_schematicV01.pdf

పత్రాలు / వనరులు

సాటర్న్ CH341A మినీ ఫ్లాష్ ప్రోగ్రామర్ [pdf] సూచనలు
CH341A మినీ ఫ్లాష్ ప్రోగ్రామర్, CH341A, మినీ ఫ్లాష్ ప్రోగ్రామర్, ఫ్లాష్ ప్రోగ్రామర్, ప్రోగ్రామర్

సూచనలు

వ్యాఖ్యానించండి

మీ ఇమెయిల్ చిరునామా ప్రచురించబడదు. అవసరమైన ఫీల్డ్‌లు గుర్తించబడ్డాయి *