Программа ASISP
Внимание!
Необходимо при использовании программаторов AS2M, AS3, AS3E и AS3M соединить общий провод платы с
программируеммым микроконтроллером и корпус компьютера, к которому подключен
программатор! В
ином случае, во время коммутации программирующего кабеля, при подключенном
питании на программируемой плате, возможно повреждение порта компьютера. Для
программаторов AS-4/AS4E, которые имеют гальваническую развязку,
соблюдение этого правила не является необходимым.
Программа ASISP
функционирует в среде Windows 7, Windows 8/8.1, Windows 10 и Linux (32- и 64-разрядные версии) и
предназначена для совместной работы с программаторами AS2M, AS3, AS3E, AS3M, AS-4, AS4E. Обеспечивается программирование микроконтроллеров серий AТmega/AТtiny/AT89S/AT90 корпорации Atmel.
Программа может запускаться с графическим
пользовательским интерфейсом, также предусмотрена возможность вызова программы
из командной строки с ведением лог-файла.
Описание функций программы ASISP
Программа имеет интуитивно понятный интерфейс. Основные команды
вынесены в главное окно, и доступ к ним осуществляется одним нажатием кнопки
мыши или комбинацией клавиш на клавиатуре. Размеры главного окна можно изменять
по горизонтали и по вертикали, для более удобного отображения содержимого
буфера памяти Flash. Содержимое обоих буферов можно редактировать, причем это
можно делать как в области бинарных кодов, так и в области кодов ASCII. В
правой части главного окна рзмещены кнопки для быстрого выполнения часто
используемых команд.
Внешний вид главного окна программы ASISP
Главное окно содержит следующие элементы:
в
микроконтроллер, либо содержимого ПЗУ, считанного из микроконтроллера;
в микроконтроллер, либо содержимого ЭСПЗУ, считанного из микроконтроллера;
Процесс программирования осуществляется нажатием
соответствующих программных кнопок. Если программируемая микросхема ранее
содержала какую-либо информацию, или у нее были установлены биты защиты,
микросхему необходимо предварительно стереть.
При первом запуске программы ASISP нужно установить номер COM-порта, который будет
использоваться при работе с программатором, и скорость обмена по COM-порту. Выбор COM-порта и настройка скорости обмена программатора с
компьютером производится в окне Настройки программатора програмы ASISP. Допускается назначение любого из 256 СОМ-портов. Насторйки сохраняются, и
при следующих запусках программы подставляются астоматически.
Внешний вид окна "Настройки программатора"
На "медленных" компьютерах может не хватить
ресурсов для обслуживания COM-порта на стандартной скорости, вследствие чего
возможно нарушение синхронизации. В таких случаях рекомендуется выбрать низкую
скорость.
Программатор AS2M подключается к COM-порту компьютера.
Допускается подключать программатор AS2M к компьютеру через конвертор интерфейса
USB-COM. В программаторах AS3E, AS3M, AS-4 м AS4E конвертор интерфейса USB-COM встроен непосредственно в программатор.
При подключении программатора к компьютеру создается
виртуальный COM-порт, номер которого можно посмотреть в окне
“Device Manager”.
Возможно одновременное подключение нескольких
программаторов к одному компьютеру. При этом, с каждым экземпляром программатора
следует запустить отдельную копию программы ASISP. Эта возможность позволяет
ускорить процесс программирования партии микроконтроллеров на одном компьютере.
Для удобства запуска конкретной копии программы можно разместить иконки на
рабочем столе компьютера и выбрать иконки разных цветов.
Панель меню
Меню ”Проект (Project)” - создание, загрузка, сохранение проекта;
Меню ”Flash” - операции с файлами, содержащими информацию о ПЗУ
программ;
Меню ”Eeprom” - операции с файлами, содержащими информацию о ПЗУ данных;
Меню “Настройки (Settings)” - вызов меню настроек;
Меню “Дополнительно (Advanced)”
- вызов окна команд;
Меню “Помощь (Help)” - вызов окна помощи ( в формате HTML).
Кнопка “Inv” управляет отображением порядка байтов в слове:
старший-младший или младший-старший. Кнопка “Inс” включает
функцию “Автоинкремент” для памяти EEPROM (см.
ниже описание опци “Автоинкремент”).
По нажатию кнопки ">>" вызывается окно загрузки
файла, а нажатие кнопки "!"
сразу загружает буфер Flash или EEPROM информацией из файла, путь к которому
указан в строке над полем просмотра Flash и EEPROM. Также поддерживается способ
загрузки файлов .bin, .hex и .eep методом “drag&drop”, то есть, перетаскиванием мышью файла в соответствующее
окно.
В нижней части основного окна находится
служебная строка. Здесь отображается контекстная информация - версия программы,
название программируемой микросхемы, контрольная сумма загружаемого файла и
т.д. Справа от командной строки находится поле для быстрой установки скорости
работы интерфейса SPI.
При первом запуске программы ASISP выводится окно, где нужно выбрать номер
последовательного порта компьютера, к которому подключен программатор, и
установить скорость обмена - низкую или стандартную. В первом случае обмен
происходит на скрости 19,2 Кбод, во втором случае - на скорости 115,2 Кбод.
Окно можно также вызвать из меню (Настройки -> Настройки платы…).
Установленные настройки платы действуют для всех проектов.
Корпорация Atmel
регулярно выпускает новые модели микроконтроллеров, соответственно, программа
ASISP периодически обновляется. В новых версиях расширяется список
поддерживаемых микроконтроллеров.
Текущую
версию программы ASISP можно загрузить отсюда:
http://www.as-kit.ru/asisp_current_version
Меню "Проект"
Для удобства работы с различными типами микросхем рекомендуется
использовать файл проекта. Файлов проектов может быть несколько, что
обеспечивает легкий переход к программированию микросхемы другого типа. Текущий
тип микросхемы индицируется в соответствующем поле окна программы. Для
AVR-микроконтроллеров тип микросхемы может быть установлен автоматически, при
выполнении команды чтения сигнатуры. Для работы с остальными микросхемами тип
микросхемы необходимо установить вручную. Затем можно производить любые
операции с файлами, памятью микроконтроллера и его битами защиты. Все настройки
для программирования - имена файлов, пути к файлам и тип микросхемы - сохранятся
в файле проекта. Последний проект автоматически открывается при последующем
запуске.
Файл проекта - это текстовый файл с расширением .as2,
который доступен для просмотра и редактирования.
Меню "Flash" и "EEPROM"
В этих меню собраны команды по работе с буферами Flash и
EEPROM памяти. Программа ASISP позволяет загружать два файла по разным адресам
как в буфер памяти программ, так и в буфер памяти данных. По команде:
FLASH/открыть по адресу/ (FLASH/load At) или EEPROM/открыть по
адресу/(EEPROM/Load At) можно загружать, например, заранее подготовленные
фрагменты кода в заданную область памяти программ без дополнительной
компиляции. Эта опция также очень удобна для размещения таблиц или наборов
параметров по верхним адресам FLASH или EEPROM.
Поддерживается режим загрузки файлов Flash и EEPROM с
использованием механизма "drag and drop", то есть простым
перетаскиванием имени файла в поле буфера Flash и EEPROM основного окна
программы ASISP.
Меню "Настройки"
Команды для управления процессом программирования
микросхемы собраны в окне "Настройки
проекта". Отмеченные галочками команды можно запустить на выполнение в
пакетном режиме.
Настройки
программирования
Здесь можно установить тип микросхемы для
программирования и активировать функцию проверки сигнатуры перед выполнением
каждой операции.
Для прошивки микросхем программа ASISP
использует один из двух алгоритмов: стандартный и ускоренный (data polling).
Стандартный алгоритм подразумевает достаточно большое фиксированное время для
прошивки каждого байта, поэтому общая скорость прошивки не очень высокая. При
ускоренном алгоритме (опция Enable data polling включена) производится проверка
каждого запрограммированного пакета и, в случае подтверждения окончания
програмирования, программа переходит к следующему адресу. Так как реальное
время программирования конкретного байта, как правило, меньше указанного в
технических условиях на микросхему, общая скорость программирования повышается.
Опция отмены синхронизации применяется в
случае, если программируемая микросхема нестабильно отвечает на запрос чтения
сигнатуры. Такая ситуация изредка встречается при работе с микроконтроллерами
прошлых лет выпуска. Вероятная причина - использование некондициионного
экземпляра микросхемы из "серых" поставок.
Опция выбора частоты задающего генератора
управляет длительностью импульса SCK в микросекундах при обмене данными между
программируемым микроконтроллером и программатором. Для работы с
микроконтроллерами семейства AT90/ATtiny/ATmega частота программирующих
импульсов SCK должна быть не менее, чем в четыре раза ниже частоты задающего
генератора, а для AT89S51, AT89S52 и AT89S8253 - не менее, чем в 16 раз ниже
частоты задающего генератора программируемого микроконтроллера.
Опция выбора длительности импульса сброса
помогает в тех случаях, когда в цепи "Reset" микроконтроллера
установлен конденсатор повышенной емкости, например, 1 мкФ (рекомендованное
значение составляет 100 нФ). В таком случае длительность этого импульса можно
увеличить. Диапазон настроек: от 20 до 1000 миллисекунд.
Настройки автопрограммирования
Выбор набор команд, которые будут выполняться при нажатии кнопки "Автопрограммирование" в главном окне программы.
Обычно в процессе отладки программы
приходится часто перекомпилировать программу и производить операцию обновления
прошивки. Для этого необходимо стереть микросхему, обновить содержимое буфера
программы, выполнить собственно перепрограммирование и убедиться, что прошивка
"легла" в память микроконтроллера без ошибок. Аналогичные процедуры
могут требоваться и для памяти EEPROM. Отметив необходимые операции, можно
выполнить их нажатием кнопки "Автопрограммирование" непосредственно
из главного окна.
Выбранные опции автопрограммирования
(стирание, перезагрузка / программирование / проверка файлов, биты защиты,
FUSE-биты, автоинкремент FLASH и EEPROM) также можно сохранить в файле проекта.
Автоинкремент
Эта опция предназначена для
автоматической записи серийного номера изделия в память FLASH или EEPROM. Для
этого в соответствующей строке вписывается шестнадцатеричный адрес хранения
серийного номера. При активации режима "Автоинкремент" программа
определяет 4-байтную строку, в которой будет размещаться серийный номер. При
этом, после окончания каждого цикла программирования, производится инкремент
этого 4-байтного числа с учетом переноса.
Пример:
- в поле EEPROM основного окна по адресам
04, 05, 06 и 07 записывается число 12 34 56 78 (серийный номер);
- в строке Eeprom (HEX) окна "Настройки проекта" вводится адрес 07 и
активируется опция "Автоинкремент";
- производится программирование микросхемы.
После окончания программирования серийный
номер примет следующее значение: 12 34 56 79. При размещении серийного номера в
пространстве FLASH памяти микроконтроллера необходимо на этапе создания
исходного кода программы зарезервировать необходимое пространство.
Окно Lock/Fuse биты
Внешний вид окна Lock/Fuse биты
Это окно содержит набор настроек для
программирования Lock и Fuse битов AVR-контроллеров. Набор этих битов
отличается у разных микросхем. Значения, установленные в данном окне, действуют
на протяжении текущего сеанса работы с программатором. Чтобы сохранить
выбранные опции для следующих сеансов работы, нужно перед закрытием окна
выполнить команду "Сохранить и выйти".
Окно "Язык/Language"
Это окно предназначено для оперативного изменения языка меню и команд
программы ASISP.
Меню "Дополнительно"
Здесь собраны команды, позволяющие прочитать
информацию о программируемой микросхеме и собственно программаторе.
Проверка на чистоту (Empty check) - проверка
программируемого микроконтроллера на "чистоту".
Чтение сигнатуры (Read signature) - команда считывает сигнатуру
программируемого микроконтроллера, может использоваться для контроля
правильности подключения ISP-разъема к программируемой микросхеме.
Чтение калибровочных байтов (Read Calibration bytes) - чтение калибровочных
байтов (в микросхемах, которые имеют эту опцию).
Информация о программаторе - отображение версии программы (firmware), зашитой в
микроконтроллер программатора. Может использоваться для проверки правильности
подключения программатора к компьютеру.
Внешний вид окна "Информация о программаторе"
Программа ASISP имеет оконный интерфейс,
упрощающий процедуру составления файла проекта, а также позволяющий
просматривать и редактировать содержимое окон FLASH (память программ) и EEPROM
(память данных). Однако, после того как файл проекта создан и сохранен, можно
пользоваться вызовом программы ASISP из командной строки, что в ряде случаев
является более удобным.
Формат вызова следующий: d:\asisp\asisp1159 "d:\AVR\clock.as2"
–autoprogram
d:\asisp\asisp1159 -
имя программы с указанием полного пути
"d:\AVR\clock.as2" - имя
файла проекта с указанием полного пути (кавычки обязательны!)
–autoprogram - необязательный ключ.
Если он указан, программа ASISP выполняется без отображения основного окна,
причем выполняются команды, отмеченные "галочками" в окне
"Настройки проекта".
Файл проекта имеет текстовый формат и
расширение .as2. Он содержит информацию о настройках и командах, которые будут
выполняться в пакетном режиме при нажатии кнопки «Автопрограммирование» в
основном окне программы ASISP.EXE. По умолчанию файл создается в папке с
программой ASISP при выполнени команды "Проект/Сохранить". Если выбрать
команду "Сохранить как", то можно указать желаемое место хранения
файла. Файл проекта формируется заранее, при работе с окном "Настройки
проекта". Изображение окна "Настройки проекта" приведено выше.
Внешний вид окна вызова программы ASISP из командной строки:
В программе ASISP, начиная с версии версии 11.58,
расширены функции по созданию лог-файла при использовании командной строки.
Теперь имя и расположение лог-файла должно быть помещено в первую главу файла
проекта (этот файл имеет расширение .as2). При программировании из командной
строки лог записывается в этот файл. Вот пример добавления строки:
[Files]
Flash=D:\programs\Clock+f.hex
Eeprom=D:\programs\AS-megaM.eep
FlashInvert=0
Log=D:\programs\AS-megaM.log
Теперь можно создавать различные сценарии программирования
через bat-файл. Один из примеров - ниже:
@echo off for %i in (odin dva tri) do echo Begin
%i >> D:\programs\AS-megaM.log &&
asisp1158.exe "d:\programs\clock+f.as2" -autoprogram
&& pause && echo End %i >>
D:\programs\AS-megaM.log
В меню Tools главного окна AVR Studio выбрать пункт Customize:
- Выбрать закладку Tools. Двойным нажатием кнопки мыши
или нажав Insert на клавиатуре, добавить новую команду в список и назвать ее,
например, “Программатор AS2M”:
- Указать путь к исполняемому файлу программатора
ASISP1159.EXE, введя его непосредственно в поле для ввода “Command”, или нажав
на кнопку "…" справа от этого поля.
- Указать путь к файлу проекта программатора (файл с
расширением .as2, введя его непосредственно в поле для ввода “Arguments”, или
нажав на кнопку “>” справа от этого поля:
Примечание. В случае,
если в поле “Arguments” установлен ключ “- autoprogram”, программирование
микросхемы будет произведено без вызова оконной оболочки программы ASISP.EXE.
В меню Tools будет добавлен пункт “Программатор AS2M”:
Строка вызова “Программатор AS2M (AS3)” успешно добавлена
в меню AVR Studio.
Файл проекта содержит информацию о настройках и командах,
которые будут выполняться в пакетном режиме при нажатии кнопки
"Автопрограммирование" в основном окне программы ASISP.EXE.
Команды, отмеченные "галочками" также будут
выполнены, если установлен ключ “-autoprogram”.
- В меню Tools главного окна Atmel Studio выбрать пункт External tools...:
Отобразится окно External Tools:
- Заполнить поле "Title" и нажать кнопку "Add"
- В поле "Command" указать путь к программе
asisp.exe
- Нажать кнопку OK:
При
желании можно добавить еще одну конфигурацию вызова программы ASISP:
Заполнить поле "Title" и нажать кнопку "Add"
- В поле "Command" указать путь к программе asisp.exe
- В поле "Initial directory указать путь к файлу проекта
- Нажать кнопку OK.
В
результате в меню External tools главного окна Atmel Studio будут добавлены две
строки:
Дополнительную
информацию по программе ASISP можно получить здесь:
http://www.as-kit.ru/asisp-program-quick-view