शनि लोगो CH341A मिनी फ्ल्यास प्रोग्रामर
निर्देशनहरू

CH341A मिनी फ्ल्यास प्रोग्रामर

saturn CH341A मिनी फ्ल्यास प्रोग्रामर

सामग्री: [Dobrica PavlinuÅ¡iÄ's अनियमित असंरचित सामान]

यो परिमार्जन बिना 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 सिरियल मोड
Flashrom द्वारा आउट-अफ-बक्स समर्थित, सम्भवतः राम्रो विकल्प, तर जे भए पनि:

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 | ० बाइट्स/सेकेन्ड, सम्पन्न भयो।
डेल्टा समाधान गर्दै: 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 चिप आईडी जानकारी पढ्नुहोस्
-e, -मेट्नुहोस् सम्पूर्ण चिप मेटाउनुहोस्
-l, -length म्यानुअली सेट लम्बाइ
-w, -लेख्नुहोस् <filename> बाट डाटाको साथ चिप लेख्नुहोस् fileनाम
-r, -पढ्नुहोस् <filename> चिप पढ्नुहोस् र डाटा बचत गर्नुहोस् fileनाम
-t, -turbo i2c बसको गति बढाउनुहोस् (-tt धेरै छिटो गति प्रयोग गर्न)
-d, - spi बस गति दोब्बर

प्रयोगकर्ता स्थानमा 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 प्रतिलिपि अधिकार (c) 2011 asbokid
यो कार्यक्रम कुनै वारेन्टी संग आउँछ; यो नि: शुल्क सफ्टवेयर हो,
र तपाइँलाई केहि सर्तहरूमा यसलाई पुन: वितरण गर्न स्वागत छ:
GNU GPL v3 लाइसेन्स: http://www.gnu.org/licenses/gpl.html

प्रयोग:
-h, -यो पाठ प्रदर्शन गर्न मद्दत गर्नुहोस्
-v, -वर्बोज वर्बोज आउटपुट
-d, -डिबग डिबग आउटपुट
-s, EEPROM को आकार आकार {24c32|24c64}
-e, -Eraase eraase EEPROM (0xff भर्नुहोस्)
-w, -लेख्नुहोस् <filename> बाट छविको साथ EEPROM लेख्नुहोस् fileनाम
-r, -पढ्नुहोस् <filename> EEPROM पढ्नुहोस् र छवि बचत गर्नुहोस् fileनाम
Example: ch341eeprom -v -s 24c64 -w bootrom.bin

Flashrom SPI

अब आवश्यक छैन, मुख्य लाइन फ्लैशरोममा समावेश छ
git क्लोन https://github.com/urjaman/flashrom/
git checkout -b origin/ch341a origin/ch341a
dpavlin@nuc:/nuc/flashrom$ sudo apt-get install pciutils-dev

लिनक्स कर्नेल spi मोड्युल

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$ बनाउनुहोस्
बनाउनुहोस् -C /usr/src/linux-headers-4.14.0-3-amd64/ M=/nuc/spi-ch341-usb मोड्युलहरू
make[1]: डाइरेक्टरी प्रविष्ट गर्दै '/usr/src/linux-headers-4.14.0-3-amd64'
CC [M] /nuc/spi-ch341-usb/spi-ch341-usb.o
निर्माण मोड्युल, एसtage २०१०।
MODPOST १ मोड्युल
CC /nuc/spi-ch341-usb/spi-ch341-usb.mod.o
LD [M] /nuc/spi-ch341-usb/spi-ch341-usb.ko
मेक[१]: डाइरेक्टरी छोड्दै '/usr/src/linux-headers-1-4.14.0-amd3'
dpavlin@nuc:/nuc/spi-ch341-usb$
dpavlin@nuc:/nuc/spi-ch341-usb$ sudo make install
dpavlin को लागि [sudo] पासवर्ड:
dpavlin@nuc:/nuc/spi-ch341-usb$ sudo modprobe spi-ch341-usb
[५२५०२१.०४८२८१] spi-ch525021.048281-usb 341-2:2.1.4: ch1.0_cfg_probe: आउटपुट cs341 SPI दास cs=0 सँग
[५२५०२१.०४८२८१] spi-ch525021.048285-usb 341-2:2.1.4: ch1.0_cfg_probe: आउटपुट cs341 SPI दास cs=1 सँग
[५२५०२१.०४८२८१] spi-ch525021.048287-usb 341-2:2.1.4: ch1.0_cfg_probe: आउटपुट cs341 SPI दास cs=2 सँग
[५२५०२१.०४८२९०] spi-ch525021.048290-usb 341-2:2.1.4: ch1.0_cfg_probe: इनपुट gpio341 gpio=4 irq=0 (hwirq)
[५२५०२१.०४८२९२] spi-ch525021.048292-usb 341-2:2.1.4: ch1.0_cfg_probe: इनपुट gpio341 gpio=5 irq=1
[५२५०२१.०४८२९६] spi-ch525021.048296-usb 341-2:2.1.4: ch1.0_spi_probe: SPI मास्टर SPI बस 341 मा जोडिएको छ
[५२५०२१.०४८४२६] spi-ch525021.048426-usb 341-2:2.1.4: ch1.0_spi_probe: SPI उपकरण /dev/spidev341 सिर्जना गरियो
[५२५०२१.०४८४२६] spi-ch525021.048516-usb 341-2:2.1.4: ch1.0_spi_probe: SPI उपकरण /dev/spidev341 सिर्जना गरियो
[५२५०२१.०४८४२६] spi-ch525021.048596-usb 341-2:2.1.4: ch1.0_spi_probe: SPI उपकरण /dev/spidev341 सिर्जना गरियो
[५२५०२१.०४९१४७] spi-ch525021.049147-usb 341-2:2.1.4: ch1.0_usb_probe: जोडिएको
[५२५०२१.०४९१९४] usbcore: दर्ता गरिएको नयाँ इन्टरफेस चालक spi-ch525021.049194-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# बनाउनुहोस्
बनाउनुहोस् -C /usr/src/linux-headers-4.14.0-3-amd64/ M=/nuc/i2c-ch341-usb मोड्युलहरू
make[1]: डाइरेक्टरी प्रविष्ट गर्दै '/usr/src/linux-headers-4.14.0-3-amd64'
CC [M] /nuc/i2c-ch341-usb/i2c-ch341-usb.o
निर्माण मोड्युल, एसtage २०१०।
MODPOST १ मोड्युल
CC /nuc/i2c-ch341-usb/i2c-ch341-usb.mod.o
LD [M] /nuc/i2c-ch341-usb/i2c-ch341-usb.ko
मेक[१]: डाइरेक्टरी छोड्दै '/usr/src/linux-headers-1-4.14.0-amd3'
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 सिर्जना गरियो
[बुधवार ७ फेब्रुअरी १६:३७:०० २०१८] i7c-ch16-usb 37-00:2018: ch2_i341c_set_speed: i2c बसको गति 2.1.4 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 pinout थपें, किनकि पिन 1 को स्थिति स्पष्ट छैन (वा स्पष्ट रूपमा शीर्षमा कहीं पनि चिन्ह लगाइएको छ)। म सुझाव दिन्छु कि तपाइँ यसलाई चाँदीको तेज संग ठीक गर्नुहोस्।

saturn CH341A मिनी फ्ल्यास प्रोग्रामर - fig1

onetransistor.blogspot.com

वैकल्पिक योजना

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

कागजातहरू / स्रोतहरू

saturn CH341A मिनी फ्ल्यास प्रोग्रामर [pdf] निर्देशनहरू
CH341A मिनी फ्ल्यास प्रोग्रामर, CH341A, मिनी फ्ल्यास प्रोग्रामर, फ्ल्यास प्रोग्रामर, प्रोग्रामर

सन्दर्भहरू

एक टिप्पणी छोड्नुहोस्

तपाईंको इमेल ठेगाना प्रकाशित गरिने छैन। आवश्यक क्षेत्रहरू चिन्ह लगाइएका छन् *