Программа Uniprog Plus представляет собой систему программирования самых различных типов ПЗУ, ПЛМ и т.д. Версия командной строки поддерживает те же функции, что и экранная оболочка, за исключением всех интерактивных действий (просмотр/редактирование) и модификаций программирующего буфера.
Uniprog Plus также поддерживает набор определяемых пользователем конверторов, которые предназначены для преобразования различных форматов представления образа ПЗУ в бинарный вид (для последующего программирования). Конверторы определяются самим пользователем (несколько конверторов включены в Uniprog Plus). Скрипты для описания конверторов представляют собой разновидность командных файлов с интерактивными расширениями.
Программа обеспечивает для каждого типа ПЗУ операции программирования и установки параметров (если эти операции поддерживаются программирующим модулем), а также набор операций контроля ПЗУ и любые другие (целиком определяются программирующим модулем и конфигурационным файлом).
Далее описаны модули, которые войдут в полную поставку. Если не указано имя файла, то модуль находится в процессе разработки.
rom.ed Редактор ПЗУ
pal.ed Редактор PLM
27xx.prg УФ ППЗУ серий 27..(573рф..)
2728.adt Автоопределение УФ ППЗУ серий 27../28../29..
rtxx.prg ППЗУ с плавкими перемычками серий 556рт..
ПЛМ серий 1556
rt1.prg ПЛМ 556РТ1/РТ2.
ve4x.prg Однокристальные ЭВМ серий 874x
ve51.prg Однокристальные ЭВМ серий 875x..(1816ве..), /89..
flash.prg Flash ПЗУ
pic16.prg Микроконтроллеры PIC серий 12ххх, 16ххх, 14000.
serial.prg Сериальные(битовые) ППЗУ и AVR фирмы Atmel
test.prg тест UniProg
ram.prg тест/запись/чтение статической памяти.
Кратко опишем основные операции, поддерживаемые программой.
Разные операции. - Пробел
Данное меню включает небольшой калькулятор, группу команд вызова внешних утилит, информацию о Uniprog Plus.
Различные файловые операции. - File
Стандартный набор - создать/загрузить/сохранить буфер редактирования как в бинарном, так и в текстовом (save as file) виде, открыть/откомпилировать файл для конвертора и т.д.
Здесь стоит заметить, что буфер для ПЗУ открывается в соответствии с его размером (новый заполняется пустыми (не прошитыми) значениями ПЗУ - filler) и является его (ПЗУ) образом. Т.е. если вы в Options определите область действия в ПЗУ, то данные из буфера для этой области будут браться из тех же адресов. Если подгружаемый файл размером больше буфера, то он урезается, если меньше, то буфер дозаполнится filler-ом.
Отдельно стоит рассмотреть пункт - Source, который дает возможность подгрузить с помощью конвертора файл, отличный от бинарной структуры. В поставке Uniprog plus подсоединен конвертор для чтения популярного формата HEX. В пункте Source вам представится возможность выбрать файл с расширением hex, после загрузки откроется окно, отформатированное в hex виде. Т.к. Uniprog plus не умеет работать с этим файлом, то полученный файл надо преобразовать в бинарный с помощью команды - Compile, которая сделает новое окно с бинарной копией. Заметим, что вышеописанная операция Compile не обязательная, т.к. Uniprog plus при надобности автоматически запустит эту команду. Поэтому не удивляйтесь, почему вдруг появилось новое окно с бинарной копией. Подключение конверторов на другие типы файлов см. раздел Options - Transfer/Convertors.
Замечание: Создание собственных конверторов см. описание утилиты XCVT.
Операции редактирования. - Edit
Модуль бинарного редактора ПЗУ обеспечивает просмотр и редактирование содержимого окна в бинарном или символьном виде. Содержимое может быть рассмотрено как массив 4-х битных тетрад (как из младших, так и из старших половин байта), массив байтов, массив слов или массив двойных слов. Каждый элемент массива может быть представлен в двоичном, восьмеричном, десятичном либо шестнадцатеричном виде. Также он обеспечивает операции заполнения по повторяющимся образцам, выполнение произвольной логической функции над каждым элементом массива, разнообразную работу с 4-мя типами блоков и работу с clipboard’ом. Также обеспечиваются функции сохранения блоков и clipboard’а.
Меню включает: отменить последнее редактирование, снять/начать/закончить выделение, операции с clipboard’ом, заполнить блок значением, логические операции, поиск, различные переходы и сохранение выделенного участка или clipboard’а.
Отдельно остановимся на логических операциях - Logic. В вашем распоряжении три пункта:
Logic - действует на выделенный фрагмент и осуществляет простую (однострочную) операцию. Например, операция @&$ выполнит операцию "И" (&) над каждым значением выделенного фрагмента (@) и адресом этого значения в буфере ($).
Logic script - позволяет написать последовательность различных операций над разными участками буфера и сохранить этот скрипт.
Полное описание логических функций можно получить, нажав F1 на соответствующем пункте.
Logic action - позволяет активизировать сохраненный вами скрипт предыдущего пункта или запустить готовые скрипты, входящие в поставку Uniprog plus. Кстати, последние вы можете исправить или использовать как пример. Опишем эти скрипты:
Random Fill - заполнение буфера или выделенной части случайными числами с заданной начальной установкой генератора случайных чисел. Каждое значение определяет уникальную последовательность псевдослучайных чисел;
And with Clipboard, Or with Clipboard, And with Random,Or with Random - операции "И", "ИЛИ" буфера с Clipboard (временным буфером) или с случайными числами.
Summ of Buffer/Block - подсчитывает контрольную сумму буфера или выделенной части и выводит ее на экран;
Pad buffer with Summ - подсчитывает контрольную сумму буфера и записывает ее в последние четыре байта буфера;
Check buffer with Summ - проверяет контрольную сумму буфера на соответствие последним четырем байтам буфера.
Модуль редактора ПЛМ проще бинарного в смысле возможных операций, но позволяет просматривать содержимое ПЛМ в виде набора матриц (И, ИЛИ, НЕ и т.д.)
Выбор типа ПЗУ. - Select PROM
Вид данного меню полностью зависит от конфигурационного файла. Данное меню предназначено для выбора типа программируемого ПЗУ. В любом из подменю данного меню возможно появление пункта «Autodetect» - при выборе этого пункта будет произведена попытка автоматически определить тип ПЗУ.
В модулях FLASH и 27хх при выборе этого пункта сразу предлагается автоопределение, которое можно отменить, нажав клавишу Esc.
Разнообразные действия с ПЗУ. - Programming PROM
Программирование, разнообразные проверки(на чистоту/возможность допрограммирования/совпадение с буфером), а также возможные дополнительные действия (стирание, запись бита защиты и т.д.).
Замечание: При начальном входе в UniProg Plus не открыто ни одного окна, поэтому, пока Вы не откроете окно (буфер), будут выполняться только операции, не требующие оного (например, проверка на чистоту и стирание), иначе будет появляться сообщение об ошибке: "Нет буфера для ...".
Опции. - Options
Состоит из трех пунктов: настройка режимов программирования, настройка оболочки Uniprog Plus и добавление/редактирование конверторов.
Programming - настройка режимов программирования модуля осуществляется через диалог, полностью зависящий от программирующего модуля, где задаются алгоритмы программирования (или автоматически через автоопределение). Например, модуль программирования УФ ППЗУ серии 27xx поддерживает 18 режимов программирования различных фирм. Также задаются опции программирования и контроля, редактирование - Edit (позволяет задать произвольные параметры для всех переменных алгоритма программирования) и т.д.
Новые модули, такие как FLASH и сериальных ПЗУ, не имеют в опциях выбора диапазона програмирования, т.к. этот диапозон можно определить обычным выделением в буфере.
Environment - разные тонкие настройки, которые лучше не трогать, за исключением Screen Size - количество выводимых строк на экран.
При снятии флажка с Disable automatic autodetect у вас будет срабатывать автоопределение микросхемы автоматически при входе в соответствующее меню выбора микросхемы. Рекомендуем снять этот флаг после юстировки напряжений и в случае качественного срабатывания автоопределения.
Transfer/Convertors - через этот пункт можно подключить конверторы. Как указывалось ранее, в поставку Uniprog plus входит конвертор HEX файлов, поэтому, если выбрать данный пункт, то выскочит диалог, в окне Select convertor которого будет значиться всего один источник - Hex Source для конвертирования HEX файлов. Как очевидно из пунктов меню, можно добавить(Add), удалить(Delete) или отредактировать(Edit) соответствующие конверторы.
Прежде всего поясним, что подключенный конвертор просто вызывает программу, которая как раз и конвертирует файл в бинарный вид. Для НЕХ файлов в данном случае вызывается программа xcvt из директории UTILS. Эта программа достаточно мощная и позволяет делать с файлом различные операции (конвертирование HEX (а также MOT и MOS) файлов - это частная операция xcvt) .
Чтобы подключить конвертор, надо нажать - Add; если вы стоите на каком-либо подключенном конверторе, то ввод нового будет осуществляться по шаблону предыдущего простой редакцией. Понять настройки можно, зайдя для начала в конвертор HEX-а кнопкой - Edit.
Menu string : ~H~ex Source - строчка, которая войдет в меню File - Source, две тильды выделяют букву красным цветом и является горячей клавишей.
Description : -> Bin convertor - описывает действие в подсказке (появляется в самой нижней строке экрана).
Window title: Hex - заголовок открывшегося окна.
Src file ext: hex - расширение файла.
Окно внизу – вызов соответствующих программ, возможно с параметрами, для конвертации. В данном случае - utils\xcvt -hex2bin %i %o .
Кнопка Active nodes позволяет подключить выбранный конвертор к любым программирующим модулям.
Более подробное описание можно посмотреть, нажав клавишу F1 в этом окне.
Операции с окнами - Windows
Стандартный набор - передвинуть/масштабировать/распахнуть/восстановить окно, следующее/закрыть/разложить/выстроить окна.