Хочу прошить ROM с помощью CH341A и в Linux [IMSProg]

4 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
Графический интерфейс очень удобен.
Хотя, если честно, особой разницы с другими нет.
Запись прошла успешно, так что проблем, похоже, нет.
Наконец-то мне больше не нужно запускать машину с 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

Похоже, достаточно просто дать ему права на выполнение и запустить.
На этом все.
До новых встреч.