在Linux上使用CH341A刷写ROM【IMSProg】
大家好,我是无能。
我一直使用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没有连接,就会显示找不到设备,就像这样。
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
看起来只要赋予执行权限并运行它就可以了。
那么。
下次再见。