在Linux上使用CH341A刷写ROM【IMSProg】

2 min

language: ja bn en es hi pt ru zh-cn zh-tw

大家好,我是无能。
我一直使用CH341A作为SPI编程器,并且习惯在Windows机器上运行它,但似乎它也可以在GNU/Linux机器上运行。
YTEC-info/CH341A-Softwares
它似乎叫做IMSProg。

安装

通过git拉取。

git clone https://github.com/YTEC-info/CH341A-Softwares.git

按照README的说明进行安装。

cd Programas/Linux/IMSProg
mkdir build
cd build
cmake ..
make -j`nproc`
sudo make install

看来还附带了编辑器。真周到啊……

cd IMSProg_editor
mkdir build
cd build
cmake ..
make -j`nproc`
sudo make install

启动

二进制文件生成在/usr/bin中,并且路径已经自动设置好了。

alleycat:[haturatu]:~/git$ which IMSProg
/usr/bin/IMSProg

所以,启动它。

alleycat:[haturatu]:~/git$ IMSProg
Couldn't open device 1a86:5512.
Couldn't open device 1a86:5512.

看来,如果启动后CH341A没有连接,就会显示找不到设备,就像这样。
Image
GUI非常直观易用。
话虽如此,与其他工具相比,也没有太大区别。
写入也成功了,所以应该没有问题。
现在,我几乎没有理由再启动Windows机器了。
顺便说一下,我把BIOS文件(包括备份)都放在NextCloud上。
而且,似乎可以通过一个叫做IMSProg_database_update的工具自动更新支持的芯片。太方便了……

为懒人准备的一键安装脚本

看来还提供了一个build_all.sh脚本,可以一次性构建所有内容。

$ cat build_all.sh 
#!/bin/bash
if [ "$EUID" -ne 0 ]
  then echo "Please run as root! (sudo ./build_all.sh)"
  exit
fi
cd IMSProg_programmer
rm -rf build/
mkdir build/
cmake -S . -B build/
cmake --build build/ --parallel 
sudo cmake --install build/
rm -rf build/
cd .. #IMSProg
cd IMSProg_editor
rm -rf build/
mkdir build/
cmake -S . -B build/
cmake --build build/ --parallel 
sudo cmake --install build/
rm -rf build/
# Reloading the USB rules
sudo udevadm control --reload-rules

看起来只要赋予执行权限并运行它就可以了。
那么。
下次再见。