Прошить Atmega64 проектом от TL-866A

Все прочитали, вроде даже поняли, взяли паяльник - а нифига не получается? Скорее сюда! Поможем. Чем можем...
Ответить
boroda06560
Открыл глаза
Сообщения: 74
Зарегистрирован: Пт фев 10, 2012 08:46:32
Откуда: Россия, Крым, Алушта
Контактная информация:

Прошить Atmega64 проектом от TL-866A

Сообщение boroda06560 »

Приветствую! Ребята, я с АВР на уровне начинающий, помогите решить задачку. Есть дамп от 64-ой атмеги, считанный на программаторе TL-866A. Я так понимаю этот программатор при считывании дампа создает проект с 4-мя файлами типа: code.BIN, data.BIN, fuse, BIN и свой project.mpj. Т.е. по идее это отдельные файлы для прошивки Flash, EEPROM, фьюзов и локов + 1 свой с настройками проекта и прочей внутренней ерундой, который при использовании другого программатора в принципе не нужен.
В наличии имеется парочка простеньких программаторов типа PonyProg, CH431A, ST Link V2, несколько разных USB AVR и т.п. + разный софт, поддерживающий их. Самый удобный и быстрый по подключению как ни странно оказался PonyProg, собранный лет 15 назад... Подключился, определился, прошиваю по отдельности фьюзы, Flash, EEPROM, вычитываю обратно - всё красиво, контрольные суммы совпадают. Запаиваю процик в плату, а устройство не работает.. :(
Что я делаю не так? Может TL-866A создает бинарники в каком то своём формате или может в Пони надо как то по особенному фьюзы выставлять? Фьюзы у меня вот так стоят:
Изображение
Слева скрин от дампа с TL-866A, справа - как у меня выставлено в PonyProg
Кто сталкивался с такой проблемой, отзовитесь пожалуйста... :cry:
Реклама
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15583
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: Прошить Atmega64 проектом от TL-866A

Сообщение BOB51 »

Вообще-то обычно прошивку защищают от чтения (считывается только набор фузов и что-то похожее на дамп, состоящее из произвольного набора значений).
8)
Реклама
boroda06560
Открыл глаза
Сообщения: 74
Зарегистрирован: Пт фев 10, 2012 08:46:32
Откуда: Россия, Крым, Алушта
Контактная информация:

Re: Прошить Atmega64 проектом от TL-866A

Сообщение boroda06560 »

BOB51, про существование защиты я знаю... Дамп с TL-866A предоставлен спецом, думаю он тоже в курсе дела и поделился уже проверенным вариантом. Либо защиты не было, либо как то ее снял. Бинарники не пустые и если в редакторе посмотреть, как мусорные не выглядят. Могу конечно в личку к автору постучаться, но не хочу опережать события.
Т.к. прошивка проходит успешно и грешить на ПО оснований у меня пока нет, не исключен вариант, что это у меня на плате железная проблема, потому и не работает. Сейчас проверяю схему, разбираюсь.
Но вопрос актуален еще, в особенности по фьюзам. На просторах инета неоднократно сталкивался с проблемами по ним на понипроге. Есть какие то особенности у него в этом плане. К сожалению, когда встречал эту информацию она меня особо не волновала, а теперь найти не могу...
P.S. До атмеги прошивал Атиньки 13-ые через пони все было вери гуд, а тут вот как то не пошло с первого раза, а может все таки железо...
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15583
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: Прошить Atmega64 проектом от TL-866A

Сообщение BOB51 »

За 64ку не скажу - проработанной распечатки нету...
Однако ежли чего из LOC/BLBxx установлено в данных после чтения фузов то это уже признак защиты...
А у Вас в окошке они активированы (стоят "галки")...
В "заводском" варианте там должны быть пустые окошки (см. примечание в строчке над полем кнопок окна чтения фузов)..
:roll:
"Особенности" - это относительно других софт-оболочек.
К примеру avrdudeshell...
Но ВСЕГДА в соответствующем окошке будет подсказка по трактованию значений в окошках.
:beer:
И еще...
Там затесался M103C флаг - от его значения много неприятностей можно ожидать...
Смотря как программа составлена - под "совместимый" режим или под специфику именно 64-ки.
:roll:
Реклама
Эиком - электронные компоненты и радиодетали
boroda06560
Открыл глаза
Сообщения: 74
Зарегистрирован: Пт фев 10, 2012 08:46:32
Откуда: Россия, Крым, Алушта
Контактная информация:

Re: Прошить Atmega64 проектом от TL-866A

Сообщение boroda06560 »

BOB51, во первых хочу поблагодарить за то, что помогаете. Спасибо! :) А то в одно лицо грызть науку что то совсем не вискас...
А во вторых выяснилось пару неприятных моментов:
[uquote="BOB51",url="/forum/viewtopic.php?p=3806884#p3806884"]А у Вас в окошке они активированы (стоят "галки")...
В "заводском" варианте там должны быть пустые окошки (см. примечание в строчке над полем кнопок окна чтения фузов)..[/uquote]
Это я их пытался поставить и думал что поставил, дабы повторить 1:1, как у автора. Мне нужно один раз правильно залить и забыть про это дело. Будет там защита или не будет мне не особо важно, делаю для себя да и исходников все равно нет, поэтому дальнейшие издевательства с этим гаджетом не предвидятся. В общем на скрине они стоят, а по факту оказывается их нет, не прошились. Если перезагрузить Пони и заново прочитать фьюзы, то фьюзы сохранились, как я выставил, а локов нет, ни одного. Хотя до перезагрузки программы они есть... В смысле отображаются.
Тоже самое касается и данных в EEPROM. Открываю файл 2 кб, прошиваю, процес проходит удачно (автоматическая верификация + еще раз ручная), для уверенности считываю и сохраняю под другим именем, сверяю в хекс редакторе и по хешу - все отлично! Перезапускаю Пони, еще раз читаю EEPROM, а там FF FF FF FF... :( Питание не отключал, просто перезапустил программу, куда оно делось и почему - х.з... С флеш данными норма, залетели с первого раза и сидят на месте. Как ни крути никуда не деваются.
Еще обратил внимание, что дамп флеши с атмеги почему то получается не 64 кб, а 66 кб т.е. ровно на 2 кб больше, чем может в нее влезть. Ладно думаю, раз такое дело может для Пони нужно склеить Flash + EEPROM и так прошить? Склеил, добавил данные EEPROM с адреса 0х10000h получилось ровно 66 кб, как и дамп. Прошил... Пони проглотил и не поперхнулся, проверил и ни на что не ругнулся. Причем проверка проходит в 2 этапа, как буд то проверяет обе памяти. Читаю EEPROM - пусто, Flash на месте, локов нет, мой чудо гаджет естественно не работает. :(
С 8-ми ногими атиньками было как то попроще... :))) А с этой многоножкой походу прийдется подолбаться. Плюс ко всему еще не совсем знаю, как на Пони правильно все делать и какие есть нюансы. Приходится методом научного тыка. Может надо на атмеге Program Enable (1-ый pin) притянуть к чему то? По ДШ сигнал инверсный, подтяжка на + пит внутри проца, пробовал садить на землю во время прошивки - разницы не заметил, результат одинаков, флеш шьет, все стирает при любом лог. уровне PEN. Если что подскажите - буду благодарен...

P.S. С EEPROM разобрался... Оказывается это особенности программы, после перезапуска надо смотреть в самом конце прочитанного, с адреса 0х10000h, а не с 0х00000h. Метод склейки судя по всему тоже рабочий. Прошил по отдельности оба файла - всё на месте. Осталось выяснить почему не работает устройство и разобраться с локами...
Изображение
Заводские фьюзы чистой Atmega64A были такие, может кому то пригодится... Самое простое подключение AVR к Ponyprog смотрите тут.
Реклама
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15583
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: Прошить Atmega64 проектом от TL-866A

Сообщение BOB51 »

Я с 64кой дел не имел.
Чиать даташитту надо (и весьма внимательно)...
:(
Помимо прочего...
Общие положения...
Понька тактовый сигнал НЕ ВЫДАЕТ.
Посему... на целевой панельке должен быть установлен кварцевый резонатор минимум на 4 МГц с парочкой кондеев 24-27 пикофарад.
Иначе необходимого тактирования в целевом кристалле не будет.
Вот к примеру как на моей для меги 8515 (она же мега162 или иная для DIP40 классической раскладки).
http://img.radiokot.ru/files/20529/25kbb9x50i.JPG
Для других кристаллов (включая Вашу "бабочку" с питанием посрединке) ессно иная раскладка выводов будет.
Такое положение при работе с понькой действует ДЛЯ ВСЕХ АВРок с более чем 8 лапками!
Воть ешше на всякий случай:
P&P.PDF
(1.36 МБ) 186 скачиваний
:beer:
И обратите внимание на статус BOOTRST...Он определяет точку запуска программы при подаче питания.
:roll:
Реклама
boroda06560
Открыл глаза
Сообщения: 74
Зарегистрирован: Пт фев 10, 2012 08:46:32
Откуда: Россия, Крым, Алушта
Контактная информация:

Re: Прошить Atmega64 проектом от TL-866A

Сообщение boroda06560 »

[uquote="BOB51",url="/forum/viewtopic.php?p=3812115#p3812115"]Понька тактовый сигнал НЕ ВЫДАЕТ.
Посему... на целевой панельке должен быть установлен кварцевый резонатор минимум на 4 МГц с парочкой кондеев 24-27 пикофарад.
Иначе необходимого тактирования в целевом кристалле не будет.[/uquote]
Я сейчас уже прошиваю прямо на плате, кварц стоит 8мГц, ... Понька не тактирует, это я знаю, но AVR-ку видит, заливает и сливает с нее все нормально, значит по идее все правильно, но видимо как то не так...

... В общем установил я софт от MiniPro, открыл проект, сохранил данные из проекта в обычный BIN, прошил понипрогом и всё заколосилось! 8)

P.S. По ходу событий выяснилось:
1. LOC биты прошиваются один раз и только на новую или стертую микру.
2. Как ни странно, но их задача не только защищать прошивку от чтения. С непрошитыми локами и правильными фьюзами тельце не работает.
3. Используя выводы 2,3,11,20 (PE0, PE1, CLK, Reset) для прошивки сигнал PEN не участвует.

BOB51, спасибо за поддержку! :beer:
Аватара пользователя
musor
Друг Кота
Сообщения: 39197
Зарегистрирован: Сб сен 13, 2014 16:27:32
Откуда: СпиртоГонск созвездия Омега

Re: Прошить Atmega64 проектом от TL-866A

Сообщение musor »

имиея 866 не понимаю садо мазо с самоделками вроде понки.. там и софт удобнейший
я купиф оной 866+ даже ch431 болнусом мешок кроватей под прямой пошиф
забросил кудато и не найти уже..
если чипа не работает без локоф примененена хитрожепая проверка защиты
такое делали изврашенцы в 90х там еще была доп херня-спецбут если кс правилна а локоф нет хуйня перезапгружалась и прожигала их а потом рестартовала в штатном режиме передав старт основной проге

Добавлено after 1 minute 35 seconds:
интересно былоб трасернуть вашу фирмварь.... хз каке закладки там еще заложили шпиены
ZМудрость(Опыт и выдержка) приходит с годами.
Все Ваши беды и проблемы, от недостатка знаний.
Умный и у дурака научится, а дураку и ..
Алберт Ейнштейн не поможет и ВВП не спасет.и МЧС опаздает
boroda06560
Открыл глаза
Сообщения: 74
Зарегистрирован: Пт фев 10, 2012 08:46:32
Откуда: Россия, Крым, Алушта
Контактная информация:

Re: Прошить Atmega64 проектом от TL-866A

Сообщение boroda06560 »

[uquote="musor",url="/forum/viewtopic.php?p=3812474#p3812474"]имиея 866 не понимаю садо мазо с самоделками вроде понки.. там и софт удобнейший[/uquote]
Я же написал вроде, уровень по AVR у меня начинающий. Пока что слишком накладно мне ради парочки самоделок выкладывать почти 10К. Слишком дорогое удовольствие для поучится. Конечно, на будущее в планах есть такая задумка. Вообще, на данный момент меня больше интерсуют не AVR, а нанды и норы, поэтому с программатором еще не определился, коплю монеты, подбираю варианты.
[uquote="musor",url="/forum/viewtopic.php?p=3812474#p3812474"][/color][/size]
интересно былоб трасернуть вашу фирмварь.... хз каке закладки там еще заложили шпиены[/uquote]
Моя приблуда в тырнет не ходит, из доступных сетей ей доступна только проводная по 220 :))) , пусть там хоть 100 закладок сидит, для управления 10-ком нагрузок они не помеха. :wink:
[uquote="musor",url="/forum/viewtopic.php?p=3812474#p3812474"]даже ch431 болнусом мешок кроватей под прямой пошиф
забросил кудато и не найти уже...[/uquote]
CH431 у меня есть... но им я что то не смог подключиться ни к атинькам ни к атмегам. :( Не знаю почему... Есть даже специальный софт под AVR для CH431, но толкового описания нет, как пользоваться - х.з. Крутил - вертел по всякому, но ничего не вышло. Если есть ссылочка по этой теме - поделитесь пожалуйста.
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15583
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: Прошить Atmega64 проектом от TL-866A

Сообщение BOB51 »

Как вариант - avrdudeshell плюс модернизированный siprog.
У меня достаточно стабильно работает.
Ежли будет интерес - запакую через яндекс-диск софтинку с схемками...
:beer:
Ответить

Вернуться в «Практика»