სატურნის ლოგო 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 | 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, -წაშალე მთელი ჩიპი
-l, –length ხელით დააყენეთ სიგრძე
-w, -დაწერეთ <fileსახელი> ჩაწერეთ ჩიპი მონაცემებით fileსახელი
-r, -წაიკითხე <fileსახელი> წაიკითხეთ ჩიპი და შეინახეთ მონაცემები fileსახელი
-t, -ტურბო გაზრდის i2c ავტობუსის სიჩქარეს (-tt ბევრად უფრო სწრაფი სიჩქარის გამოსაყენებლად)
-d, - გააორმაგეთ spi bus სიჩქარე

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 – i2c EEPROM პროგრამირების ინსტრუმენტი WCH CH341a IC-ისთვის
ვერსია 0.5 საავტორო უფლებები (c) 2011 asbokid
ამ პროგრამას გააჩნია გარანტია, ფაქტობრივად; ეს არის უფასო პროგრამა,
და თქვენ მისასალმებელია მისი გადანაწილება გარკვეულ პირობებში:
GNU GPL v3 ლიცენზია: http://www.gnu.org/licenses/gpl.html

გამოყენება:
-h, -დაეხმარეთ ამ ტექსტის ჩვენებას
-v, –სიტყვიერი სიტყვიერი გამომავალი
-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

აღარ არის საჭირო, შედის mainline flashrom-ში
git კლონი https://github.com/urjaman/flashrom/
git checkout -b origin/ch341a origin/ch341a
dpavlin@nuc:/nuc/flashrom$ sudo apt-get install pciutils-dev

linux kernel 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$ მარკა
make -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
შენობის მოდულები, სtagდა 2.
MODPOST 1 მოდულები
CC /nuc/spi-ch341-usb/spi-ch341-usb.mod.o
LD [M] /nuc/spi-ch341-usb/spi-ch341-usb.ko
make[1]: გასულია დირექტორია „/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] პაროლი 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: გამომავალი cs0 SPI slave cs=0-ით
[525021.048285] spi-ch341-usb 2-2.1.4:1.0: ch341_cfg_probe: გამომავალი cs1 SPI slave cs=1-ით
[525021.048287] spi-ch341-usb 2-2.1.4:1.0: ch341_cfg_probe: გამომავალი cs2 SPI slave 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 მოდულები
make[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
make[1]: გასულია დირექტორია „/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 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 pinout მეტი zif სოკეტი, რადგან პოზიცია pin 1 არ არის აშკარა (ან აშკარად მონიშნული სადმე თავზე). მე გირჩევთ, რომ გაასწოროთ ეს ვერცხლის ბასრითი.

saturn CH341A მინი ფლეშ პროგრამისტი - ნახ1

onetransistor.blogspot.com

ალტერნატიული სქემები

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

დოკუმენტები / რესურსები

saturn CH341A მინი ფლეშ პროგრამისტი [pdf] ინსტრუქციები
CH341A მინი ფლეშ პროგრამისტი, CH341A, მინი ფლეშ პროგრამისტი, ფლეშ პროგრამისტი, პროგრამისტი

ცნობები

დატოვე კომენტარი

თქვენი ელფოსტის მისამართი არ გამოქვეყნდება. მონიშნულია აუცილებელი ველები *