Проверяется верхний адрес в НЕХ-файле, если не помещается в опознанный чип, то никаких действий (кроме выдачи сообщений) не осуществляется. Проверяется перекрытие адресов записей в НЕХ-файле. При нахождении первого перекрытия производится выход из программы с указанием диапазона адресов перекрывающихся данных.
Для mega103 необходим расширенный формат НЕХ-файла (обычный не поддерживает объем больше 64 Кб). Запись прочитанных данных в файл всегда производится с дополнительными записями типа '04'-Extended Linear Address Record, как не имеющими разночтений. Чтение из НЕХ-файла записей типа '02' Extended Segment Address Record производится в соответствии с формированием их в AVRASM by Atmel (без предусмотренного документацией Intel сворачивания адреса смещения по модулю 64 Кб).
Вызов программы
avreal [ключи] [[-с] имя_файла_кода [[-d] имя_файла_данных]]
или
avreal [ключи] -d имя_файла_данных (когда нет желания трогать код)
При пустой командной строке (ни имен, ни ключей) не делается никаких операций с портами/чипом. Если есть только имена файлов, но нет относящихся к ним ключей (-г -w -v), то файлы игнорируются. Подробнее про работу с файлами и про ключи -с, -d рассказано после описания остальных ключей. Признак ключа — символ или V, регистр букв не важен.
-? (-h) — выдать ключи и перечень поддерживаемых кристаллов.
avreal +name -?
(+name должен быть задан _раньше_ ключа -?) выдает список fuses, поддерживаемых в режиме ISP для чипа name.
+name — установить тип кристалла,
Обязательный ключ, никаких действий по умолчанию не производится.
Если задан только чип (больше нет ни ключей, ни имен файлов), то чип будет сброшен и выдана информация о нем (наличие, если есть доступные по ISP fuses — их состояние).
-р<число1>[,<число2>]
«число 1», шестнадцатеричное.
set Port 1, 2, 3 — номер LPT-порта, >0x100 — базовый адрес порта, если задан номер — адрес из BIOS MEMORY (не работает для Win32 и linux версий, там принято, что LPT1/2/3 это 378/278/3BC). Адрес в виде — рЗВС и в виде — р0х3ВС воспринимается как HEX число, если задан адрес — «сами попросили» — по умолчанию — р2 (LPT2).
«число2», с плавающей точкой, необязательный параметр, если указан, то не производится настройка на скорость порта, время обращения принимается равным <число2> микросекунд.
В Win32 версии настройка не производится никогда, если не указано — считается, что обращение к порту не быстрее 1 мкс.
-а<буква> — группа ключей «адаптер»;
-ab — работа через Altera ByteBlaster;
-as — работа через адаптер Atmel STK*00;
-аа — автоматический выбор ByteBlaster/STK;
-az — пытаться переводить выходы LPT в Z-состояние для «отключения» программатора от схемы («byte-blaster для ленивых»);
-аr — инверсия полярности сброса (например, для подачи его через резистор в базу присутствующего в схеме транзистора);
-ai# — установить время неактивного Reset после стирания равным #mS. Необходимо устанавливать большим времени задержки снятия сброса присутствующим в схеме с супервизором;
-ар — подавать питание чипа через свободные выходы данных LPT (несовместимо с — ab).
Рекомендуется поближе к чипу установить блокировочный конденсатор по питанию.
-о<число> задать частоту установленного кварца для настройки скорости SPI.
<число>=<частота в килогерцах>, по умолчанию 800 (0,8 МГц).
0 означает необходимость генерации XTAL из программы.
Работает со всеми адаптерами. У STK*00 для генерации XTAL используется линия LED. Байт-бластер должен быть доработан, см. http://www.ln.com.Ua/~real/avreal/adapters.html#ABB.
-n[<число>] — использовать последние 2 байта кода как счетчик стираний.
Если указано <число>, то для записи счетчика используется оно, а не инкрементированное прочитанное значение.
При -ewn если последние 2 байта заняты кодом, то — n игнорируется.
При -w если в чипе записан счетчик, а последние 2 байта заняты кодом, то производится насильное стирание.
-е[-] — стереть чип.
'-' задает сохранение содержимого EEPROM способом прочесть/стереть/записать. Даже для megaX03 применяется этот способ, если хочется пользоваться имеющимся fuse EESAVE, следует установить его (-fe) отдельным запуском avreal.
-1, -2, -3, -4, -5 — увеличить задержки на программирование в 1, 5, 2, 3, 4, 5 раз соответственно (для программирования при пониженном напряжении).
-Ь — проверить на чистоту.
-r — прочитать из чипа в файл[ы].