Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Пишу свой программатор
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
french
Подскажите кто может unsure.gif
Я хочу чтобы мой программатор распознавал контроллеры автоматически для этого надо знать: коды устройств, тип контроллера и т.д.
Народ, укажите где такая инфа собрана в одном месте и желательно в виде таблиц.
Или поделитесь опытом как решить такую проблему huh.gif
IgorKossak
AVR контроллеры распознаются по сигнатуре, содержащейся в каждом из них.
Информация о том, каким контроллерам какие сигнатуры соответствуют, содержится в Part Description файлах с расширением *.xml, поставляемых в составе AVR Studio 4.
Приложение, о котором я вам рассказывал умеет вычитывать сигнатуру, имеет всю необходимую информацию и xml-парсер, разбирающий xml-файлы.
Никакой дополнительной информации при этом не нужно.
NickB
так в даташитах сингатуры прописаны
IgorKossak
В даташитах много чего есть, например размеры областей памяти и страниц и т. д. и т. п. Кроме того надо скачать даташиты всех предполагаемых к использованию МК, а это уже не отвечает просьбе "в одном месте", и вручную всё выписывать.
Ну так вручную же неинтересно! Да и зачем повторно проходить уже пройденный кем-то путь? Разве что в познавательных целях, или пока начальник (если таковой есть) не потребует заняться чем-то полезным? wink.gif
french
Цитата(IgorKossak @ Sep 30 2004, 11:06 AM)
В даташитах много чего есть, например размеры областей памяти и страниц и т. д. и т. п. Кроме того надо скачать даташиты всех предполагаемых к использованию МК, а это уже не отвечает просьбе "в одном месте", и вручную всё выписывать.
Ну так вручную же неинтересно! Да и зачем повторно проходить уже пройденный кем-то путь? Разве что в познавательных целях, или пока начальник (если таковой есть) не потребует заняться чем-то полезным? wink.gif

В том-то и дело, что в познавательных целях. Не вижу в этом ничего плохого, при том это как раз очень интересно! wink.gif
Но как я понял нет такого даташита, где бы такая инфа была водном месте. Жаль sad.gif А то самому как-то знаете лень-с. cool.gif
IgorKossak
Цитата(french @ Sep 30 2004, 01:30 PM)
А то самому как-то знаете лень-с.

Лень, это и мой двигатель. В этом мы с Вами похожи.
Вот я и предлагаю подходящий для Вашей задачи пакет. Он, кстати, и в познавательных целях очень хорош. У меня ушло два дня, чтобы разобраться в нём полностью и адаптировать его под свои нужды и ещё день, чтобы засунуть в оболочку (многим начальникам не нравится, видите ли, работать с командной строкой).
Забыл сказать с самого начала - этот программатор работает по протоколу AVR ISP/AVRBOOT, т. е. с Атмеловским программатором типа AVR910, подключаемым к COM порту. Это даёт свои преимущества, т. к. позволяет пользоваться WinAPI не вдаваясь в разные тонкости (с программатором на LPT типа STK200, PonyProg, AVReal, ByteBlaster, ... это сложнее, т. к. низкоуровневое общение с МК придётся делать самому, да и калибровки скорости не избежать).
Схемы и исходники для AVR910 также доступны, даже продвинутые как, например, у одного доброго грека wink.gif
Имея в руках оба проекта можно и протокол более эффективный свой придумать и интерфейс любой пристегнуть и разными брэндовыми фичами снабдить, но это уже потом, а вначале, я так думаю, лишь бы заработало.
Не так ли?
KRS
У Атмела есть полезный апликейшен ноте
AVR061: STK500 Communication Protocol
там кроме описания протокола, есть .h файл с таблицей параметров по всем контроллерам
french
AVR061: STK500 Communication Protocol - это действительно ТЕМА !!! blush.gif
KRS попал в самую десятку. cheers.gif Кого заинтересовал этот вопрос, то качайте не пожалеете.
IgorKossak
Цитата(KRS @ Oct 1 2004, 04:08 PM)
У Атмела есть полезный апликейшен ноте
AVR061: STK500 Communication Protocol
там кроме описания протокола, есть .h файл с таблицей параметров по всем контроллерам

Класс!
Но одно другому не мешает. Было бы куда эти headers пристегнуть.
А вот исходников Atmel как раз то и не даёт. Писать самому? Как по мне, овчинка выделки не стоит. Уж лучше взять готовое (опять же ссылаясь на лень-матушку) smile.gif , а потом можно и cheers.gif
IgorKossak
Будьте осторожны!
Devices.h файл содержит ошибки в кодах устройств и в нём опять таки отсутствуют сигнатуры устройств.
Таким образом ручная работа не исключается и проект оказался полезным лишь наполовину. sad.gif
KRS
А сигнатуры контроллеров и другую информацию можно еще взять из файла stk500.ini который в комплекте с AvrStudio в каталоге STK500
-Tумблер-
Распознавать жуки автоматически - практически бессмысленно.
Поскольку у залоченного жука не читается сигнатура.

Загляни сюда - тут исходные тексты.Может что и понравится:
http://spiprog.chat.ru/
http://spiprog.chat.ru/spiv5.rar


cool.gif
aal
В 2000-ном делал свой программатор для авр и 8252. Пошел по пути атмела и сбацал 2051 на частоте 22 118 400 (Для 11520 скорости). Сделал автоопределение баундрейта. В проге тупой автомат:
принял покет
проверил контрольную сумму
по спи передал в микроконтроллер.

Абсолютно любую инфу можно загнать в спи.

На верху нарисовал прогу на делфи. Универсальную делать нестал.
Надо было только 8535 и 8252.

Если надо исходники и схему ко мне на мыло....
french
Как автор этой темы хочу официально заявить - программер вроде бы кое-как получился :D Участники форума оказали реальную помощь за что им и огромное спасибо :D cheers.gif

Теперь по СУЧЕСТВУ wink.gif Действительно автоматически распознавать нет смысла.
Так что сам не знаю зачем сигнатуры huh.gif Но речь не об этом, т.е. меня заинтересовало - как прошивать tiny - как classic или как mega? Инфу про это я почему-то не нашел (может не там искал, а может и не так).
IgorKossak
Очевидно, надо к конкретному Tiny документацию смотреть.
Старые камни (я так думаю) ближе к классическим, а вот новые (ATtiny2313, например) - к mega.
Может быть я и ошибаюсь. wink.gif
IgorKossak
Цитата(-Tумблер- @ Nov 4 2004, 06:01 PM)
... у залоченного жука не читается сигнатура. ...

Это только у старых, а у современных (начиная с mega128 по времени выхода в свет) читаются и сигнатуры и lock и fuse. Вот только менять их нельзя, разве что внутрипрограммно, как у бутлоадеров.
-Tумблер-
Цитата(IgorKossak @ Nov 9 2004, 05:37 PM)
у современных начиная с mega128 .


Мегу 128 я использую - сигнатура не читается.
Да и какая разница - если не читается у всех ?
А у 89S8252 и S53 ее вообще нет (насколько я помню)
<_<
IgorKossak
Цитата(-Tумблер- @ Nov 9 2004, 05:23 PM)
Мегу 128 я использую - сигнатура не читается.

Странно, у меня читается.
bvn123
Как я понимаю,программатор вы делаете для себя,вероятно, удобнее добавлять свойства МК по мере их использования: программируете новый для вас МК - добавьте в программу его код и обязательно посмотрите в доке, программируется ли он побайтно или постранично, в последнем случае добавьте размер страницы в ПО программатора:
одно из удобств использования автоопределения МК вашим программатором - автоматический выбор размера страницы для последовательного программирования (например, для ATtiny26 - 16 байт, для ATmega встречаются 32-, 64-,128-байтные страницы)
автоматом же коду МК ставится в соотв. число FUSE-байтов: их надо вывести в окне для редактирования
Это то, что необходимо.

Если есть желание возиться, то
удобно вывести и наименования FUSE-битов (они разные для каждого МК), а для их сочетаний, определяющих частоту, время, полезна табличка с описанием их влияния. Хотя при работе с МК все равно обычно открывается док. на него.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.