Quero fazer flash na ROM com CH341A mesmo no Linux [IMSProg]

4 min

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

Olá, sou um inútil.
Eu estava usando o CH341A como programador SPI e sempre usei um que funcionava na minha familiar máquina Windows, mas parece que também existe um para máquinas GNU/Linux.
YTEC-info/CH341A-Softwares
Parece ser chamado IMSProg.

Instalação

Vou puxar com git.

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

Instale conforme o README.

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

Parece que um editor também está incluído. Que atencioso...

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

Inicialização

O binário foi gerado em /usr/bin e o caminho foi definido automaticamente.

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

Então, vamos iniciar.

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

Parece que se o CH341A não estiver conectado após a inicialização, uma mensagem como "Dispositivo não encontrado" será exibida.
Image
A GUI é bastante fácil de usar.
Dito isso, não há muita diferença em comparação com outros.
Consegui gravar corretamente, então não parece haver problemas.
Finalmente, não há mais necessidade de iniciar a máquina Windows.
A propósito, eu mantenho meus arquivos BIOS, incluindo backups, no NextCloud.
E parece que você pode atualizar automaticamente os chips suportados com algo chamado IMSProg_database_update. É muito conveniente...

Script para instalar tudo para quem tem preguiça

Parece que um script chamado build_all.sh também é fornecido, que pode construir tudo de uma vez.

$ 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

Parece que basta dar permissão de execução e iniciá-lo.
Então.
Até a próxima.