AVReAl Описание Адаптеры History FAQ

Часто задаваемые вопросы и ответы на них

Q1. Как ленивый пользователь, я предпочитаю работать с WIN оболочкой, а не с командной строкой. Будет ли когда-то avreal иметь GUI?

Q2. Для чего нужен сигнал PEN (вывод 1) у процессора mega103?

Q3. Шил 1200 чудесно пока не поставил между ресетом и землей конденсатор и резистором подтянул к Vcc. После этого после стирания AvReal говорит что никто не подключен хотя отдельный запуск с оставшимися ключами проходит нормально. В чем дело?

Q4. После того, как я начал в своей программе использовать SPI порт - чип перестал детектироваться :(

Q5. Каково Ваше мнение по поводу Атмеловского программатора, описанного в Application Note AVR910?

Q6. Я залочил 90s2313 и он перестал распознаваться программатором.

Q7. У меня в mega103 не записывается EEPROM данных.

Q8. А почему программирование происходит ТАК МЕДЛЕННО?


Q1.
Как ленивый пользователь, я предпочитаю работать с WIN оболочкой, а не с командной строкой. Будет ли когда-то avreal иметь GUI?
A.
Как ленивый пользователь :-), я предпочитаю нажать CtrlF9 в любимом редакторе для пересборки и зашивки проекта в AVR вместо того, чтобы жать тучу кнопок в WIN-оболочках компилятора и программатора.
Собственно, мотивом написания avreal и было то, что не было толкового программатора командной строки, иначе бы я и не рыпался :-) Большинство (если не все) современных IDE позволяют включить внешнюю command line программу. Подключите avreal, задайте командную строку с файлом проекта и жмите кнопки.

Оглавление


Q2.
Для чего нужен сигнал PEN (вывод 1) у процессора mega103?
A.
From: avr@atmel.com
Date: Wed, 14 Oct 1998
The PEN pin is a Reset pin that is only active on power-up. Otherwise it is inactive. (The idea is to make a system with external ISP functionality, like a portable telephone, but with no risk of resetting the system accidentally. It can only be reset/programmed when power is switched off and on.)

Оглавление


Q3.
Шил 1200 чудесно пока не поставил между ресетом и землей конденсатор и резистором подтянул к Vcc. После этого после стирания AvReal говорит что никто не подключен хотя отдельный запуск с оставшимися ключами проходит нормально. В чем дело?
A.
По спецификации программирования после стирания необходимо снять сброс с кристалла, потом опять подать. При большой задержке сигнала сброса конденсатором либо супервизором чип просто не успевает пересбросится. Начиная с версии 1.14rev3 в avreal добавлен ключ времени неактивного Reset после стирания -ai. Необходимо установить время заведомо большее, чем задержка снятия сигнала сброса внешними цепями.

Оглавление


Q4.
После того, как я начал в своей программе использовать SPI порт - чип перестал детектироваться :(
A.
Довольно частая ошибка - применение avreal без указания чипа. Пока SPI не задействован - вход в программирование сразу, читается DEV ID и дальше все без проблем. Как только включенный SPI начинает мешать - облом.
Дело в том, что по умолчанию принимается 90s1200. Если все нормально, то чип входит в connect сразу, по dev ID определяется тип и дальше все Ok. Но если зашитая в чип программа выставляет высокий уровень на SCK, то сразу войти в синхронизм не удается. Для всех чипов кроме 90s1200 существует процедура пересинхронизации и в конце концов все нормально. Но для 90s1200 этой процедуры не просто нет - ее нельзя применять (затирается dev ID, еще какие-то бяки, вроде бы даже можно загнать чип в позу, из которой его выводит только параллельный программатор). Итого по умолчанию процедура пересинхронизации не проводится. Итого Вы имеете "not connected".

Оглавление


Q5.
Каково Ваше мнение по поводу Атмеловского программатора, описанного в Application Note AVR910?
A.
'+' Он независим от прихотей DOS/NT/кто_угодно_еще, так как ему надо всего лишь COM-порт в стандартном режиме доступа. Его легче сделать полностью гальванически развязанным (всего 2 линии связи). Меньше проблем при работе с низковольтными AVR (LPT порт-то норовит выдать 5V).
'-' более медленная работа, чем через LPT, в основном из-за слишком упрощенной системы команд программатора (следствие выбора 90s1200 как основы). Если бы там был 90s2313, то можно было бы сделать в ОЗУ буфер, аппаратный UART позволил бы влупить скорость скажем 57600 и кроме этого запараллелить прием и зашивку блоков данных (а не побайтно, как в AVR910) - это сильно подняло бы скорость работы.

Оглавление


Q6.
Я залочил 90s2313 и он перестал распознаваться программатором
A.
Это описанная в errata ситуация. И вообще, errata составляются не только для пишущих программаторы.
У 90s2313 lock-биты могут не стираться при напряжении питания 5V. Необходимо стереть кристалл при пониженном напряжении (причем зачастую достаточно понизить его до 4.8V), затем можно вернуться к нормальному и запрограммировать.

Оглавление


Q7.
У меня в mega103 не записывается EEPROM данных...
A.
Вероятне всего не не записывается а не читается. И кварц у Вас вероятно на почти 6MHz. Тоже есть errata - у меги в режиме последовательного программирования не читается EEPROM при тактовых частотах, близких к максимальной (записывается нормально!).

Оглавление


Q8.
А почему программирование происходит ТАК МЕДЛЕННО?
A.
А не забывайте про ключик -o - частота установленного на кристалл кварца в килогерцах. Исходя из этой частоты рассчитывается, сколько времени должны присутствовать уровни '0' и '1' на входе SCK кристалла. А по умолчанию 800kHz (чтобы точно заработало на кристаллах с внутренним RC-генератором на 1MHz).

Оглавление