Выбрать главу

Вызов программы

avreal [ключи] [[-с] имя_файла_кода [[-d] имя_файла_данных]]

или

avreal [ключи] -d имя_файла_данных (когда нет желания трогать код)

При пустой командной строке (ни имен, ни ключей) не делается никаких операций с портами/чипом. Если есть только имена файлов, но нет относящихся к ним ключей (-г -w -v), то файлы игнорируются. Подробнее про работу с файлами и про ключи -с, -d рассказано после описания остальных ключей. Признак ключа — символ или V, регистр букв не важен.

Ключи

-? (-h) — выдать ключи и перечень поддерживаемых кристаллов.

avreal +name -?

(+name должен быть задан _раньше_ ключа -?) выдает список fuses, поддерживаемых в режиме ISP для чипа name.

+name — установить тип кристалла, <name> задается без префикса 'At', например, 90sl200, 90s8515, mega103 (т. е. в том виде, в котором имена выдаются по /h, регистр букв не важен).

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

Если задан только чип (больше нет ни ключей, ни имен файлов), то чип будет сброшен и выдана информация о нем (наличие, если есть доступные по 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 — прочитать из чипа в файл[ы].

-W[+] — записать в чип. Дополнительный '+' — если чип в этом задании не стирался и задана запись в EEPROM, то прописать FF в ячейки EEPROM, не заданные в HEX. Верификация этих ячеек на значение FF будет производиться, даже если был задан просто -v, а не — v+ (мы же эти ячейки писали).

-v[+] — верифицировать (только то, что есть в hex).