Использование cookie

Программа IMSProg

(Онлайн справочник радиолюбителя)


Программа IMSProg предназначена для работы с программаторами CH341a в ряде операционных систем Linux и поддерживает запись, чтение, стирание и проверку I2C, SPI и MicroWire EEPROM/Flash микросхем (серий 24xxx, 25xxx, 93xxx).

green ch341a
black ch341a

Для работы с этими популярными программаторами (называемыми просто по цвету печатной платы "зелеными" и "черными" CH341a) под Windows существует ряд программ - CH341Programmer, NEOProgrammer, ASProgrammer, SIBERIAProg и других. А вот удобной универсальной программы с графическим интерфейсом для ОС Linux до недавнего времени не существовало.

IMSProg

Программа IMSProg написана на QT5, использует графический виджет шестнадцатиричного редактора QHexEdit2 и доработанный набор библиотек программатора SNANDer. Формат базы данных микросхем основан на формате программаторов EZP2019, EZP2020, EZP2023, Minpro I, XP866+. Для ее редактирования используется отдельный компонент программы.

Установка программы

Для ОС Linux Debian, Ubuntu, Kubuntu, Lubuntu, MX, Mint можно установить программу из DEB-пакета. Для этого необходимо скачать пакет здесь в папку Загрузки и открыть с помощью файлового менеджера, который сам запустит графический установщик пакетов. Можно также открыть папку Загрузки в терминале и выполнить команду

sudo dpkg -i IMSProg_1.x.xx-x_all.deb

где 1.x.xx-x - номер текущей версии скачанного файла.

Для РЕД ОС достаточно в терминале набрать команду:

sudo dnf install imsprog

Сборка программы из исходного кода

Если у вас другой дистрибутив Linux или есть желание собрать программу самостоятельно - это можно сделать при помощи cmake. Для этого сначала нужно установить дополнительные пакеты: cmake, qt5base, libusb, pkg. Для Debian, Ubuntu, Kubuntu, Lubuntu, MX, Mint это можно сделать так:

sudo apt-get install cmake
sudo apt-get install libusb-1.0-0 libusb-dev libusb-1.0-0-dev
sudo apt-get install qtbase5-dev
sudo apt-get install pkg-config

Для RedHat, Centos, Fedora, REDOS это можно сделать так:

sudo dnf install cmake
sudo dnf install libusb libusb-devel libusb1 libusb1-devel
sudo dnf install qt5-qtbase-devel
sudo dnf install pkgconf-pkg-config

Далее необходимо скачать репозиторий программы с сайта GitHub здесь, распаковать полученный файл в папку Загрузки, перейти в распакованную папку IMSProg-main и открыть в ней терминал. Теперь нужно откомпилировать отдельно оба компонента:

- программатор

cd IMSProg_programmer
mkdir build
cd build
cmake ..
make -j4
sudo make install

- редактор базы микросхем

cd IMSProg_editor
mkdir build
cd build
cmake ..
make -j4
sudo make install

В результате установки DEB-пакета или сборки программы из исходного кода в меню Разработка появятся две иконки - программатора и редактора базы микросхем.

Подключение программатора

Вставьте микросхему в соответствующий разъем программатора CH341a. Микросхемы серий 24xxx и 25xxx должны быть вставлены непосредственно, в соответствии с маркировкой на печатной плате программатора CH341a.

25Cxx 93Cxx 1 2 3 4 8 7 6 5 1 2 3 4 8 7 6 5 4.7K

Микросхемы серии 93xxx необходимо вставить в адаптер 93xxx, а адаптер - в гнездо программатора с маркировкой 25xxx.

Если напряжение питания микросхемы составляет 1,8 вольта, то его необходимо вставить в адаптер 1,8 вольта, а адаптер - в нужное гнездо программатора.

При работе программы программатор CH341a можно вынимать и вставлять в USB-порт компьютера в любой момент времени, за исключением времени выполнения операций чтения, записи стирания и проверки микросхемы.

Работа с программой

Общие сведения

Основное окно программы поделено на три логических части: сверху слева - панель параметров текущей микросхемы, снизу слева - панель управления функциями режима "авто", справа - шестнадцатиричный редактор буфера микросхемы. Кроме того есть верхнее текстовое и графическое меню и строка состояния. Язык программы определяется значением текущей локали Linux и изменяется автоматически при загрузке программы. Сейчас доступны английский, русский, немецкий и испанский языки.

Выбор типа микросхемы

Выберите тип используемой микросхемы из выпадающего меню Type: SPI FLASH при использовании микросхем SPI NOR FLASH серии 25xxx, 24_EEPROM при использовании i2c EEPROM серии 24xxx, 93_EEPROM при использовании MicroWire EEPROM серии 93xxx. При использовании микросхем SPI NOR FLASH серии 25xxx будет доступна кнопка Поиск. При нажатии кнопки Поиск или или ‹Ctrl+D› считывается информация JEDEC о микросхеме и загружаются все параметры этой микросхемы из базы данных. Любой параметр (объем микросхемы, размер страницы, размер блока, напряжение питания (VCC) и поддержка 4-битного адреса) может быть изменен вручную. Вручную достаточно ввести данные выпадающего `Произв.` и `Название` - все остальные параметры будут автоматически загружены из базы данных микросхем.

При использовании микросхем серий 24xxx или 93xxx необходимо вручную ввести данные всплывающего меню `Произв.` и `Название`, поскольку для этих типов микросхем автоопределение не поддерживается, все остальные параметры будут автоматически загружены из базы данных микросхем.

Операции с программатором

  • Нажатие кнопки Считать или или ‹Ctrl+R› вызывает функцию чтения данных из микросхемы в буфер компьютера.
  • Нажатие кнопки или ‹Ctrl+W› вызывает функцию записи данных из буфера компьютера в микросхему.
  • Нажатие кнопки или ‹Ctrl+E› приводит к стиранию всех данных микросхемы.
  • Нажатие или ‹Ctrl+T› вызывает процесс побайтового сравнения данных в микросхеме и в буфере компьютера.
  • Индикатор выполнения показывает ход выполнения операций чтения, стирания и проверки.
  • Кнопка Старт! используется для последовательного выполнения операций стирания, записи и верификации. Если одна или две из этих операций не нужны, можно снять флажки с чекбоксов этих операций.
  • Нажатие или ‹Ctrl+I› позволяет аварийно прервать операции чтения, записи, стирания или сравнения данных микросхемы.

Операции с файлами

  • или ‹Ctrl+S› используется для записи содержимого буфера компьютера в файл.
  • или ‹Ctrl+O› используется для загрузки файла в буфер программы (HEX-редактор).
  • или ‹Ctrl+Shift-S› используется для сохранения части компьютерного буфера в файл (необходимо ввести начальный адрес и длину части или конечный адрес). Эта операция может быть использована при разбиении двоичного образа данных на части.
  • или ‹Ctrl+Shift-O› используется для загрузки небольшого файла по определенному адресу в буфере. При этом фрагмент данных в буфере будет заменен новыми данными из файла.
  • или ‹Ctrl+Q› служит для вызова модуля редактора базы данных микросхем.

Операции с буфером (шестнадцатиричным редактором)

Шестнадцатиричный или HEX-редактор микросхем (правая часть экрана) используется для отображения и изменения данных буфера.

   

Редактор содержит следующие элементы управления: или ‹Ctrl+Z› отмена последней операции, или ‹Ctrl+Shift+Z› повтор операции и или ‹Ctrl+F› функция поиска/замены кода или строки. Сочетание клавиш ‹Ctrl+A› производит пересчет контрольной суммы буфера по алгоритму CRC32.

 

Операции поиска - замены

Поиск и замену можно производить как шестнадцатиричного кода (опция `Hex` в выпадающем меню), так и текстовую информацию (`UTF-8` в выпадающем меню). Возможен поиск как вперед, так и назад.

Для удобства поиска внизу формы есть панель `Стандартные заголовки`. С помощью клавиш на этой панели поле поиска автоматически заполняется стандартными заголовками архивов, изображений или системных разделов.

Редактор базы микросхем

IMSProg_editor

Редактор базы микросхем - IMSProg editor это самостоятельная программа, которая может быть запущена как из меню `Разработка`, так и из программы IMSProg нажатием на .

Все операции в редакторе становятся доступными только после загрузки файла базы микросхем с расширением .Dat.

Меню `Файл`

  • `Открыть` или ‹Ctrl+O› или позволяет загрузить файл данных.
  • `Сохранить` или ‹Ctrl+S› или сохраняет таблицу параметров микросхем в файл базы данных.
  • `Выход` или ‹Ctrl+X› или - выход из редактора.
  • `Экспорт в CSV формат` или ‹Ctrl+X› или позволяет выгрузить данные о микросхемах в формате CSV для дальнейшей обработки программой электронных таблиц - Libre Office Calc, Open Office Calc, Google Tables и т. д.
  • `Импорт из CSV файла` или ‹Ctrl+Shift+X› или - загружает таблицу в формате CSV и добавляет данные из нее к существующим данным в таблице.

Меню `Редактировать`

  • `Удалить строки` или ‹Del› или - удаляет одну или несколько строк.
  • `Добавить строку` или ‹Ins› или - добавляет строку ниже выделенной и копирует все данные из выделенной строки в новую.
  • `Переместить вверх` или ‹Ctrl+Вверх› или - перемещает выделенную строку вверх.
  • `Переместить вниз` или ‹Ctrl+Вниз› или - перемещает выделенную строку вниз.
  • `Импорт выделенных строк в CSV формат` или - сохраные выделенные строки в файл формата CSV.
 

Дополнительная информация:

Адаптеры - переходники для микросхем i2c (24xxx) в корпусе SOT-23-5 и для микросхем MicroWire (93xxx) в корпусе SOT-23-6 могут быть собраны по этим рисункам:

SOT-23-5 24Cxx 1 2 3 4 8 7 6 5 SOT-23-6 93Cxx 1 2 3 4 8 7 6 5

В заключении небольшое демонстрационное видео:

История изменений:

  • Ver. 1.0.0 - 1.0.18 - частично рабочие версии.
  • Ver. 1.0.19 - Исправлен неверный уровень на выводе SDA в i2c EEPROM. Удалена старая функция "ch341a_spi_init" в файле "ch341spi.c", заменена на "ch341a_init" (это ошибка SNANDer).
  • Ver. 1.0.20 - Исправлена неправильная последовательность байт при чтении/записи Microwire EEPROM в 16-битном режиме (Файл программы SNANder "bitbang_microwire.c" функции - Write_EEPROM_3wire, Read_EEPROM_3wine заменены на Write_EEPROM_3wire_param, Write_READ_3wire_param).
  • Ver. 1.0.21 - Рабочая, нестабильная версия
  • Ver. 1.0.22 - Рабочая, стабильная версия. Добавлены языки. Исправлена совместимость цветов шрифтов в светлой и темной темах интерфейса.
  • Ver. 1.0.23 - Рабочая, стабильная версия. Удалены неиспользуемые C-функции и таблицы переменных в коде. Исправлены переводы. Исправлено: очистка поля JEDEC ID пи смене типа микросхемы. Добавлены микросхемы в базу данных. Исправление записей в базе данных.
  • Ver. 1.0.24 - В интерфейс добавлена клавиша STOP. Улучшен рендеринг интерфейса. Исправления в переводах.
 

Понравилась статья - поделитесь с друзьями:


Комментарии:

A 24.09.2023 19:56

Спасибо!!!!!!! Давно ждал. А как насчет Xgecu TL866,T46,T56 под линукс? Сможешь сделать?

admin 24.09.2023 20:24

A, пока слАбо. Сейчас допиливаю этот программатор. Потом очень хочется взяться за EZPxxxx. В понедельник будет новая версия IMSProg (ее уже можно собрать через cmake). Хотя, насчет TL866 - интересная идея, придется его покупать.

A 25.09.2023 12:25

На видео заметил 2 недочета: после загрузки прошивки сразу доступны кнопки для отмены и возврата изменений (стрелки влево,вправо, undo,redo) хотя мы не делали изменений — нужно сделать их серыми (не активными). Второй недочет — после верификации нет информации, что верификация прошла успешно (можно добавить в статус панель информацию). Ну и у меня была мысль, может сделать окно ЛОГа ?

Admin 25.09.2023 13:23

A, видео уже устарело, перезалью. Более праводподобный вариант - здесь. Про стрелки undo/redo - посмотрю. Согласен. Про окно после верификации подумаю. Про окно лога - не согласен, и так все видно на экране. При верификации ошибки сразу показываются - адрес, значение байта буфера и микросхемы.

Admin 25.09.2023 15:14

A, после верификации сделал всплывающее, что все хорошо. Видео перезалил, специально на этапе записи нажал кнопку STOP, чтобы создать ошибку проверки.

A 25.09.2023 16:24

Возможно я не внимательный, но я просмотрел и старое видео и новое, и они совпадают на 99 (длительность разная) может вы не то видео выложили или я не прав. ну да ладно. По поводу уведомления после верификации я имел ввиду, добавить в стусбар(нижняя полоска слева снизу) там отобразить — Verify OK. И еще пожалуйста обновляйте не только deb файлы, но appimage. Если я не ошибаюсь, то на форуме просили вынести пакеты(deb,appimage) в Github Releases.

Admin 25.09.2023 16:26

A, нажмите F5 в браузере, видео должно обновиться. Там по гаснущим верхним иконкам сразу будет видно. Appimage перезалил. Все, как и просили, лежит в папке release - appimage (папка release/build ), deb (новый) и rpm (пока не совсем новый).

А 25.09.2023 16:47

Я понял в чем была проблема с видео. Я видео скачивал с гитхаба, первое видео было 9:32 мин, второе видео 4:52 мин и это тоже самое видео, что и первое только короче. А на этом сайте — видео другое(новое). Остальсоль сделать undo/redo не активными и активными после измения значений.

Admin 25.09.2023 16:48

А, тут пока засада - в готовом плагине QHexEdit нет сигналов о состоянии этих кнопок. Буду думать.

Добавить комментарий:

Ник:     



Текст комментария:

      

      

* Ваш комментарий будет опубликован после одобрения модератором.