|
проблема стирания кристалла |
|
|
|
Nov 24 2016, 00:03
|
Местный
  
Группа: Участник
Сообщений: 301
Регистрация: 13-12-15
Из: Харьков
Пользователь №: 89 682

|
Цитата(krian @ Nov 23 2016, 20:41)  Там все эти ноги выведены на внешние выводы. Так что в этом "повезло". Проблема как раз в том, что через них ничего не программируется и даже не стирается полностью. Иначе, я бы и на форум с вопросами не выходил.
И я не понимаю, почему у меня не стирается весь кристалл. Так у Вас он вообще не стирается, так как, похоже, что отсутствует полноценный процесс обмена между PonyProg-ом и мегой. Критерием этого является процесс чтения, результатом которого были установленные лок-биты и содержимое "FF только в первых двух строчках, а дальше какая-то информация". При корректном чтении этого не может быть в принципе: либо установленные лок-биты и содержимое "1, 2, 3, 4, 5, 6, ...." - номер считываемого байта, либо сброшенный лок-бит, позволяющий считывать содержимое отличное от счетчика. А так как, Вы успешно перепрошиваете 16-ю, то корень зла скорее всего находится или на самой плате (к примеру некачественный пропой или кз дорожек) или в самой меге в виде подгоревшего порта или дефектного кристалла.
|
|
|
|
|
Nov 24 2016, 05:45
|
Участник

Группа: Участник
Сообщений: 60
Регистрация: 21-11-08
Пользователь №: 41 832

|
Может светодиод D3, подключенный к SCK, мешает общению программатору.
Схема - www.arduino.cc/en/uploads/Main/Arduino-Pro-Mini-schematic.pdf
|
|
|
|
|
Nov 24 2016, 09:03
|

Местный
  
Группа: Свой
Сообщений: 253
Регистрация: 28-12-07
Из: Украина г. Первомайск
Пользователь №: 33 716

|
Жесть!, 10 лет и работать только в паралельном режиме. Скорее всего там только сборкой занимаются. Не представляю себе такую отладку на Mega в QFP32-100 с плотным обвесом. Программатор через COM + стабилитроны (конипрог) на удачу. У меня STK500 USB By Petka иногда чудеса творит на длинном шлейфе В плане протекта мое мнение. Кто-то может сказать, что в паралельном режиме они ставят максимум защиты, RSTDSBL; SPIEN; но хочу Вас успокоить, все это бесполезно и никак на защиту не влияет. В итоге + 1 нога RST (очень хорошо только для ATtiny13) и куча головняка для ATmega.
|
|
|
|
|
Nov 24 2016, 10:00
|
Местный
  
Группа: Участник
Сообщений: 301
Регистрация: 13-12-15
Из: Харьков
Пользователь №: 89 682

|
Цитата(pavel-pervomaysk @ Nov 24 2016, 11:03)  Жесть!, 10 лет и работать только в паралельном режиме. Жесть! Из контекста понятно, что там простая опечятка.
|
|
|
|
|
Nov 24 2016, 16:00
|
Участник

Группа: Участник
Сообщений: 34
Регистрация: 28-11-07
Пользователь №: 32 757

|
Цитата(ucMike @ Nov 24 2016, 09:45)  Может светодиод D3, подключенный к SCK, мешает общению программатору.
Схема - www.arduino.cc/en/uploads/Main/Arduino-Pro-Mini-schematic.pdf Светодиод я отключал. Не помогало. Цитата(Сергей Борщ @ Nov 24 2016, 01:42)  Обратите внимание на адреса обработчиков прерываний. Да, про вектора я не подумал. Они разные. Поэтому на меге 16 может и не работать.
|
|
|
|
|
Nov 24 2016, 16:42
|
Участник

Группа: Участник
Сообщений: 34
Регистрация: 28-11-07
Пользователь №: 32 757

|
Цитата(aiwa @ Nov 24 2016, 04:03)  Так у Вас он вообще не стирается, так как, похоже, что отсутствует полноценный процесс обмена между PonyProg-ом и мегой. Критерием этого является процесс чтения, результатом которого были установленные лок-биты и содержимое "FF только в первых двух строчках, а дальше какая-то информация". При корректном чтении этого не может быть в принципе: либо установленные лок-биты и содержимое "1, 2, 3, 4, 5, 6, ...." - номер считываемого байта, либо сброшенный лок-бит, позволяющий считывать содержимое отличное от счетчика. А так как, Вы успешно перепрошиваете 16-ю, то корень зла скорее всего находится или на самой плате (к примеру некачественный пропой или кз дорожек) или в самой меге в виде подгоревшего порта или дефектного кристалла. Вы правы. Я сразу заметил, что обмен какой-то странный. С первого раза операции, как правило, не выполняются, только со второго или с третьего. Дефектный кристалл или плата - маловероятно. У меня несколько таких плат. Они же не могут быть с одинаковыми дефектами у разных производителей. Пони Прог их хотя бы видит. Алгоритм Билдер и CVAVR пишут сразу, что кристалл не доступен. Т.к. раньше в моей практике такого не было, я тоже сразу подумал, что кристалл дефектный. Взял другую плату, она другого производителя. С ней произошло то же самое. В общем обе испортились. Интересно то, что те платы, которые я не обрабатывал ПониПрогом, удалось запрограммировать средствами Ардуино через его загрузчик. Те, которые я пытался стирать ПониПогом теперь не обрабатываются и с помощью Ардуино. Если бы я раньше знал.... Тогда и прошивал бы через Ардуино. Но там же было написано, что можно и через SPI. Ардуино еще надо было найти и подготовить, а SPI всегда под рукой, поэтому я воспользовался им.
|
|
|
|
|
Nov 25 2016, 00:02
|
Местный
  
Группа: Участник
Сообщений: 301
Регистрация: 13-12-15
Из: Харьков
Пользователь №: 89 682

|
Цитата(krian @ Nov 24 2016, 18:42)  Дефектный кристалл или плата - маловероятно. Цепочка прошивки состоит из 4 звеньев: 1). управляющей прошивкой программы - PonyProg или другая, сидящая на СОМ-порту, например 1С-бухгалтерия. 2). кабеля "serial hardware interface" или, в просторечьи, последовательного программатора СОМ - разъем на плате. 3). дрожки от разъема на плате к кристаллу. 4). сам кристалл. И так как Вы написали, что 16-тая мега неоднократно и успешно перепрошивается, то первые два звена можно считать вне подозрений. Остаются дорожки или сам кристалл. И то, что операции проходят, пусть со второго или третьего раза, как бы говорит о том, что со фьюзами не так плачвно, иначе бы Пони вообще не распознавало устройство. Не помню точно, но в Пони должна быть возможность понижения частоты обмена - попробуйте снизить. И проверьте на всякий случай не разделяет ли ПониПрог компорт с какой-нибудь сервисной программой. Цитата(krian @ Nov 24 2016, 18:42)  Взял другую плату, она другого производителя. С ней произошло то же самое. В общем обе испортились. Не факт что испортились. Возникает вопрос как в этом случае успешно прошивается мега16. Цитата(krian @ Nov 24 2016, 18:42)  Но там же было написано, что можно и через SPI. Все правильно написано, можно и через SPI. Причем Вы можете восстановить аурдиновский загрузчик записать его обратно, если производитель выложил его прошивку.
|
|
|
|
|
Nov 25 2016, 04:53
|
Участник

Группа: Участник
Сообщений: 60
Регистрация: 21-11-08
Пользователь №: 41 832

|
Отвлекаясь от темы: Если разглядывать установленный IDE Arduino, то можно найти загрузчик в <путь к ардуино>/hardware/arduino/bootloadres/Atmega/ ATmegaBOOT_168.c Там же варианты готовых HEX-файлов . Загрузчик сидит в функции main.c и скорее всего каждый раз переписывается при программирования камня.
P.S В <ардуино>/hardware/cores/arduino исходники для USB
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|