CH341A 迷你快閃記憶體編程器
指示
CH341A 迷你快閃記憶體編程器

內容:[Dobrica PavlinuÅ¡iä 的隨機非結構化內容]
這是5V設備,未經修改!它對我有用,但你已經被警告過 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 Flash 程式設計器模式
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 -Wall ch341a.c main.c -o ch341prog -lusb-1.0
dpavlin@nuc:/nuc/ch341a/ch341prog$ ./ch341prog
用法:
-h, –help 顯示此訊息
-i, –info 讀取晶片ID信息
-e, –erase 擦除整個晶片
-l, –length 手動設定長度
-w, –寫入 <file名稱> 用來自的資料寫入晶片 file姓名
-r, –讀 <file名稱>讀取晶片並保存資料到 file姓名
-t, –turbo 增加 i2c 總線速度(-tt 使用更快的速度)
-d, –double 雙倍 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, –help 顯示此文本
-v, –verbose 詳細輸出
-d, –debug 偵錯輸出
-s, –size EEPROM 的大小 {24c32|24c64}
-e, –erase 擦除EEPROM(填充0xff)
-w, –寫入 <file名稱> 用來自的圖像寫入 EEPROM file姓名
-r, –讀 <file名稱>讀取EEPROM並將映像儲存到 file姓名
Example: ch341eeprom -v -s 24c64 -w bootrom.bin
快閃記憶體SPI
不再需要,包含在主線 flashrom 中
複製 https://github.com/urjaman/flashrom/
git checkout -b origin/ch341a origin/ch341a
dpavlin@nuc:/nuc/flashrom$ sudo apt-get install pciutils-dev
Linux核心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
建築模組,stage 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 從機,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 模組
make[1]: 進入目錄‘/usr/src/linux-headers-4.14.0-3-amd64’
抄送 [M] /nuc/i2c-ch341-usb/i2c-ch341-usb.o
建築模組,stage 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:2] i341c-ch2-usb 2.1.4-1.0:341: ch1_cfg_probe: 輸出 gpio1 gpio=1 irq=XNUMX
[7 年 16 月 37 日星期三 00:2018:2] i341c-ch2-usb 2.1.4-1.0:341: ch2_cfg_probe: 輸出 gpio2 gpio=2 irq=XNUMX
[7 年 16 月 37 日星期三 00:2018:2] i341c-ch2-usb 2.1.4-1.0:341: ch3_cfg_probe: 輸出 gpio3 gpio=3 irq=XNUMX
[7 年 16 月 37 日星期三 00:2018:2] i341c-ch2-usb 2.1.4-1.0:341: ch4_cfg_probe: 輸入 gpio4 gpio=4 irq=XNUMX (hwirq)
[7 年 16 月 37 日星期三 00:2018:2] i341c-ch2-usb 2.1.4-1.0:341: ch5_cfg_probe: 輸入 gpio5 gpio=5 irq=XNUMX
[7 年 16 月 37 日星期三 00:2018:2] i341c-ch2-usb 2.1.4-1.0:341: ch6_cfg_probe: 輸入 gpio6 gpio=6 irq=XNUMX
[7 年 16 月 37 日星期三 00:2018:2] i341c-ch2-usb 2.1.4-1.0:341: ch7_cfg_probe: 輸入 gpio7 gpio=7 irq=XNUMX
[7 年 16 月 37 日星期三 00:2018:2] i341c-ch2-usb 2.1.4-1.0:341: ch2_i2c_probe: 建立 i2c 裝置 /dev/i8c-XNUMX
[7 年 16 月 37 日星期三 00:2018:2] i341c-ch2-usb 2.1.4-1.0:341:ch2_i2c_set_speed:將 i100c 匯流排速度變更為 XNUMX kbps
[7 年 16 月 37 日星期三 00:2018:2] i341c-ch2-usb 2.1.4-1.0:341: chXNUMX_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
我在 zif 插座上添加了 soic 8 引腳排列,因為引腳 1 的位置不明顯(或在頂部的任何位置清晰標記)。我建議你用銀銳修復這個問題。

替代原理圖
https://github.com/Upcycle-Electronics/CH341A-Pro
ch341Apro_schematicV01.pdf
文件/資源
![]() |
saturn CH341A 迷你快閃記憶體程式設計器 [pdf] 指示 CH341A 迷你Flash編程器, CH341A, 迷你Flash編程器, Flash編程器, 編程器 |
