LinuxでもCH341AでROMにFlashしたい【IMSProg】

2 min read

こんにちは、無能です。
SPIプログラマとしてCH341Aを使っていましたが、ずっと馴染みのWindows機で稼働するものを使用していましたがどうやらGNU/Linux機でもありました。
https://github.com/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機を起動するタイミングが無くなってきました。
ちなみに自分はバックアップ含めてNextCloud上にBIOSファイル置いてます。
そして、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

実行権限与えてこれ起動させてしまうだけで良さそうですね。
それでは。
またよろしくお願いします。