Cómo flashear ROM con CH341A en Linux [IMSProg]

4 min

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

Hola, soy un inútil.
Estaba usando el CH341A como programador SPI, y siempre había usado el que funcionaba en mi familiar máquina Windows, pero parece que también hay uno para máquinas GNU/Linux.
YTEC-info/CH341A-Softwares
Parece llamarse IMSProg.

Instalación

Lo clonamos con git.

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

Lo instalamos siguiendo el README.

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

Parece que también incluye un editor. ¡Qué considerado...!

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

Inicio

El binario se generó en /usr/bin y la ruta se estableció automáticamente.

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

Así que lo iniciamos.

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

Parece que si el CH341A no está conectado después de iniciar, aparece un mensaje como este indicando que no se encuentra el dispositivo.
Image
La interfaz gráfica es bastante fácil de usar.
Dicho esto, no hay mucha diferencia con otros.
Pude escribir correctamente, así que no parece haber problemas.
Finalmente, ya no tengo motivos para iniciar mi máquina Windows.
Por cierto, tengo mis archivos BIOS, incluyendo las copias de seguridad, en NextCloud.
Además, parece que se pueden actualizar automáticamente los chips compatibles con IMSProg_database_update. ¡Demasiado conveniente...!

Script para instalar todo para los perezosos

Parece que también se proporciona un script que puede construir todo de una vez con 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

Parece que solo hay que darle permisos de ejecución y ejecutarlo.
Eso es todo.
Hasta la próxima.