本帖最后由 lzy871238103 于 2024-9-9 14:54 编辑
SNANDer介绍
今天接触flash下载的同学可能对SNANDer开源项目并不陌生,他是基于CH341的下载器。
目前支持上百种flash的下载,涵盖了主流的flash型号,同时支持常见的EEPROM。具体参考github中的详细介绍。若SNANDer中未能支持所需下载的flash型号,可以试试更加强大的https://github.com/ZhiyuanYuanNJ/flashrom/tree/build_windows_x64开源项目。
本此主要是对原始项目进行改造,将烧录设备CH341更换为功能更加强大的CH347。
仓库地址:https://github.com/ZhiyuanYuanNJ/SNANDer
CH347简介
CH347是一款高速USB总线转接芯片,通过USB总线提供异步串口、I2C同步串行接口、SPI同步串行接口和JTAG接口等。芯片资源如下:
1. 2个高速串口,最高波特率达9Mbps
2. 1个2线I2C接口,作为Host/Master主机模式,最高速率1MHz
3. 1个4线SPI接口,作为Host/Master主机模式,最高速率60MHz
4. 1个JTAG接口,作为Host/Master主机模式,最高速率60MHz
5. 1个SWD接口,作为Host/Master主机模式
由此可以看到,CH347完全可以完成SPI接口的flash与I2C接口的EEPROM烧写任务。
芯片具体信息可参考:
https://www.wch.cn/products/CH347.html
软件编译
在Windows系统下:需借助Cygwin进行安装。
仓库内通过了编译脚本,克隆后直接运行即可:
#克隆仓库
git clone https://github.com/ZhiyuanYuanNJ/SNANDer.git
cd SNANDer
#运行编译脚本
./build-for-windows.sh
完成后,可在build目录下找到编译好的可执行文件。
嫌麻烦的同学也可去GitHub仓库直接下载release版:
https://github.com/ZhiyuanYuanNJ/SNANDer/releases
使用方法
需提前安装好https://www.wch.cn/downloads/CH341PAR_EXE.html
此处硬件为CH347F,无需进行模式切换,若使用CH347T应切换为模式1。
-i detect IC
$ ./snander -i
SNANDer - Serial Nor/nAND/Eeprom programmeR v.1.7.8 by McMCC <mcmcc@mail.ru>
Open CH347 device success.
spi device id: ef 40 15 0 0 (40150000)
Detected SPI NOR Flash: W25Q16JQ, Flash Size: 2 MB
-r 读nor flash, -w 写命令
$ ./snander -r data.bin
SNANDer - Serial Nor/nAND/Eeprom programmeR v.1.7.8 by McMCC <mcmcc@mail.ru>
Open CH347 device success.
spi device id: ef 40 15 0 0 (40150000)
Detected SPI NOR Flash: W25Q16JQ, Flash Size: 2 MB
READ:
Read addr = 0x0000000000000000, len = 0x0000000000200000
Read 100% [2097152] of [2097152] bytes
Elapsed time: 0 seconds
Status: OK
-e 擦除指令
$ ./snander -e
SNANDer - Serial Nor/nAND/Eeprom programmeR v.1.7.8 by McMCC <mcmcc@mail.ru>
Open CH347 device success.
spi device id: ef 40 15 0 0 (40150000)
Detected SPI NOR Flash: W25Q16JQ, Flash Size: 2 MB
ERASE:
Set full erase chip!
Erase addr = 0x0000000000000000, len = 0x0000000000200000
Please Wait......
Elapsed time: 5 seconds
Status: OK
|