CH341A អ្នកសរសេរកម្មវិធី Mini Flash
សេចក្តីណែនាំ
CH341A អ្នកសរសេរកម្មវិធី Mini Flash
ខ្លឹមសារ៖ [វត្ថុគ្មានរចនាសម្ព័ន្ធចៃដន្យរបស់ Dobrica PavlinuÅ¡iÄ]
នេះគឺជាឧបករណ៍ 5V ដោយគ្មានការកែប្រែ! វាដំណើរការសម្រាប់ខ្ញុំ (tm) ប៉ុន្តែអ្នកត្រូវបានព្រមាន http://www.eevblog.com/forum/repair/ch341a-serial-memory-programmer-power-supply-fix/គ្រាន់តែលើកម្ជុលលេខ 28 ហើយដាក់កាសែតមួយចំនួននៅក្រោមវាដើម្បីការពារសៀគ្វីខ្លីណាមួយ។ បន្ទាប់មក solder មួយខ្សែពី pin នេះទៅ pin 2 នៃ AMS1117 និងទៅ C4 ផងដែរ។ ផ្នែកម្ខាងនៃ C4 ដើម្បីភ្ជាប់គឺជាផ្នែកមួយដែលភ្ជាប់ទៅនឹង CH341A pin 9 ។
CHM341A-3V3-fix.jpg
jumper នៅលើម្ជុល
1-2 SPI flash programmer mode
របៀបសៀរៀល 2-3 TTL
គាំទ្រក្រៅប្រអប់ដោយ flashrom ប្រហែលជាជម្រើសល្អជាង ប៉ុន្តែយ៉ាងណាក៏ដោយ៖
https://github.com/setarcos/ch341prog
dpavlin@nuc:/nuc/ch341a$ git ក្លូន https://github.com/setarcos/ch341prog
ក្លូនចូលទៅក្នុង 'ch341prog'...
ពីចម្ងាយ៖ រាប់វត្ថុ៖ ១០៤ រួចរាល់។
ពីចម្ងាយ៖ សរុប ១០៤ (ដីសណ្ត ០) ប្រើឡើងវិញ ០ (ដីសណ្តរ ០) កញ្ចប់ប្រើឡើងវិញ ១០៤
ការទទួលវត្ថុ៖ 100% (104/104), 34.79 KiB | 0 បៃ/s រួចរាល់។
ការដោះស្រាយ deltas: 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, -erase លុបបន្ទះឈីបទាំងមូល
-l, -ប្រវែង កំណត់ប្រវែងដោយដៃ
-w, -សរសេរfileឈ្មោះ> សរសេរបន្ទះឈីបជាមួយទិន្នន័យពី fileឈ្មោះ
-r, - អានfileឈ្មោះ> អានបន្ទះឈីប និងរក្សាទុកទិន្នន័យទៅ 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 - ឧបករណ៍សរសេរកម្មវិធី i2c EEPROM សម្រាប់ WCH CH341a IC
កំណែ 0.5 រក្សាសិទ្ធិ (c) 2011 asbokid
កម្មវិធីនេះភ្ជាប់មកជាមួយពិតជាគ្មានការធានា; នេះគឺជាកម្មវិធីឥតគិតថ្លៃ
ហើយអ្នកត្រូវបានស្វាគមន៍ក្នុងការចែកចាយវាឡើងវិញក្រោមលក្ខខណ្ឌមួយចំនួន៖
អាជ្ញាប័ណ្ណ GNU GPL v3៖ http://www.gnu.org/licenses/gpl.html
ការប្រើប្រាស់៖
-h, -ជួយបង្ហាញអត្ថបទនេះ។
-v, –verbose លទ្ធផល verbose
-d, –debug លទ្ធផលបំបាត់កំហុស
-s, –size of EEPROM {24c32|24c64}
-e, -erase លុប EEPROM (បំពេញដោយ 0xff)
-w, -សរសេរfileឈ្មោះ> សរសេរ EEPROM ជាមួយរូបភាពពី fileឈ្មោះ
-r, - អានfileឈ្មោះ> អាន EEPROM ហើយរក្សាទុករូបភាពទៅ fileឈ្មោះ
Example: ch341eeprom -v -s 24c64 -w bootrom.bin
flashrom SPI
មិនត្រូវការទៀតទេ រួមបញ្ចូលក្នុង flashrom មេ
git ក្លូន https://github.com/urjaman/flashrom/
git checkout -b ប្រភពដើម/ch341a origin/ch341a
dpavlin@nuc:/nuc/flashrom$ sudo apt-get ដំឡើង pciutils-dev
ម៉ូឌុលខឺណែល spi លីនុច
dpavlin@nuc:/nuc$ git ក្លូន https://github.com/gschorcht/spi-ch341-usb.git
ក្លូនចូលទៅក្នុង 'spi-ch341-usb'...
ពីចម្ងាយ៖ រាប់វត្ថុ៖ ១០៤ រួចរាល់។
ពីចម្ងាយ៖ សរុប ១០៤ (ដីសណ្ត ០) ប្រើឡើងវិញ ០ (ដីសណ្តរ ០) កញ្ចប់ប្រើឡើងវិញ ១០៤
ការវេចខ្ចប់វត្ថុ៖ 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 modules
make[1]៖ បញ្ចូលថត '/usr/src/linux-headers-4.14.0-3-amd64'
CC [M] /nuc/spi-ch341-usb/spi-ch341-usb.o
ម៉ូឌុលអគារ, stagនិង ១០ ។
ម៉ូឌុល 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 ធ្វើការដំឡើង
ពាក្យសម្ងាត់ [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 bus 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'…
ពីចម្ងាយ៖ រាប់វត្ថុ៖ ១០៤ រួចរាល់។
ពីចម្ងាយ៖ សរុប ១០៤ (ដីសណ្ត ០) ប្រើឡើងវិញ ០ (ដីសណ្តរ ០) កញ្ចប់ប្រើឡើងវិញ ១០៤
ការវេចខ្ចប់វត្ថុ៖ 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 modules
make[1]៖ បញ្ចូលថត '/usr/src/linux-headers-4.14.0-3-amd64'
CC [M] /nuc/i2c-ch341-usb/i2c-ch341-usb.o
ម៉ូឌុលអគារ, stagនិង ១០ ។
ម៉ូឌុល 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
[ថ្ងៃពុធ ទី 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 មិនច្បាស់ទេ (ឬសម្គាល់យ៉ាងច្បាស់នៅកន្លែងណាមួយនៅលើកំពូល)។ ខ្ញុំស្នើឱ្យអ្នកជួសជុលវាដោយប្រាក់មុតស្រួច។
គ្រោងការណ៍ជំនួស
https://github.com/Upcycle-Electronics/CH341A-Pro
ch341Apro_schematicV01.pdf
ឯកសារ/ធនធាន
![]() |
Saturn CH341A អ្នកសរសេរកម្មវិធី Mini Flash [pdf] សេចក្តីណែនាំ CH341A Mini Flash Programmer, CH341A, Mini Flash Programmer, Flash Programmer, Programmer |