Index

Введение

ORANGE-5 - универсальный программатор микросхем Serial EEPROM и микроконтроллеров. Программатор предназначен для чтения и верификации и записи информации в программируемые запоминающие устройства различных серий.

Возможности

  • Чтение, запись и верификация микросхем памяти и микроконтроллеров
  • В отличие от других программаторов, все алгоритмы чтения и записи написаны на специальном макроязыке HPL, что позволяет пользователю не только изучать и корректировать протоколы обмена, но и самостоятельно добавлять любые типы SEEPROM и MCU.
  • Чтение и запись файлов в bin, s19 и hex форматах. Чтение файлов в e2p формате.
  • Редактирование буфера обмена в шестнадцатеричном и символьном виде.
  • Возможность записи выделенной области буфера редактирования в EEPROM.
  • Поддержка системного буфера обмена (clipboard).

Технические характеристики

  • Габаритные размеры базового блока: 130*95*30 мм
  • Масса, не более: 0,18 кг.
  • Диапазон рабочих температур: +5...+45 C
  • Потребляемая мощность, не более: 3 Вт.


Начинающим

Работа с программатором.
Первые шаги.

1. Установка.

  1. Включите ПК
  2. Скопируйте программу с CD на HDD или распакуйте архив, скачанный с сайта. Программа также работоспособна при запуске с USB/FLASH карты.
  3. Соедините кабелем из комплекта поставки программатор с USB портом компьютера
  4. При обнаружении нового устройства Windows потребует установить драйвер. Драйвер USB расположен в каталоге DRIVER программатора.
  5. После установки драйвера перезапустите ПК.
После корректной установки зеленый светодиод MODE на программаторе должен гореть непрерывно при отсутствии обращений к программатору. Мигающий светодиод означает, что драйвера не установлены, либо неисправен ПК, программатор или USB кабель.

Программатор питается от USB порта. Дополнительный разъем питания следует использовать только тогда, когда USB порт компьютера не обеспечивает стандартное напряжение 5 Вольт или максимальный выдаваемый ток менее 500 мА. В этих случаях следует использовать внешний стабилизированный источник постоянного тока с напряжением 5 Вольт +/- 10%.
Проверить напряжение USB порта можно с помощью встроенного теста программатора.

2. Запуск.

  1. Запустите программу Orange.exe
  2. Для переключения интерфейса и справочной системы на русский язык выберите в меню Options - Language - Russian. Перезапустите программу.
  3. При первом запуске рекомендуется проверить исправность программатора и правильность подключения. Для этого в меню Опции - Программатор нажать кнопку "Тест". При этом в панели не должно быть микросхем. При нахождении неисправностей выдается соответствующее сообщение.

3. Программирование.

  1. Выберите требуемый тип микросхемы в меню. Большинство микросхем 24 25 и 93 серии имеют унифицированную систему команд и расположение выводов. Это значит, что микросхема AT24C02 может быть выбрана в меню и как Atmel AT24C02, и как I2C 24C02. Однако, при наличии в списке микросхем точного соответствия, следует выбирать именно его, поскольку в этом случае программатор оптимально выбирает параметры программирования.
    Определить фирму можно по логотипу на корпусе либо по первым буквам маркировки. Также возможно определение в режиме поиска в окне выбора типа.
  2. Поставьте рычаг ZIF панельки в верхнее положение и установите микросхему в панельку. Зажмите микросхему поворотом рычага в нижнее положение. Программатор Orange5 имеет одну 16-выводную панельку. Практически все микросхемы SEEPROM в 8-выводном корпусе устанавливаются в переднюю половину панельки (первым выводом к рычагу ZIF).

    Микросхемы с интерфейсом Microwire в корпусе SOIC8 выпускаются в 2 вариантах с различным расположением выводов.
    Стандартный вариант устанавливается в левую часть панельки.
    "Rotated" вариант устанавливается в правую часть - 1 вывод попадает на 5 ножку панельки.
    Определить вариант можно как по документации производителя, так и по разводке цепей питания в схеме.

    Для выпаянных микросхем следует очистить выводы от остатков припоя и флюса. В противном случае это приведет к проблемам при программировании и загрязнению панели.
  3. Некоторые типы микросхем памяти и микроконтроллеры программируются только через специальные адаптеры. Информация о требуемом адаптере отображается в информационной строке программатора. Установите адаптер в разъем расширения и вставьте в него микросхему.
  4. Для чтения содержимого памяти нажмите кнопку F5 либо выберите в меню пункт Команды - Чтение. При этом должен загореться светодиод Power на плате программатора и появится окно с индикатором процесса. Для микросхем большого объема процесс чтения и записи может занимать достаточно большое время.
  5. После окончания чтения светодиод должен потухнуть и в окне буфера отобразится содержимое памяти. Для надежности можно проверить стабильность чтения, повторив несколько раз команду сравнения (F7). При этом отличий быть не должно.
  6. Не забудьте сохранить прочитанные данные в файл. (Файл - Сохранить как).
  7. Для записи новых данных в микросхему загрузите прошивку из файла в буфер программатора (Файл - Открыть).
  8. Нажмите кнопку Запись (F6).При этом должен загореться светодиод на плате программатора и появится окно с индикатором процесса. Программатор проверяет правильность записи автоматически. Также можно проверить правильность после окончания записи с помощью команды сравнения.
  9. После завершения работы поднять рычаг панели и извлечь микросхему.

Запрещается установка и снятие микросхем, а также адаптеров, в течении всего времени, когда программатор подает напряжение на микросхему (Светится индикатор Power).

При внутрисхемном чтении микросхем памяти и микроконтроллеров следует обеспечить подачу питания (штаного или от программатора). При использовании питания от программатора следует учитывать, что максимальный ток ограничен на уровне 250 мА. Если программатор выдает предупреждение о низком напряжении, следует убедится в отсутсвии переполюсовки и короткого замыкания в схеме.

Перед началом работы с микроконтроллерами, имеющими функции защиты от чтения/записи ознакомьтесь с соответствующим разделом справки.

4. Хранение.

  • При длительном не использовании отключайте программатор от ПК. Закрывайте панели программатора для исключения попадания пыли. Не допускайте переламывания кабеля.


System Requirements

Требования к конфигурации компьютера

Программаторы ORANGE5 нормально функционируют на ПК со следующими параметрами:

  • Компьютер IBM PC/AT либо совместимый с ними;
  • Процессор Pentium и выше;
  • VGA (SVGA) - совместимый видеоадаптер;
  • Свободный USB 2.0 порт
  • устройство "МЫШЬ"- (рекомендуется);
  • Операционная система MS Windows XP(tm);
  • 32 Mb ОЗУ (64 для W2000);
  • Как минимум 1Mb на жестком диске.


Установка

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

  1. Включите ПК
  2. Скопируйте программу с CD на HDD или распакуйте архив, скачанный с сайта
  3. Переключатель режимов программатора должен находится в положении "N" (ближе к разъему USB)
  4. Соедините кабелем из комплекта поставки программатор с USB портом компьютера
  5. При обнаружении нового устройства Windows потребует установить драйвер. Драйвер USB расположен в каталоге DRIVER программы Orange.
    Стандартный драйвер o5usb предназначен только для 32-х разрядной операционной системы.
    Для 64-х разрядной версии Windows необходимо устанавливать драйвер из папки X64. Для 32-х разрядной версии Windows 7..10 - драйвер из папки X32.
  6. После установки драйвера перезапустите ПК.
  7. При корректной установке cветодиод MODE не программаторе должен гореть постоянно (при отсутствии обращений к программатору).
  8. Запустите программу Orange.exe. Если сообщения об ошибках подключения не выдаются, программатор готов к работе.
  9. При первом запуске рекомендуется проверить исправность программатора и правильность подключения. Для этого в меню Опции - Программатор нажать кнопку "Тест". При этом в панели не должно быть микросхем. При нахождении неисправностей выдается соответствующее сообщение.

Если программатор нестабильно определяется в Windows 7, попробуйте сделать следующее:

1. Нажмите правой клавишей мыши на "Компьютер" и выберите его свойства
2. В открывшемся окне слева выберите "Диспетчер устройств"
3. Открывается "Диспетчер устройств"

4. Разверните элемент "Контроллеры USB", правой кнопкой мыши щелкните на "Корневой USB концентратор" и выберите пункт Свойства.
5. Откройте вкладку "Управление электропитанием".

6. Снимите флажок "Разрешить отключение этого устройства для экономии энергии" и нажмите кнопку OK.
Повторите данную процедуру для каждого корневого USB-концентратора в вашем ПК.

При подключении программатора в Windows 10 может произойти автоматическая установка драйвера для виртуального COM порта.
В этом случае следует открыть "Диспетчер Устройств" и в разделе Порты (COM и LPT) найти COM порт с параметрами VID_03EB PID_5550. В свойстве порта на закладке "Драйвер" нажать "Обновить" и указать нужный драйвер из папки "Orange".
После корректной установки драйвера устройство ORANGE5 должно появиться в разделе "Контроллеры USB".


Menu

Работа с меню

Для выбора элементов меню следует нажать клавишу Alt и подвести маркер к нужному элементу клавишами управления курсора (со стрелками) либо выбрать нужный пункт указателем мыши.

  • File (Файл)
    - New - новый файл
    - Open file - чтение файла в буфер
    - Save - запись файла
    - Save as - запись файла c новым именем
    - Descriptions - просмотр и редактирование описаний.
    - Recent - Имена последних четырех рабочих файлов для их загрузки.
    - Exit - Выход

  • Buffer (Буфер) - операции с буфером:
    - Copy - копировать выделенную область буфера
    - Paste - вставка скопированной области
    - Search - поиск шестнадцатеричной строки в буфере. Допустимо использовать символ '?' для замены произвольного байта или полубайта.
    - Replace - замена. Обработка строки поиска аналогична Search.
    - Select Block - выделение блока по заданным адресам
    - Fill Buffer - заполнение константой или последовательностью
    - Xor Buffer - Исключающее ИЛИ константы (последовательности) и буфера
    - Swap bytes - перестановка соседних байт.
    - Swap nibbles - перестановка полубайтов в байте.
    - Swap bits - перестановка битов в байте.
    - Checksum - подсчет контрольной суммы (3 алгоритма).

  • Device (Команды)
    - Read - чтение микросхемы
    - Write - запись микросхемы
    - Modify - запись только отмеченных байт
    - Write All - запись всех областей
    - Compare - сравнение буфера c микросхемой с отметкой несовпадений
    - Difference - сравнение буфера c микросхемой с построением таблицы
    - Test Instertion - Проверка установки. (Не работает при внутрисхемном подключении)

  • Tools (Инструменты)
    - Calculator - Вызов встроенного Калькулятора.
    - Pin Tester - Окно ручного управления выводами.
    - Statistic - Статистический анализатор содержимого буфера.
    - HPL Registers - редактирование пользовательских регистров (если они заданы). - HPL Debug - включение отладочного режима (не для всех моделей программаторов).

  • Options (Настройки)
    General - установка общих параметров
    - Force write - принудительная запись всего буфера (иначе пишутся только необходимые байты)
    - Verify during write - выполнять контрольное сравнение при записи слова
    - Verify After write - выполнять сравнение после окончания записи (сравнение не выполняется в режиме записи "Modify")
    - Block mode enable - разрешение блочного чтения/записи
    - Confirmation - Подтверждение операций
    - Button Bar - Панель дополнительных кнопок (для пользовательских секций HPL)
    - Autosave - Автоматическое сохранение опций

    Hardware - выбор номера и режима LPT порта. Тестирование подключенного программатора. Во время тестирования в панельке программатора не должно быть микросхемы!

    Editor - Параметры шестнадцатеричного редактора
    - Mark clear - снимать выделение после операции
    - 16 bit editor - 16-битный режим редактирования
    - ANSI-OEM conversion - перекодировка символов для ASCII поля редактора.
    - Show gridlines - отображение сетки
    - Read only - запрет редактирования буфера
    - Default buffer value - шестнадцатеричное число, определяющее начальное заполнение буфера

    Files - Настройки файловых операций
    - Check file size - проверка размера файла при загрузке.
    - Mark load data - выделение загруженной области в редакторе.
    - Descriptions - Поддержка файлов описаний.
    - Swap 16-bit files - Перестановка старших и младших байт в бинарных файлах для 16-разряжных микросхем.
    Внимание! При установке данной опции записанные файлы будут несовместимы со стандартными файлами Orange.
    - Backup files - число сохраняемых архивных файлов при чтении микросхем. файлы сохраняются в каталог BACKUP. 0 - отключение архивирования.
    - Расширения - настройка ассоциацций для стандартных типов файлов.
    Device - Параметры текущей микросхемы
    Colors - Настройка цветов
    Language - Выбор языка программы (русский, английский). Смена языка происходит после перезагрузки программы.
    Compare mode - Режим сравнения в редакторе.

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

  • Recent - Быстрый выбор часто используемых микросхем.

  • Help
    Help - Справочная система к программе
    Chip info - Дополнительная информация о микросхеме (INFOFILE)
    Chip pinout - Расположение выводов микросхемы.
    System info - Информация о системе.
    About Orange - Версия программы.

Наиболее часто используемые функции могут быть вызваны с помощью комбинации клавиш:
F1 | Вызов справки
Shift-F1 | Расположение выводов микросхемы
F5 | Чтение
Shift-F5 | Чтение выделенного блока
F6 | Запись
Shift-F6 | Запись выделенного блока
F7 | Сравнение микросхемы с буфером
Shift-F7 | Сравнение в виде таблицы
Ctrl-F7 | Сравнение с файлом
Ctrl-A | Выделить весь буфер
Ctrl-С | Копировать в буфер обмена
Ctrl-M | Переход на следующий выделенный байт
Ctrl-N | Новый файл (очистка буфера)
Ctrl-O | Открыть файл
Ctrl-P | Переключение режима управления питанием
Ctrl-S | Сохранить файл
Ctrl-V | Вставить из буфера обмена
Ctrl-F1..F5 | Вызов пользовательских функций (в порядке их описания).


Editor

Редактор

Редактор предназначен для шестнадцатеричного и символьного редактирования содержимого буфера.
В верхнем столбце окна отображаются адреса байтов в строке. Правый столбец отображает адреса редактирования. Адрес текущего байта равен сумме адреса строки и адреса столбца. Его также можно узнать в строке дополнительной информации. Нажатие левой кнопки мыши на столбце адресов открывает окно перехода на заданный адрес.

Основное поле разбито на 2 части, в левой отображаются шестнадцатеричные значения, в правой - соответствующие символьные коды. Выделение блока производится нажатием и удержанием левой кнопки мыши и перемещением курсора. При нажатии на правую кнопку мыши вызывается контекстное меню.
В зависимости от выбранного типа EPROM автоматически включается 8 или 16-битный режим. Порядок отображения байт и ASCII символов в этих режимах не совпадает!

"Горячие клавиши" редактора

Tab | переключение HEX/ASCII
Ins | выделение байта (установка/сброс) (или двойной щелчок левой кнопкой мыши)
Gray - | отменить выделение
Gray + | установить выделение для всего буфера
Gray * | инвертировать выделение
Ctrl-B | Начало блока
Ctrl-C | копировать блок
Ctrl-D | Переход на следующий байт, содержащий уникальную информацию
Ctrl-E | Конец блока
Ctrl-M | Переход на следующий выделенный байт
Ctrl-Q | Переход на следующий выделенный блок
Ctrl-T | Проверка установки
Ctrl-V | вставить блок
PageUp | страница вверх
PageDown | страница вниз
Ctrl PgUp | начало буфера
Ctrl Home | начало буфера
Ctrl PgDn | конец буфера
Ctrl End | конец буфера чипа
Home | начало строки
End | конец строки
BackSpace | переход на предыдущий байт (символ)

Строка статуса

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


Type

Установка типа микросхемы

Выбор типа микросхемы производится с помощью команды меню Type либо кнопкой "Выбор типа" на панели кнопок.

Окно выбора содержит два столбца: Группа и Микросхема. Все микросхемы разбиты по группам в соответствии с фирмой-производителем или функциональным характеристикам. При смене группы список микросхем в правом окне обновляется автоматически. Управление производится не только с помощью мыши, но также курсорными клавишами.
Быстрый переход к нужному названию осуществляется с помощью нажатия первой буквы названия на клавиатуре. Для подтверждения выбора - двойной щелчок левой клавиши мыши или кнопка "OK",

Для поиска нужной микросхемы установить режим "Поиск" (Search) и вводить цифры (либо цифры и буквы) названия микросхемы. Символ вопроса '?' заменяет любую цифру или букву в названии.
Список будет отфильтрован в соответствии с введенной строкой.

Типы и параметры задаются в файле orange.cfg.
Текущий тип и параметры микросхемы отображаются в нижнем информационном окне.


Параметры микросхемы

Настройка параметров микросхемы

Окно настройки параметров микросхемы вызывается из меню Настройки или из панели кнопок и имеет вид:

Имя модуля - Указывает имя HPL (HPX) программного модуля, котрый описывает работу с микросхемой.
Панель - Условный номер панельки в программаторе. Для EEPROM зарезервированы следующие номера:
1 I2C
2 MW
3 SDA
4 SPI
5 NVM
6 S2100
7 AT17
8 M35

Изменять этот параметр не рекомендуется.

Задержка обмена - определяет длительность пауз в микросекундах между двумя соседними фронтами формируемых программатором импульсов. При установке в 0 длительность будет минимальна, она определяется моделью программатора и конфигурацией ПК.

Задержка обмена - определяет время записи одного байта или блока в микросекундах. Если значение установлено в 0, время определяется автоматически (не для всех типов микросхем).

Напряжение - напряжение питания микросхемы. В большинстве случаев не рекомендуется увеличивать значение более, чем на 20%.

Область - выбор рабочей области (AREA), для микросхем памяти и микроконтроллеров, имеющих несколько областей.

Управление питанием - разрешает программатору автоматически подавать и снимать питание после окончания операции.

Освобождать шину - После окончания операции выходы программатора переводятся в Z-состояние. Выходное сопротивление зависит от модели программатора.

Для микроконтроллеров, работающих по последовательному асинхронному интерфейсу, окно настройки параметров имеет другой вид:

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

Частота - значение частоты генерируемой программатором на выходе OSC (в килогерцах). Также синхронизирует скорость обмена при использовании собственного генератора микроконтроллера. При изменении значения поля "Частота", значение Baudrate изменяется автоматически.

Baudrate - скорость обмена по последовательному интерфейсу. Некоторые серии микроконтроллеров имеют различные скорости обмена в фазах инициализации (Boot) и чтения/записи (Work).

Определить скорость - команда автоматического определения скорости обмена. Доступна для микроконтроллеров HC08, HC11, HCS12. Не следует использовать эту команду для микроконтроллеров HC11 с активным битом защиты, HC08 [1J35D] [4J74Y] с заблокированным монитором, а также для старых серий HC12.


cfg

Конфигурационный файл

В текстовом конфигурационном файле orange.cfg задается:

GROUP - Название группы:
(*) GROUP=MicroWire
Все чипы описанные до следующего раздела GROUP или до конца файла относятся к данной группе.

CHIP - Описание микросхемы:
CHIP=NAME,SIZExORG(BLOCKSIZE),HPLNAME
(*) CHIP=93C56,128x16,93c66.hpl
где: 93С56 - название микросхемы
128x16 - объем (емкость) памяти и разрядность. Если разрядность равна 8, ее можно не задавать. Размер можно задавать и в килобайтах. Значение передается в модуль через параметр $SIZE. Если вместо числа в поле объем вставлен символ '?', объем устанавливается по прошлому значению или по объему загружаемого файла.
93c66.hpl - имя HPL файла
Если микросхема имеет режим блочного чтения/записи, размер блоков задается в скобках после объема:
(*) CHIP=24C64,8K(16/8),24c512.hpl
Где 16 - размер блока чтения
8 - размер блока записи
Если размеры совпадают, можно задавать только одно число. Значение передается в модуль через параметр $BLOCKSIZE

AREA - описание области памяти:
AREA=NAME,SIZExORG(BLOCKSIZE),ADR,BUF-ADR,OPTIONS
(*) AREA=DATA,128,0,0x4200,b
Где DATA - имя области
128 - размер,
0 - адрес в микросхеме
0x4200 - адрес в буфере (если не указан, считается равным адресу в микросхеме)
OPTIONS - опции данной области:
b - конвертирование области памяти (для PIC контроллеров)
f - пропуск пустых блоков (содержащих 0FFh) при записи.
r - чтение области запрещено.
m - модификация области запрещена.
w - запись области запрещена.

Поля ADR,BUF-ADR,FLAGS могут быть незаполнены. Если ADR не указан, адрес размещения области устанавливатеся программой на конец предыдущей области.

VCC - напряжения питания в милливольтах:
(*) VCC=5000

MODE - универсальный параметр для передачи в HPL модуль.
(*) MODE=12

BAUD - скорость обмена по UART. Только для Orange5. При указании двух значений первое является начальным, второе - рабочим.

FREQ - Частота генератора в килогерцах. Только для Orange5.

IMAGE - имя картинки или файла описания. Для одной мс может быть задано до 4 разных корпусов
(*) IMAGE=atmega8.pin

Все HPL файлы располагаются в подкаталоге HPL\. Загрузка файла производится при выборе соответствующего типа в меню. Один HPL модуль может соответствовать нескольким типам микросхем различного объема.

Программа поддерживает работу с несколькими конфигурационными файлами. Они могут иметь любые имена, фиксированное расширение "cfg" и должны располагатся в каталоге с программой. Выбор рабочего конфинурационного файла в этом случае производится в меню выбора микросхемы.


Калькулятор

Встроенный калькулятор выполняет арифметические операции с 32-разрядными данными поддерживает запись формул в прямом виде с выдачей результата в шестнадцатеричном, десятичном и двоичном виде.
Калькулятор может быть вызван 2 способами:
1 - Стандартный режим: Меню>Настройки>Калькулятор.
2 - Контекстный режим: Правая клавиша мыши в редакторе>Редактор. В этом случае результат вычислений записывается по текущему адресу редактирования (при условии отсутствия ошибок в выражении).

Типы чисел:
0xNN,0NNH - шестнадцатеричное
NN - десятичное
NNb - двоичное
[NN] - Байт (слово) из буфера по адресу NN.

Арифметические и логические операции:
+ - сложение
- - вычитание
* - умножение
/ - деление
% - взятие остатка
& - AND
| - OR
^ - XOR

Деление на 0 и взятие остатка запрещено. Приоритет операций задается круглыми скобками.

Примеры:
12+20/2 = 22
0x16&01111b = 6
[10]+[0Bh] = сумма 10 и 11 ячеек буфера


HPL

Описание языка HPL

rev 2.9 (3.05.2013)

Язык HPL (Hardware Programming Language) разработан специально для описания низкоуровневых протоколов обмена с различными устройствами.
Рассмотрим реализацию языка HPL в трансляторе программатора Orange.
Cимволом (*) обозначены примеры в данном документе.

Символ ';' является признаком комментария - продолжение строки начиная с этого символа не обрабатывается. Все пробелы внутри текста удаляются, за исключением текстовых строк. Текстовые строки следует заключать в кавычки "_".

Ключевые слова пишутся только в верхнем регистре (большими буквами).
Зарезервированные ключевые слова: "ADR", "BREAK", "BUSI", "BUSO", "CDELAY", "CONST" (устаревшее), "DATA", "EXIT", "GET", "IENABLE", "IDISABLE", "INFO", "INFOFILE", "LOOP", "MARK", "OPTIONS", "PING", "PINI", "PINO", "POWER", "Rxx", "RETURN", "SOCKET", "VCC", "VPP".

  • Числа. Числа могут задаваться в двоичном, десятичном и шестнадцатеричном формате.
    Если шестнадцатеричное число записано в виде nnnnH и начинается с буквы (A-F), то перед ним следует писать дополнительный 0.
    Двоичное число должно содержать только символы '0', '1' и завершаться 'b'.
    (*) 1234 - десятичная константа
    (*) 010101B - двоичная
    (*) 0x1234 или 0A234H - шестнадцатеричная.

  • Строки. Текстовой строкой является последовательность символов, заключенных в двойные кавычки (*) "Test"
    Пробелы внутри строк не удаляются. При необходимости использования символа " внутри самой строки, он заменяется на две простые кавычки: ' '.
  • Адрес. Ключевое слово ADR содержит текущее значение адресного регистра (32 разряда), по которому выполняется чтение/запись данных. Для адресного регистра могут использоваться операции установки (только в пользовательских секциях) и инкремента (в секциях блочного чтения и записи).
  • Данные. Для доступа к данным в буфере по текущему адресу используется ключевое слово DATA. Данные доступны пословно (8 или 16 бит в зависимости от установленного типа памяти) или поразрядно.
  • Регистры. Для выполнения математических и логических операций, описания констант и хранения данных можно использовать тридцать два 32-разрядных регистра R0...R9, RA...RF, R10...R1F. Регистры R0...R9 универсальные, регистры RA...RF специального назначения. Через них передаются параметры:
    RA - передача параметров
    RB - размер блока чтения/записи (из cfg) =$BLOCKSIZE
    RC - адрес текущей области
    RD - номер области для микросхем, имеющих несколько областей памяти (например, для микроконтроллеров) =$AREA.
    RE - глобальный код операции (1-READ,2-VERIFY,3-WRITE,4-USER)
    RF - полный размер памяти (из cfg) = $SIZE.

    Параметры устанавливаются автоматически перед запуском секции. Если значение, передаваемое специальным регистром не используется, он может использоваться как универсальный внутри секций. Формат объявления регистров дан ниже.

    Доступ к регистрам специального назначения возможен также через символьные имена:
    $SIZE - полный размер памяти (из cfg) = RF,
    $BLOCKSIZE - размер блока чтения/записи (из cfg) =RB,
    $VERIFY - режим сравнения (0 - отключен),
    $CDELAY - задержка (эквивалентна CDELAY),
    $WDELAY - задержка записи,
    $AREA - номер области памяти =RD,
    $VERSION - версия hardware и software.
    $MODE - параметр MODE из конфигурационного файла
    $MCUCLK - тактовая частота процессора в Гц.
Описание протокола состоит из нескольких секций, основными являются три: начальная, [READ] - чтение слова и [WRITE] - записи слова.

Кроме этого, дополнительно можно использовать следующие секции:
[SETUP] - начальная установка, вызывается однократно при загрузке модуля
[INIT] - инициализация, вызывается однократно перед всеми операциями.
[WRITEINIT] - инициализации записи, вызывается один раз перед началом записи EEPROM.
[WRITEEND] - завершение записи, вызывается один раз после записи всех слов EEPROM.
[READBLOCK] - Чтение блока
[WRITEBLOCK] - Запись блока
[END] - завершение операции, вызывается один раз для любой операции
[BOOT] - начальная загрузка.
При необходимости могут быть описаны дополнительные пользовательские секции, которые добавляются в меню под своим именем. Их названия также записываются в скобках [ ], они не должны совпадать с названиями основных секций. При использовании пробелов имена следует дополнительно заключать в кавычки:
(*) ["Test 1"]

Секции с именами [---] служат для использования в качестве разделителей меню и не вызываются.
Перед названием секции можно указывать дополнительные символы, определяющие порядок работы секции:
'!' - функция будет выполнятся без подачи питания на микросхему.
'#' - функция будет исполняться на процессоре ПК (реализация зависит от аппаратной платформы).
'~' - функция будет исполняться без секций [INIT] [END].
Для функций, предназначенных для математической обработки буфера рекомендуется использовать оба символа !#:
(*) [!#Calculator]
Можно использовать локальные секции (функции). Для описания функций перед именем добавляется символ '_' :
(*) [_START]
Функции должны быть описаны в модуле до их использования. Вызов функции осуществляется по имени:
(*) _START.
Передача параметров возможна с использованием регистров. Разрешено использовать внутри функций вызовы других функций. Не рекомендуется использование рекурсивных вызовов.
Имена функций не должны повторяться.
Секции чтения и записи вызываются при выполнении операций Read и Write для каждого слова.

Алгоритм вызова секций в режиме чтения:

[INIT]
FOR (ADR=0,ADR<SIZE;ADR++){
[READ]
}
[END]

Алгоритм вызова секций в режиме записи:

[INIT]
[WRITEINIT]
FOR (ADR=0,ADR<SIZE;ADR++){
[WRITE]
IF (Проверка записи)
[READ]
}
[WRITEEND]
[END]

Алгоритм вызова для пользовательских команд:
[INIT]
[USERSECTION]
[END]
Измение ADR внутри секции не меняет глобального значения. В начальной секции описываются:

  • Номер панельки для установки микросхемы

    (*) SOCKET=1

    Если параметр SOCKET не указан, он считается равным 0. Нумерация панелек условная:
    1 I2C
    2 MicroWire
    3 SDA2506
    4 SPI
    5 NVM3060
    6 S2100R
    7 AT17XXX
    8 M35080
    В программаторах Orange4,5,SE установлена одна общая панелька, трансляция номеров выводов для заданного Socket производится автоматически.
  • Входные и выходные сигналы для подключения к программируемой микросхеме (pins):
    (*) PINO=SCL,0 - Выход, SCL - имя сигнала, 0 - виртуальный номер бита
    (*) PINI=SDA,1 - Вход, SDA - имя сигнала, 1 - виртуальный номер бита
    (*) PING=DAT,2 - Двунаправленный вывод типа "Открытый коллектор".

    Входные и выходные сигналы могут иметь одинаковые имена. Имена должны быть не длиннее восьми символов. Имена не могут совпадать с зарезервированными ключевыми словами. Трансляция виртуальных номеров в физические номера выводов производится в зависмости от значения SOCKET.
    Символ # перед именем является признаком инверсии сигнала:
    (*) PINO=#DTA,0

    Дополнительно можно указать реальный вывод микросхемы, к которому подключен сигнал:
    (*) PINO=SDA,1,5
    Это необходимо для создания графического изображения микросхем, имеющих неописанное либо нестандартное расположение выводов.
  • Входные и выходные шины (порты):
    (*) BUSO=ADDRBUS,1 - Выход, ADDRBUS - имя шины, 1 - виртуальный номер.
    (*) BUSI=DATABUS,0 - Вход, DATABUS - имя шины, 0 - виртуальный номер.

    Входные и выходные шины могут иметь одинаковые имена. Имена должны быть не длиннее восьми символов и не могут совпадать с зарезервированными ключевыми словами. Номера шин являются предопределенными, их набор зависит от установленного значения SOCKET и модели программатора.
  • Задержка после каждой операции установки пина (в микросекундах):
    (*) CDELAY=10
    Позволяет регулировать скорость обмена. Реальные задержки могут получаются насколько больше заданных.
  • Дополнительная информация о модуле, которая отображается в нижнем информационном окне. Не более одной строки.
    (*) INFO="Новый модуль"
  • Дополнительный справочный файл (вызывается из меню). Рекомендуемый формат файла - chm. Файл может находится в каталоге HPL (учетом пути к HPL модулю) или IMAGE.
    Если имя файла не задано, программа пытается открыть файл с именем микросхемы или модуля с одним из стандартных расширений. (*) INFOFILE="megahelp.chm"
  • Общее число выводов в корпусе EEPROM (по умолчанию 8 для EEPROM, не более 48). Должен указываться после параметра SOCKET.
    (*) ALLPINS=14
  • Объявления регистров, доступных для использовании в функции GET, а также редактирования через меню (Buffer->Registers). Имена регистров не должны совпадать. Если регистры используются локально внутри секций, объявлять их не нужно.

    (*) R0=Protect - где "Protect" - имя регистра

    После имени регистра через запятую может быть указан тип (режим отображения значения) регистра:
    B - Bin, C - CheckBox, D - Dec, E - Hex Editor, H - Hex, L - List, S - String, P - PushButton.
    Если тип набран в нижнем регистре, он не отображается в окне редактирования.

    (*) R1=CODE,h

    Для типов H,D,B,C дополнительно может быть указано число отображаемых знаков:
    (*) R2=FLAGS,B8
    (*) R3=Box,C4

    Для типа L добавляется список текстовых строк.
    Значение регистра соответствует порядковому номеру выбранной строки начиная с 0.
    (*) R0=Mode,L,On,Off

    Строковые типы S при использовании в функции GET обязательно должны быть связаны с соответствующим массивом. Для этого в регистр следует занести порядковый номер массива (начиная с 0).
  • HPL - Ссылка на имя базового модуля. Только для Orange5. При необходимости функции могут быть разделены на 2 части: первая содержит базовые функции для работы с конкретной микросхемой, вторая - специфические вычисления. В конфигурационном файле должно указываться имя второго модуля, а во втором модуле - имя первого:
    (*) HPL=25c040.hpl
  • Массивы - предназначены для работы с блоками памяти заданной длины.
    Имена массивов должны начинаться с символа '@'.
    (*) @AR1=25 - незаполненый массив (25 элементов)
    (*) @AR2={1,2,3,4,5,6,7,8,9,10,11,12,13} - заполненый массив
    Работа с массивами описана ниже.
  • POWER - режим управления питанием:
    1 - автоматическое включение/выключение
    0 - управление из модуля.
  • OPTIONS - дополнительные опции. Могут определятся для всех областей сразу или независимо для каждой.Назначение соответсвует полю OPTIONS в конфигурационном файле.
    (*) OPTIONS=f,b
  • LOG - Вызов окна протокола при загрузке модуля.
    (*) LOG

Все остальные секции имеют одинаковый формат записи. в одной строке может быть описано несколько инструкций, между собой они разделяются запятыми.

Описание инструкций (команд):

  • Установка пина константой, битом данных, адреса или регистра:
    (*) SDA=1 - установка на выводе логической 1
    (*) SDA=DATA[2]
    (*) SCL=ADR[3]
    (*) PIN=R2[3]
    (*) PIN=Z - переключение в Z-состояние
    (*) PIN=P - вывод положительного импульса (аналогично PIN=1,PIN=0)
    (*) PIN=N2 - вывод двух отрицательных импульсов
  • Проверка текущего состояния пина (линий ввода) или бита регистра R0-R1F
    (*) DAT?1
    (*) R2[4]?0
    или всего регистра:
    (*) R4?0x1234
    Если после операции сравнения в скобках { } описан блок инструкций, то он выполняется при равенстве бита(регистра) и константы, иначе выполняется инструкция следующая за скобками. Если такой блок не описан, при несовпадении проверяемого значения выполнение операции прерывается с выводом сообщения "Error: Chip not respond!" и номером строки HPL файла, на котором произошла остановка.
    (*) R2[4]?0 {P1=0}, P2=1
    Если 4 бит регистра R2 равен 0, то выполняется инструкция P1=0, а потом P2=1, если бит равен 1 - то сразу P2=1
    Если перед сравниваемым числом стоит символ !, то условие меняется на противоположное. (Блок выполняется при несовпадении значений).
    (*) R2?!1234H {P1=0}
    Если R2 не равен 1234H, то выполняется инструкция P1=0, иначе выполняется сразу следующая инструкция.
  • Установка шины (порта) константой, cловом данных, адреса или регистра:
    (*) DBUS=1
    (*) DBUS=R5
  • Установка константы (устаревшее). Значения констант должны лежать в пределах 0...65535.
    (*) CONST=159

  • Операции с регистрами.

    1. Операции присвоения (копирования):
      Регистр-регистр (*) R2=R5
      Регистр-данные (*) R2=DATA
      Данные-регистр (*) DATA=R3
      Данные-число (*) DATA=0x45
      Разрядность данных в зависимости от установленного типа микросхемы составляет 8 либо 16 бит.

    2. Арифметические и логические операции
      (В операциях может участвовать константа или другой регистр):
      установка "=" (*) R0=356H
      сложение "+" (*) R0=+123 ; R0=R0+123
      вычитание "-" (*) R0=-R1 ; R0=R0-R1
      умножение "*" (*) R0=*R1 ; R0=R0*R1
      деление "/" (*) R0=/5 ; R0=R0/5
      взятие остатка "%" (*) R0=%10 ; R0=R0%10
      циклический сдвиг ">>", "<<" (*) R0=>>1 ; сдвиг R0 вправо на 1 разряд (бит 0 переносится в бит 31, бит 1 - в 0, бит 2 - в 1 и т.д....)
      Логическое И - AND "&" (*) R0=&R2 ; R0=R0 and R2
      Логическое ИЛИ - OR "|" (*) R0=|R2 ; R0=R0 or R2
      Исключающее ИЛИ - XOR "^" (*) R0=^R2 ; R0=R0 xor R2
      В операциях деления и взятия остатка запрещено использовать константу 0 либо регистр, содержащий 0!
      3) Битовые операции с регистрами (*) R0[R1]=1 - бит регистра R0, равный R1 установить в 1
  • LOOP - Циклы. Переменная циклов может быть 3 видов: адрес, данные чтения/записи и константа. Кроме того, может быть описан универсальный цикл, без указания переменной, в этом случае доступ осуществляется через счетчик (индекс) цикла I. Универсальные циклы могут быть вложенными, во внутреннем цикле непосредственно доступен только счетчик внутреннего цикла. Для универсальных циклов границы могут быть также заданы через регистры.
    В Orange5 можно использовать только универсальные циклы! В в других программаторах для совместимости с будущими версиями также рекомендуется использовать только универсальные циклы.
    Константа должна быть задана до начала цикла с помощью инструкции CONST Границы цикла должны лежать в пределах:
    0...32767 - для универсальных циклов
    0...32767 - для циклов CONST
    0...1023 - для циклов DATA
    0...31 - для циклов ADR
    При выполнении кода для универсальных циклов не контролируется выход индексов за пределы реального размера DATA, ADR и CONST.
    Скобки "{","}" ограничивают тело цикла.

    (*) LOOP=(15,0) {DI=R0[I],...}
    линия вывода DI поочередно принимает значения бит 15..0 значения регистра R0.
    (*) LOOP=(7,0) {DI=ADR[I],...}
    (*) LOOP=ADR(7,0) {DI=I,...} - старый вариант линия вывода DI поочередно принимает значения бит 7..0 текущего значения адресного слова.

    (*) LOOP=(0,15) {DATA[I]=DO,..} - поочередное считывание бит 0..15 слова данных с линии ввода DO
    (*) LOOP=DATA(0,15) {I=DO,..} - старый вариант .

    (*) R1=10H
    LOOP=(5,0) {D=R1[I],..}
    (*) LOOP=(R1,R2) {R3[I]=DATA[I]}
    Копирование битов данных от R1 до R2 в соответствующие биты регистра R3

    (*) LOOP=(0,7){ P1=0,LOOP=(6,1){P1=0,P1=1} }
    Вложенные циклы.
  • BREAK - выход из текущего цикла.
    (*) LOOP=(7,0) {PI?0{BREAK}}
  • Массивы. Для массивов доступны операции чтения и записи заданного элемента, а также получение размера массива. Хранится в массивах могут только байтовые (символьные) элементы.
    Массивы описываются в начальной секции.
    (*) R0=@AR - получить размер массива.
    (*) R0=@AR[1] - получить элемент массива N1.
    (*) LOOP(@M2){R0=@M1[I],@M2[I]=R0} - копировать данные из массива M1 в M2.
  • Задержка (в микросекундах). Значение задержки может быть в пределах 1мкс...65с.
    (*) P=200
  • PRINT Вывод сообщения. Вывод на экран окна с сообщением, строка должна быть заключена в кавычки. Внутри строки можно использовать стандартные модификаторы аналогичные используемым в языке C для printf(). (В DOS версии для всех числовых аргументов необходим дополнительный параметр l (long int)).
    %X - шестнадцатеричное значение
    %u - десятичное значение
    %c - символ (char)

    Для самостоятельного использования символа % (процент) внутри строки, он должен быть повторен дважды %%.
    Для перевода строки используется стандартная комбинация символов: \n.
    Транслятор не проверяет правильность и количество передаваемых аргументов!

    (*) PRINT=("Hello, World")
    (*) PRINT=("Code=%04lX",R1) - Вывод значения регистра R1 в шестнадцатеричном виде - минимум 4 цифры.

    Можно также использовать дополнительные модификаторы, определяющие тип окна:
    E - Error - сообщение об ошибке
    (*) PRINT=E("Hello, Mr. Bug!")

    S - Status - запись в статусное окно
    (*) PRINT=S("Progress %03lu",R0)

    T - Text - запись в текстовое окно
    (*) PRINT=T("Value = %u",R0)
    Для окончания вывода в текстовое окно необходимо вывести пустую строку: (*) PRINT=T("")
    После этого окно становится модальным.
    Для модификаторов S и T дополнительно может указываться цвет текста в виде числового значения:
    (*) PRINT=T(0x0000FF,"RED\n")

    L - Log - запись в окно протокола
    (*) PRINT=L("Operation %02lu",R0)

    P - ProgressBar - Установка положения индикатора выполнения. Первое число - текущее значение, второе - максимальное значение (может не указываться).
    (*) PRINT=P(R0,32)

    A - Ask - запрос подтверждения пользователя
    Значение возвращается в регистре RA (Ok=1,Cancel=0)
    PRINT=A("Are you ready ?")
  • GET Ввод значений. На экран выводится окно с запросом данных. Строка в скобках задает заголовок окна. Одновременно могут быть введены сразу несколько значений в заданные регистры. Имена регистров и формат данных соответствуют описанным в начальной секции.
    (*) GET=("Enter value",R7,R8)
  • MARK Установка и получение отметки (выделения) текущего слова. Адрес соответствует значению ADR.
    (*) MARK=R1
    (*) R2=MARK
  • EXIT - Завершение работы секции.
  • RETURN - Выход из функции. Не может использоваться для прерывания цикла.
  • VCC - Управление напряжением питания (включение, выключение, установка):
    (*) VCC=1 - включить
    (*) VCC=0 - выключить
    (*) VCC=3000 - установить напряжение 3.0 V (значение в милливольтах)
  • VPP - Управление напряжением программирования (включение, выключение, установка). Функционирует при наличии аппаратной реализации в программаторе.
    (*) VPP=10000 - установить напряжение 10.0 V
    (*) VPP=0 - выключить
  • IDISABLE/IENABLE - Запрет/Разрешение прерываний. Используются для выполнения критичных по времени операций.
    Для каждой команды IDISABLE обязательна последующая IENABLE.

Подробней изучить конструкции языка можно примере поставляемых в составе программатора файлов *.hpl.


Шаблоны

rev 1.0 (11.11.2011)

Шаблоны представляют собой специальные текстовые файлы, позволяющие отображать содержимое буфера редактора в удобном для просмотра и редактирования виде.
Cимволом (*) обозначены примеры в данном документе.

Формат файлов шаблонов.
Символ ';' является признаком комментария - продолжение строки начиная с этого символа не обрабатывается.

Ключевые слова пишутся только в верхнем регистре (большими буквами).
Зарезервированные ключевые слова: "TEMPL", "ADR", "TYPE", "SIZE", "COLOR", "GET", "SET". "AREA".

Каждый шаблон из элементов. Для элемента обязательно указание ключевого слова названия "TEMPL", она должна быть первой. Остальные слова являются опциональными и при отсутствии рассчитываются автоматически.
  • Числа. Числа могут задаваться в двоичном, десятичном и шестнадцатеричном формате.
    Если шестнадцатеричное число записано в виде nnnnH и начинается с буквы (A-F), то перед ним следует писать дополнительный 0.
    Двоичное число должно содержать только символы '0', '1' и завершаться 'b'.
    (*) 1234 - десятичная константа
    (*) 010101B - двоичная
    (*) 0x1234 или 0A234H - шестнадцатеричная.

  • TEMPL - имя элемента шаблона. Описывается текствой строкой до 20 символов. (*) TEMPL=Test name
  • ADR - Адрес. В зависимости от значения ADR адрес текущего элемента может рассчитываться 3 способами:
    1. Адрес указан явно:
    (*) ADR=0x18
    2. Адрес не указан, в этом случае адресом считается адрес, следующий за предыдущим элементом.
    3. Адрес задан в виде смещения с символом '+', в этом случае адресом считается адрес, следующий за предыдущим элементом с добавлением указанного числа.
    (*) ADR=+3
  • TYPE - тип.Определяет отображение элемента. Задается одиночным символом. Поддерживаются следующие типы элементов: B - Bin, H - hex (по умолчанию), D - Dec (десятичное число), L - List (выпадающий список), S - String (строка). C - CheckBox (Флажок). (*) TYPE=H
    Для типа L дополнительно после запятой указываются возможные значения: (*) TYPE=L,Off,On
  • SIZE - размер элемента шаблона в байтах. По умолчанию равен 1.
    (*) SIZE=2
  • GET - описание математической функции, пересчитывающей значение буфера по заданному адресу
    в значение элемента шаблона. Если функция не указана, то значение элемента будет равно непосредственно значению буфера. Если необходимо выполнять пересчет значения шаблона в буфер, должна быть описана обратная функция SET. Не используется для типа String.

    В формуле могут использоваться арифметические и логические операции, аналогичые встроенному калькулятору:
    + - сложение
    - - вычитание
    * - умножение
    / - деление
    % - взятие остатка
    & - AND
    | - OR
    ^ - XOR
    Деление на 0 и взятие остатка запрещено. Приоритет операций задается круглыми скобками.

    (*) GET=[0]+2 (значение шаблона равно байту из буфера по заданному адресу плюc 2)
  • SET - описание математической функции, пересчитывающей значение элемента шаблона в значение буфера по заданному адресу
    Не используется для типа String.
    (*) SET=V-2 (где V - значение элемента)


FileType

Типы файлов

Програматор поддерживает следующие типы файлов:

BIN - двоичный файл данных
ROM - двоичный файл данных
EEP - двоичный файл данных
HEX - Intel HEX. Для файлов размером более 64K применяется расширенный формат с использованием поля типа 04 (запись расширенного адреса)
S19 - Motorola S-records. Поддерживается адресация 16 и 24 бита.
E2P - Файл в формате PonyProg. (Только для чтения)
DIZ - файл описания
HPL - описание алгоритма на языке HPL
HPX - закодированный HPL файл
ORG - файл регистров Orange
PIN - Описание корпусов и выводов

Файлы с расширениями BIN, HEX, S19, ROM, EEP могут автоматически открываться в редакторе программатора из проводника Windows. Для этого следует зайти в меню: Настройки - Файлы - Расширения и установить необходимые "птички". Если они уже были установлены, то снять, выйти из программы, зайти заново и установить еще раз.


descriptions

Файл описания

Описания представляют собой текстовые файлы с именем рабочего файла и стандартным расширением *.diz. Сохранение и загрузка файла описания производится синхронно с основным файлом. Для работы с описаниями необходимо установить флаг "Description file" в опциях программы.


HardWare

Панельки и разъемы программатора

Разъем расширения SE

A:Vpp | x | 1:GND | 2:P0 | 3:P1 | 4:P2 | 5:P3 | 6:P4 | 7:P5 | 8:VCC
B:VppR | x | 9:GND | 10:P6 | 11:P7 | 12:P8 | 13:P9 | 14:P10 | 15:P11 | 16:P12

Разъем расширения MT

2 - GND | 4 - RXD | 6 - TXD | 8 - RST | 10 - OSC | 12 - PDX | 14 - V10V | 16 - VCC | - | 20 - GND
1 - GND | 3 - RXD | 5 - TXD | 7 - RST | 9 - OSC | 11 - AS | 13 - V10V | 15 - VCC | 17 - VL | 19 - GND

Программатор содержит одну 16-выводную панельку. Все микросхемы в 8-выводном корпусе устанавливаются в переднюю часть панельки. Первым выводом к рычагу ZIF. В заднюю часть устанавливается переходник SOIC8DIP для микросхем Microwire Rotated (MWR).


Организация защиты в микроконтроллерах Motorola.

HC05

В микроконтроллерах серии HC05 защита активируется путем установки в ноль SEC бита в Options register (OPTR). Для 05B и 05x этот регистр расположен в первой ячейке EEPROM (адрес $0100).
После активации SEC процессор не может быть запущен в режиме Serial RAM loader, и соответственно чтение и запись памяти невозможны. Для работы с защищенными процессорами следует использовать функцию Skip SEC (Обход SEC) программатора Orange5.
Внимание! В некоторых образцах загрузчик модифицирован производителем таким образом, что при этом в режиме Serial RAM loader происходит стирание EEPROM. В таких случаях следует сразу использовать функцию Skip SEC, а не Boot!
Функция Skip SEC не меняет состояния SEC бита. Для отключения защиты следует модифицировать регистр OPTR.

Если после обхода память прочиталась заведомо неправильно, сохраните прочитанные файлы и попробуйте повторить операцию.

HC08

В HC08 Область FLASH, а иногда и EEPROM защищены от чтения 8-байтным паролем. Паролем является значение FLASH памяти по адресам $FFF6-$FFFD. При неверном пароле из всех ячеек памяти будет читаться константа 0xAD, либо хаотическая информация.
Для работы с защитой выбрать в меню Skip SEC. Если пароль известен, введите его в окне SSCode. или выберите из списка известных паролей (список хранится в файле hc08sec.ini). Для определения неизвестного пароля для 908AS60(A)/908AZ60(A) нажать кнопку Scan. Процесс определения занимает до 10 минут. Если процесс завершается успешно, в окне отображается найденный пароль.
В режимах поиска пароля питание процессора должно подаваться от программатора.

HC11

В микроконтроллерах серии HC11 защита активируется путем установки в ноль SEC бита в CONFIG register (адрес $003F).
После активации SEC попытка чтения приводит к стиранию EEPROM и CONFIG. Для работы с защищенными процессорами следует использовать функцию Skip SEC (Обход SEC) программатора Orange5. Перед выполнением обхода программатор проверяет состояние SEC, и выдает соответствующее сообщение. эта операция безопасна и не приводит к стиранию памяти.
В некоторых типах, например 11PA8, SEC бит работает так же, как в HC05, т.е. EEPROM не стирается.
Функция Skip SEC не меняет состояния SEC бита. После загрузки процессора с помощью Skip SEC прочитать реальное значение CONFIG невозможно. Если требуется определить значение CONFIG, следует выполнить следующую последовательность действий:
1. Выполнить Skip SEC, потом прочитать EEPROM и сохранить в файл.
Выключить питание кнопкой.
2. Выполнить Boot, сразу после этого прочитать содержимое CONFIG, запомнить.
3. Повторить Boot, записать EEPROM и CONFIG.

HC12

В HC12 возможна блокировка BDM-интерфеса микроконтроллера. Состояние блокировки определяется старшим битом SHADOW регистра (NOBDML). Внутрисхемное чтение и запись в этом случае невозможны.

В серии HCS12 возможна защита паролем содержимого FLASH и EEPROM. Для определния защиты FLASH в серии 9S12 следует прочитать значение регистра FSEC. Младшие 2 бита этого регистра SEC[1:0] соответствуют:
00 secured
01 secured
10 unsecured
11 secured.

Старший бит KEYEN определяет парольную защиту:
1 = backdoor to Flash is enabled.
0 = backdoor to Flash is disabled.

Если после обхода память прочиталась заведомо неправильно, сохраните прочитанные файлы и попробуйте повторить операцию.


Orange5. Запись памяти программ для 68HC705

Запись EPROM для 68HC705

Программатор имеет функцию записи EPROM (памяти программ) микроконтролеров Motorola серии 68HC705B16/B32 и 68HC705X32.
Микроконтроллеры в корпусе PLCC52 выпускаются в 2 модификациях: однократно программируемые и с окошком для стирания ультрафиолетовой лампой.
Для микроконтроллеров не имеющих окошка возможна только однократная записи EPROM.
Начальное значение памяти EPROM: 00, EEPROM: FF

Порядок работы:
  • Подключить Orange5 и запустить управляющую программу
  • Установить непрошитый (новый или стертый) микроконтроллер в панельку 705B адаптера 05BP2
  • Выбрать в программе необходимый тип микроконтроллера с пометкой "EPROM"
  • Установить перемычку VPRG на плате 05BP2
  • Установить первую область EPROM (микроконтроллер может иметь несколько областей EPROM, например, EPROM0, EPROM1, EPROMV, MASKOREG)
  • Загрузить файл с прошивкой.
  • Записать текущую область.
  • Повторить для всех последующих областей EPROM.
  • Снять перемычку VPRG на плате 05BP2
  • При необходимости записать область EEPROM.
    Для этого выбрать в меню тип микроконтроллера 68HC05Bxx без приписки EPROM.
    Загрузить соответствующий файл с прошивкой.
    Нажать кнопку "запись".
  • Отключить питание процессора кнопкой Vcc
  • Извлечь прошитый микроконтроллер из панельки
Примечание:
При сохранении файлов с прошивкой в формате S19, все области записываются в один файл. В этом случае достаточно загрузить его один раз.

Для замены вышедшего из строя микроконтроллера серии HC05 можно использовать микроконтроллер серии 705, записав соответствующую программу.
Таблица совместимости микроконтроллеров:

Оригинал: Замена: | 05B6 | 05B8 | 05B16 | 05B32 | 705B16 | 705B16N | 705B32
68HC705B16 | * | * | * | - | + | * | -
68HC705B16N | * | * | + | - | + | + | -
68HC705B32 | - | - | - | + | - | - | +

- Перенос программы невозможен.
+ Перенос программы возможен.
* Требуется корректировка либо перенос области векторов.


Orange5. Запись микроконтроллеров 68HC908

Запись EEPROM и FLASH для 68HC908

Программатор имеет функцию записи FLASH (памяти программ) микроконтроллеров Motorola серии 68HC908.
Ниже описан порядок полного копирования прошивки из одного мк в другой.

Порядок работы:
  1. Подключить Orange5 и запустить управляющую программу
  2. Выбрать в программе требуемый тип микроконтроллера
  3. Если имеется файл прошивки, загрузить его и перейти к пункту 9
  4. Установить оригинальный микроконтроллер в переходник
  5. При необходимости проверить скорость обмена (Device-Detect Baudrate)
  6. Выберите в меню пункт Device-Skip Sec. Области FLASH, а иногда и EEPROM защищены от чтения 8-байтным паролем. Если пароль известен, введите его в окне SSCode. или выберите из списка известных паролей.
    Программатор Orange5 имеет уникальную функцию определения паролей в микроконтроллерах 908AS60(A)/908AZ60(A). Для определения неизвестного пароля нажать кнопку Scan. Процесс определения занимает до 10 минут. Если процесс завершается успешно, в окне отображается найденный пароль и можно перейти к следующему пункту. Если нет - копирование данного микроконтроллера невозможно.
  7. Считать все области EEPROM и FLASH. При неверном пароле из всех ячеек памяти FLASH будет читаться hex константа AD, либо хаотическая информация.
  8. Сохранить содержимое буфера в файл формата S19.
  9. Установить микроконтроллер, который требуется записать, в переходник.
  10. Если микроконтроллер уже содержит какую либо прошивку стереть поочередно все области FLASH с помощью кнопки Erase.
    После стирания установить пароль для данного типа, соответствующий чистой FLASH-памяти. (FF FF FF... или 00 00 00... ).
  11. Последовательно записать все области EEPROM и FLASH.
    Будьте внимательны при записи энергонезависимых регистров EExNVR,EExDIVNVR. Установка неверных значений может необратимо нарушить корректную работу EEPROM!
  12. Выключить питание (кнопка "Vcc").
  13. Извлечь прошитый микроконтроллер из панельки.


Orange5. Запись микроконтроллеров HC912,9S12

Запись EEPROM и FLASH для 68HC912, 9S12

Программатор имеет функцию записи FLASH (памяти программ) микроконтроллеров Motorola серии 912 ,9S12.
Ниже описан порядок полного копирования прошивки из одного мк в другой.

Порядок работы:
  1. Подключить Orange5 и запустить управляющую программу
  2. Выбрать в программе требуемый тип микроконтроллера
  3. Если имеется файл прошивки, загрузить его и перейти к пункту 9
  4. Установить оригинальный микроконтроллер в переходник. Либо подключить программатор к плате с микроконтроллером для внутрисхемного чтения (Необходимые выводы указаны в справке). Во многих устройствах установлен специальный разъем для подключения программатора.
  5. При необходимости проверить скорость обмена (Device-Baudrate)
  6. Считать по очереди все области EEPROM и FLASH.
  7. Микроконтролер может быть защищен от считывания. В этом случае программатор выдаст сообщение "BDM locked" или аналогичное.
    Для некоторых типов микроконтроллеров возможно считывание памяти даже при наличии защиты. Если такой возможности нет, копирование данного микроконтроллера невозможно.
  8. Сохранить содержимое буфера в файл формата S19.
  9. Установить микроконтроллер, который требуется записать, в переходник.
  10. Для микроконтроллеров 912B32, 912D60/Dx128 (без буквы 'A') стирание и запись FLASH требует подачи напряжения 12V на вывод Vfp. Для этого переходник с установленным микроконтроллером следует устанавливать через адаптер 05BP2, и на адаптере замкнуть перемычку VPRG.
    Микроконтроллеры новых серий не требуют подачи высокого напряжения.
  11. Если микроконтроллер уже содержит какую либо прошивку стереть поочередно все области FLASH с помощью кнопки Erase.
    Для микроконтроллеров 9S12 возможно полное стирание памяти даже при установленой защите.
  12. Для снятия защиты после полного стирания нажать кнопку "Unsecure" для HC912, иначе после записи чтение станет невозможно.
    В 9S12 признак защиты хранится в общей области FLASH.
  13. Последовательно записать все области EEPROM и FLASH.
  14. Выключить питание (кнопка "Vcc").
  15. Извлечь прошитый микроконтроллер из панельки.


Orange5. Эмуляция EEPROM 9S12XE

Эмуляция EEPROM в микроконтроллерах 9S12XE, 9S12XF

Фирма Freescale отказалась от использования обычной EEPROM в микроконтроллерах серий 9S12XE, 9S12XF. Вместо этого микроконтроллеры (МК) имеют только P-flash (память программ) и D-flash (память данных).
В режиме эмуляции EEPROM (EEE) часть области D-flash (или вся область) используется для хранения EEE. При этом переписать ее напрямую нельзя, можно только прочитать. В D-flash EEE видима в специальном формате - одна ячейка EEE хранится в виде небольшого блока данных в D-flash.

В чистом (новом или стертом) МК EEE не инициализирована. Для начала ее использования необходимо выполнить команду Partition и установить требуемые значения.

Самыми важными являются следующие параметры:

DFPART = Число D-Flash секторов, резервируемых в D-flash.
ERPART = Число страниц резервируемых для EEE.

После перезапуска процессора EEE будет видима в специальном блоке оперативной памяти. Неиспользуемая область ОЗУ при этом заполняется случайными значениями.

Для получения дополнительной информации рекомендуется изучение документа "Freescale Semiconductor - Application Note AN3490 Overview of the MC9S12XE Emulated EEPROM".

Порядок записи (копирования) процессора:

  1. На МК, который нужно скопировать, считываем все 3 области. Также сделать команду Query EEE и запомнить значения.
  2. Cтереть полностью опытный процессор (Erase без Unsecure).
  3. Записать запомненные по команде Query EEE значения с помощью команды Partition EEE. При выполнении "Full Partition" происходит полное стирание D-FLASH и инициализация EEE ресурсов.
  4. Записать P-FLASH.Состояние защиты контроллера определяется байтом хранящимся в последнем блоке P-FLASH по адресу XXF08h.
  5. Записать D-FLASH. Запись может пройти не полностью, а только до начала области эмуляции.
  6. Записать EEE.
  7. Извлечь прошитый микроконтроллер из панельки.


Программирование микроконтроллеров AVR

Программирование микроконтроллеров Atmel AVR

Atmel AVR - 8-разрядные высокопроизводительные RISC микроконтроллеры со встроенной Flash памятью. Делятся на 3 семейства: tinyAVR (ATtinyxxx), megaAVR (AT90Sxxx и ATmegaxxx) и XMEGA (ATxmegaxxx).

tinyAVR

tinyAVR имеют 2 режима программирования:
- низковольтный последовательный режим LV (Low-voltage Serial Downloading);
- высоковольтный последовательный режим HV (High-voltage Serial Programming);

Программаторы Orange поддерживают оба режима. Низковольтный режим может использоваться для внутрисхемного программирования через разъем SE либо прямо в панельке программатора (для 8-выводных контроллеров). Высоковольтный режим может использоваться для внутрисхемного программирования либо через адаптер PICAVR. Для этого режима в меню следует выбирать микросхемы с пометкой HV в названии.

Низковольтный режим может быть отключен при программировании области конфигурации (FUSES). Активировать его назад возможно только в режиме HV. Обычно для этого следует включить бит SPIEN (On) и отключить RSTDISBL (Ext.Reset). Новые микроконтроллеры всегда имеют доступный низковольтный режим.

MegaAVR

MegaAVR имеют 3 режима программирования:
- низковольтный последовательный режим (Low-voltage Serial Downloading);
- параллельный режим (Parallel Programming);
- JTAG (старшие Mega);

Программаторы Orange поддерживают только последовательный режим. Поддержка параллельного режима возможна только в Omega FLASH. Возможно программирование микроконтроллеров в адаптере PICAVR либо внутрисхемно через разъем SE.
Для программирования контроллеров в корпусах SOIC, QFP, MLF требуются дополнительные переходники.

Внутрисхемное программирование

При внутрисхемном программировании используются следующие сигналы:
P0 - MISO
P1 - MOSI
P2 - SCK
P3 - RESET
VSS - GND.
Для режима HV дополнительно подключается VPP (VPPR).
Также необходимо обеспечить питание микроконтроллера.

Скорость чтения и записи можно увеличить путем уменьшения параметра CDELAY в меню "Настройки микросхемы", однако значение частоты обмена должно быть как минимум в 4 раза ниже частоты тактирования контроллера. В противном случае возможно неправильное считывание и повреждение прошивки!

Области памяти

Микроконтроллеры AVR имеют несколько областей памяти:
- FLASH - память программ,
- EEPROM - память данных (не у всех типов),
- FUSES - конфигурационная область,
- LOCK - защита от считывания и перезаписи.

Для перезаписи области FLASH требуется предварительное стирание. Чистая (стертая) область содержит значения FFh.

В конфигурационной области хранятся настройки режимов работы. Активное (on) состояние соответствует значению 0, неактивное (off) - 1. Область имеет длину от 1 до 3 байт. Байты располагаются в следующем порядке: Low, High, Ext.

К сожалению, фирма Atmel не стандартизировала расположение байтов конфигурации в файлах, поэтому разные программаторы используют несовместимые между собой способы хранения либо не сохраняют конфигурацию вовсе.

В программаторах Orange при сохранении в HEX и экспорте файлов байты конфигурации записываются сразу после областей FLASH и EEPROM (для тех HPL модулей, где FUSES и LOCK включены в список областей).

Будьте внимательны при установке битов SPIEN, RSTDISBL, CKSEL. Неправильные значения могут привести к отключению режима низковольтного программирования. Контроллеры с неправильно записанным CKSEL можно "оживить", подав внешнюю тактовую частоту с контакта P12 разъема SE на вход XTAL1 (OSC1).

Область LOCK используется для защиты контроллера от чтения и записи. Для перезаписи защищенного контроллера необходимо его полное стирание.
Среди LOCK битов наиболее важны LB2 и LB1. В зависимости от их значения включается следующий режим защиты:

LB2 | LB1 | Режим
1 | 1 | нет защиты
1 | 0 | защита от записи
0 | 0 | защита от чтения и записи


Адаптер CAN K-Line

Адаптер CAN K-Line предназначен для поддержки программатором интерфейсов CAN и K-Line.
Адаптер устанавливается на программатор таким образом, чтобы разъем DB9 на адаптере был повернут в сторону USB.

K-Line Pullup Jumper определяет подключение подтягивающего резистора,
джампер (перемычка) может быть в положении 5V, 12V или снят.
Также может быть подключено внешнее напряжение (12V) к контакту +Vbat.

Джампер CAN Terminator при установке включает резистор (120 Ом) между цепями CAN H и CAN L.

Разъем DB9:
Name | Pin
GND | 1
GND | 2
CAN High | 3
K Line (ISO 9141-2) | 4
CAN Low | 5
Battery Power (+12V Vbat) | 9


FAQ

Frequently Asked Questions

(Часто Задаваемые Вопросы)
по программатору Orange

Версия 3.0 (05.03.2016)

Q: С какими операционными системами может работать программатор?
A: Рекомендуется использование операционной системы Windows XP (SP2,SP3). Возможна работа программатора с Windows7 (32bit). Также выпущены подписанные драйвера для операционных систем Windows 64 bit. Для установки драйвера требуются права администратора.

Q: Какой кабель нужен для программатора?
A: Используется стандартный USB кабель A-B длиной не более 1.8 метра. Рекомендуется выбирать наиболее качественный кабель, так как от этого зависит стабильность работы программатора. Примерно оценить качество кабеля можно с помощью самого программатора. (в меню Опции - Программатор нажать кнопку "Тест"). Чем больше значение в процентах в поле VccUSB, тем лучше.

Q: Для чего нужен разъем питания на программаторе?
A: Этот разъем является вспомогательным. При подключении к USB контроллеру компьютера, обеспечивающему требования стандарта по напряжению и току необходимости в дополнительном источнике питания нет. В ином случае можно использовать внешний источник питания с постоянным стабилизированным напряжением 5 Вольт и током не менее 500 мА (плюсовой контакт - центральный).
Запрещается подключать к разъему блоки питания c напряжением более 5 Вольт!

Q: Что означают надписи logic 0 и logic 1 в справке по внутрисхемному подключению?
A: Это значит, что на данном выводе микросхемы нужно обеспечить логический уровень 0 или 1. Это можно сделать подключением резистора сопротивлением (470 Ом... 1 КОм) между выводом и GND для logic 0 или между выводом и Vcc для logic 1.

Q: Я запаял процессор на универсальный переходник и подключил все выводы, указанные в справке. Почему процессор не читается?
A: В справке указан минимальный набор сигналов для внутрисхемного подключения. Для полноценной работы процессора обычно требуется подключение большего количества выводов, которые можно найти в документации на процессор. Либо воспользоваться переходником под данный тип процессоров при его наличии.

Q: Для чего нужен переключатель 'MODE'?
A: Переключатель предназначен для работы в режиме эмуляции с помощью программы O5TOOL.
При работе в режиме программатора должен находится в положении "N".

Q: Как проверить исправность программатора?
A: В меню Опции - Программатор нажать кнопку "Тест". При этом в панели не должно быть микросхем. При обнаружении неисправностей выдается соответствующее сообщение.

Q: Для чего нужны светодиоды на программаторе?
A: Красный светодиод (POWER) служит для индикации подачи напряжения на микросхему и загорается только на время работы с микросхемой. Зеленый светодиод (MODE) означает готовность программатора к работе по USB. Постоянное мигание зеленого светодиода свидетельствует об отсутствии драйвера, либо некорректной работе USB.

Q: При попытке прочитать внутрисхемно появляется сообщение "Vcc level too low ..."
A: Такое сообщение может появится при замыкании цепей Vcc и Gnd либо при переполюсовке. Также, такое может быть, если питаемое устройство потребляет слишком большой ток (более 300 мА).

Q: Как деинсталлировать программу?
A: Windows-версия Orange не делает записей в системном реестре и не устанавливает свои библиотеки. Для деинсталляции достаточно удалить каталог с программой.

Q: После удаления программы и установки новой версии в другой каталог пропали ассоциции файлов BIN и HEX.
A: - Зайдите в меню Настройки - Файлы.
- В разделе "Расширения" снимите галочки со всех типов файлов.
- Нажмите Ok.
- Зайдите в меню Настройки - Файлы еще раз.
- В разделе "Расширения" установите расширения на требуемые типы файлов.

Q: Как узнать серийный номер программатора?
A: Cерийный номер программатора Orange можно узнать, выбрав в меню пункт Помощь - Система. Программатор при этом должен быть подключен.

Q: Чем отличается "Verify during write" от "Verify After write"?
A: Первое выполняет проверку после записи каждого слова, а второе после записи всей области памяти. Проверка после записи более надежна, зато проверка во время записи быстрее покажет, что запись выполняется с ошибками. Как правило, включать обе опции сразу нет необходимости.

Q: Почему для некоторых микросхем не работает функции выборочного чтения или записи (модификации) выделенной области?
A: Функции не работают, если данный тип микросхемы предусматривает только блочное чтение (запись). В этом случае исправление отдельно взятого байта физически невозможно.

Q: Почему Orange меняет местами старший и младшие байты для 93с46 и других 16-битных EEPROM при записи в файл?
A: В отличие от некоторых других программаторов, Orange использует Intel-подобный формат (младший байт по младшему адресу). В данном случае это более корректно, что подтверждается тем, что те микросхемы, которые имеют 8 и 16 битный режим, читаются в обоих режимах одинаково. Если Вас такой порядок не устраивает, есть 3 способа:
1) Установить перестановку байтов в опциях файлов. Однако постоянно пользоваться этим режимом не рекомендуется для сохранения совместимости.
2) Воспользоваться командой Swap bytes, она переставляет байты в буфере.
3) Исправить соответствующий HPL.

Q: У меня не работает модуль XX с EEPROM YY фирмы ZZ, что делать?
A: 1) Убедиться в исправности программатора
2) По возможности проверить в исправности микросхемы на другом программаторе.
3) Сравнить модуль с алгоритмами чтения/записи, рекомендуемые производителем. EEPROM одинаковых серий у разных фирм могут иметь существенные отличия.

Q: Как мне написать свой HPL модуль и добавить его в меню?
A: Сначала спросите - может он уже написан до вас :)

  1. Определите расположение выводов EEPROM - если оно совпадает с каким-нибудь существующим, возьмите подходящий модуль за основу, если нет, начинайте писать с самого начала. Не забудьте сделать копию перед редактированием какого-либо модуля. 2) Выберите имя будущего модуля. Как правило, существует несколько EEPROM разного объема с совместимым форматом команд. Рекомендуется выбирать для названия EEPROM максимального объема. Например, для группы 24C04 (512x8), 24C08 (1024x8), 24C16 (2048x8) лучшим названием будет 24C16.HPL. Все модули хранятся в каталоге \HPL.
  2. Добавьте новый модуль в меню. Для этого необходимо вставить в orange.cfg строку описания, например: CHIP=93C46,64x16,93C46.hpl Имя EEPROM, емкость, имя модуля.
  3. Опишите начальную секцию. Для нестандартного расположения выводов задайте пока параметр SOCKET=0 и сообщите автору - он включит эту таблицу выводов в следующую версию драйвера и присвоит порядковый номер. Опишите выходы и входы чипа в соответствии с подключенными выводами программатора. Задайте параметр CDELAY, определяющий максимальную тактовую частоту. Не стоит увлекаться экспериментальным снижением этого параметра до минимальной величины. Лучше установить рекомендуемое производителем значение.
  4. При необходимости создайте секции [INIT] и [END] и опишите в них начальные установки и действия после включения питания и перед выключением соответственно.
  5. Опишите секцию [READ]. Как правило, она состоит из цикла выдачи команды, одного или нескольких циклов выдачи адреса и цикла чтения данных.
  6. Секцию записи [WRITE] можно делать, когда чтение уже написано и отлажено.

Q: А зачем вообще нужны пользовательские секции и что с ними делать?
A: Для выполнения "нестандартных" операций. Например, стирание, чтение/запись дополнительных регистров и т.п.

Q: Что такое "Pin Tester"?
A: Это режим ручной установки/проверки пинов. Полезен для настройки программатора, проверки подключения при внутрисхемном программировании. Кроме того, он может использоваться для отладки различных устройств.

Q: Как с помощью Orange разделить один файл на два, содержащих четные и нечетные байты соответственно?
A: Загрузить файл (Open File), Выделить четные байты (Buffer - Select - Even), сохранить выделенный блок (File - Save block), аналогично выделить и сохранить нечетные.
С помощью команды выделения и загрузки блоков можно таким же образом соединить два файла в один.

Q: Почему не сохраняются текущие настройки при повторном запуске программы?
A: Возможно программа запускается с CD, либо другого защищенного от записи носителя. Или программа была скопирована целиком на жесткий с такого носителя. В этом случае следует вручную снять с файла orange.dat атрибут "Только для чтения" (Read only).

Q: Не стираются lock биты у AT90S2313.
A: 1. Возможно отключен режим сериального программирования, тогда только параллельным программатором.
2. Попробуйте стереть при пониженном питании (4.0...4.5V), это глюк, признанный Atmel-ом.

Q: Как правильно установить биты конфигурации (FUSES) для AVR?
A: Все фузы в программаторе сделаны в соответствии с даташитом. Птичка =1, нет птички =0. Старший разряд слева.
Как правило, 0 соответствует активному значению бита. Подробнее.

Q: Как сделать автоматическую загрузку битов конфигурации для AVR?
A: К сожалению, фирма Atmel не предусмотрела стандартного метода хранения fuses в HEX файле, как у Microchip. Выйти из положения можно следующим образом:
- Выбрать нужный тип контроллера
- Выполнить команду "Write Fuses" и задать требуемые значения битов
- Сохранить значения регистров: Файл - Экспорт - Orange Registers. Имя файла должно совпадать с именем файла прошивки, расширение будет установлено ORG.
- При следующих загрузках файлов значения регистров будут загружаться автоматически.

Q: При попытке записать FLASH у микроконтроллера AVR выводится сообщение: "Only Page Write Supported"
A: У данных микроконтроллеров возможна только блочная запись FLASH, поэтому в настройках програматора обязательно должна быть установлена опция "Блочный режим".

Q: Не записываются микросхемы SPI FLASH микросхемы серии 25Fxx,25Pxx, 25Qxx...
A: Перед записью SPI FLASH обязательно необходимо их стереть (команда Erase).

Q: Что означают надписи Панель I2C, MW, SPI в информационной строке программы.
A: В программаторе Orange3 для микросхем разных серий используются отдельные панельки (подписаны на плате).
В программаторе Orange5 панели I2C, MW, SPI панели объединены в одну.

Q: Не читаются и не пишутся микросхемы 93c46 (..93c86) в корпусе SOIC8
A: Эти микросхемы выпускаются в двух вариантах расположения выводов MW и MW-R. Уточнить тип конкретной микросхемы можно по фирменной документации либо проверить подключение выводов питания в устройстве, где установлена микросхема.
Примечание: При использовании функции "Проверка установки" следует учитывать несоответствие номеров выводов.

Q: Что такое Mask Set?
A: У Микроконтроллеров Motorola (Freescale) на корпусе написан 5-символьный буквенно-цифровой код. Первая цифра обозначает номер версии. Следующие четыре знака определяют тип ядра. Таблицу соответствия Mask Set можно найти в документации к программатору.

Q: В какую панель устанавливать 68HC11EA9?
A: Для этой мс нужен специальный переходник (или программировать внутрисхемно). Установка в переходник 11EP52 запрещена!

Q: Как правильно подавать питание на микроконтроллеры серии 9S12?
A: Серия 9S12 имеет отдельные цепи питания ядра микроконтроллера и периферии. Напряжение питания ядра обычно формируется встроенным стабилизатором, подавать напряжение 5V на цепи питания ядра запрещено!

Q: Можно ли запаивать контроллер 9S12 в переходник 912?
A: Нет. Микроконтроллеры серий 912Dxxx и 9S12Dxxx имеют похожее, но отличающееся расположение выводов.

Q: Чем отличаются пункты HC05B6 и HC05B6 WDT в списке выбора типа микросхем?
A: Вариант с пометкой WDT следует выбирать в том случае, когда в процессоре активирован watchdog timer (сторожевой таймер). Назначение watchdog - сброс "зависшего" процессора и подключенных к нему устройств по цепи RESET. Процессор с неактивированным таймером также может быть прочитан в режиме "WDT" (но не наоборот).

Q: Как изменить размер шрифта в редакторе
A: Открыть файл Orange.ini текстовым редактором (например, Notepad) и в секцию [Options] дописать строку FontSize=20. Вместо 20 указать нужный размер. Если такая строка уже есть, исправить значение.