CH341A Mini Flash ပရိုဂရမ်မာ
ညွှန်ကြားချက်များ
CH341A Mini Flash ပရိုဂရမ်မာ
အကြောင်းအရာများ- [Dobrica PavlinuÅ¡iÄ 's random unstructured stuff]
၎င်းသည် ပြုပြင်မွမ်းမံခြင်းမရှိဘဲ 5V စက်ပစ္စည်းဖြစ်သည်။ အဲဒါက ငါ့အတွက် အဆင်ပြေပေမယ့် မင်းကို သတိပေးထားတယ်။ http://www.eevblog.com/forum/repair/ch341a-serial-memory-programmer-power-supply-fix/ပင်နံပါတ် 28 ကို ရုတ်သိမ်းလိုက်ပြီး ဝါယာရှော့မဖြစ်စေရန် တိပ်အောက်တွင် ထားလိုက်ပါ။ ထို့နောက် AMS2 ၏ pin 1117 နှင့် C4 သို့ ဝိုင်ယာကြိုးတစ်ချောင်းကို ဂဟေဆော်ပါ။ ချိတ်ဆက်ရန် C4 ၏အခြမ်းသည် CH341A pin 9 နှင့် ချိတ်ဆက်ထားသည့်တစ်ခုဖြစ်သည်။
CHM341A-3V3-fix.jpg
ရင်ထိုးပေါ်တွင် jumper
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 bytes/s၊ ပြီးပြီ။
မြစ်ဝကျွန်းပေါ်ဒေသများကို ဖြေရှင်းခြင်း- 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 chip ID အချက်အလက်ကို ဖတ်ပါ။
-e၊ –erase ချစ်ပ်တစ်ခုလုံးကို ဖျက်ပါ။
-l၊ အရှည် အရှည်ကို ကိုယ်တိုင်သတ်မှတ်ပါ။
-w၊ -ရေးပါ။filename> မှ data ဖြင့် chip ကိုရေးပါ။ fileနာမည်
-r၊ -ဖတ်ပါ။filename> read chip နဲ့ data တွေကို save လိုက်ပါ။ 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 မူပိုင်ခွင့် (ဂ) 2011 asbokid
ဤပရိုဂရမ်သည် အာမခံချက်လုံးဝမရှိပါ။ ဒါက အခမဲ့ဆော့ဖ်ဝဲ၊
အချို့သောအခြေအနေများတွင် ၎င်းကို ပြန်လည်ဖြန့်ဝေရန် ကြိုဆိုပါသည်-
GNU GPL v3 လိုင်စင်- http://www.gnu.org/licenses/gpl.html
အသုံးပြုမှု-
-h၊ -ဤစာသားကိုပြသရန်ကူညီပါ။
-v၊ –verbose ကြိယာအထွက်
-d၊ –debug အမှားရှာအထွက်
-s၊ – EEPROM အရွယ်အစား {24c32|24c64} အရွယ်အစား
-e၊ –erase EEPROM (0xff ဖြင့် ဖြည့်ပါ)
-w၊ -ရေးပါ။filename> EEPROM ကို ပုံထဲက ပုံနဲ့ရေးပါ။ fileနာမည်
-r၊ -ဖတ်ပါ။filename> EEPROM ကိုဖတ်ပြီး ပုံကို save လုပ်ပါ။ fileနာမည်
Example: ch341eeprom -v -s 24c64 -w bootrom.bin
flashrom SPI
mainline flashrom တွင်ထည့်သွင်းရန်မလိုအပ်တော့ပါ။
git clone https://github.com/urjaman/flashrom/
git checkout -b မူရင်း/ch341a မူရင်း/ch341a
dpavlin@nuc:/nuc/flashrom$ sudo apt-get 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$ လုပ်ပါ။
-C /usr/src/linux-headers-4.14.0-3-amd64/ M=/nuc/spi-ch341-usb module များ ပြုလုပ်ပါ
make[1]- '/usr/src/linux-headers-4.14.0-3-amd64' လမ်းညွှန်ကို ထည့်သွင်းခြင်း
CC [M] /nuc/spi-ch341-usb/spi-ch341-usb.o
တည်ဆောက်မှု modules, stagနှင့် 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 ကို အင်စတောလုပ်ပါ
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- cs=0 ဖြင့် cs0 SPI slave ကို ထုတ်ပေးသည်
[525021.048285] spi-ch341-usb 2-2.1.4:1.0: ch341_cfg_probe- cs=1 ဖြင့် cs1 SPI slave ကို ထုတ်ပေးသည်
[525021.048287] spi-ch341-usb 2-2.1.4:1.0: ch341_cfg_probe- cs=2 ဖြင့် cs2 SPI slave ကို ထုတ်ပေးသည်
[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 kernel i2c မော်ဂျူး
https://github.com/gschorcht/i2c-ch341-usb
root@nuc:/nuc# git clone 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
တည်ဆောက်မှု modules, stagနှင့် 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 ကို အင်စတောလုပ်ပါ။
root@nuc:/nuc/i2c-ch341-usb# modprobe i2c-ch341-usb
[Wed Feb 7 ရက် 16:37:00 2018] i2c-ch341-usb 2-2.1.4:1.0:ch341_cfg_probe: အထွက် gpio1 gpio=1 irq=1
[Wed Feb 7 ရက် 16:37:00 2018] i2c-ch341-usb 2-2.1.4:1.0:ch341_cfg_probe: အထွက် gpio2 gpio=2 irq=2
[Wed Feb 7 ရက် 16:37:00 2018] i2c-ch341-usb 2-2.1.4:1.0:ch341_cfg_probe: အထွက် gpio3 gpio=3 irq=3
[Wed Feb 7 ရက် 16:37:00 2018] i2c-ch341-usb 2-2.1.4:1.0: ch341_cfg_probe: ထည့်သွင်းမှု gpio4 gpio=4 irq=4 (hwirq)
[Wed Feb 7 ရက် 16:37:00 2018] i2c-ch341-usb 2-2.1.4:1.0: ch341_cfg_probe: ထည့်သွင်းမှု gpio5 gpio=5 irq=5
[Wed Feb 7 ရက် 16:37:00 2018] i2c-ch341-usb 2-2.1.4:1.0: ch341_cfg_probe: ထည့်သွင်းမှု gpio6 gpio=6 irq=6
[Wed Feb 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- ချိတ်ဆက်ထားသည်
[Wed Feb 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 socket တွင်ထည့်ထားသည်၊ အကြောင်းမှာ pin 1 ၏ အနေအထားသည် ရှင်းရှင်းလင်းလင်းမဟုတ်ပါ (သို့မဟုတ် အပေါ်မှ မည်သည့်နေရာတွင်မဆို ရှင်းရှင်းလင်းလင်း အမှတ်အသားပြုထားသောကြောင့်)။ အဲဒါကို ငွေရောင်နဲ့ ပြင်ဖို့ အကြံပြုချင်ပါတယ်။
အခြားရွေးချယ်စရာ schematics
https://github.com/Upcycle-Electronics/CH341A-Pro
ch341Apro_schematicV01.pdf
စာရွက်စာတမ်းများ / အရင်းအမြစ်များ
![]() |
စေတန် CH341A Mini Flash ပရိုဂရမ်မာ [pdf] ညွှန်ကြားချက်များ CH341A Mini Flash ပရိုဂရမ်မာ၊ CH341A၊ Mini Flash ပရိုဂရမ်မာ၊ Flash ပရိုဂရမ်မာ၊ ပရိုဂရမ်မာ |