Сергей Борщ 119 23 ноября, 2016 Опубликовано 23 ноября, 2016 · Жалоба У них адреса регистров и портов совпадаютОбратите внимание на адреса обработчиков прерываний. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aiwa 0 24 ноября, 2016 Опубликовано 24 ноября, 2016 · Жалоба Там все эти ноги выведены на внешние выводы. Так что в этом "повезло". Проблема как раз в том, что через них ничего не программируется и даже не стирается полностью. Иначе, я бы и на форум с вопросами не выходил. И я не понимаю, почему у меня не стирается весь кристалл. Так у Вас он вообще не стирается, так как, похоже, что отсутствует полноценный процесс обмена между PonyProg-ом и мегой. Критерием этого является процесс чтения, результатом которого были установленные лок-биты и содержимое "FF только в первых двух строчках, а дальше какая-то информация". При корректном чтении этого не может быть в принципе: либо установленные лок-биты и содержимое "1, 2, 3, 4, 5, 6, ...." - номер считываемого байта, либо сброшенный лок-бит, позволяющий считывать содержимое отличное от счетчика. А так как, Вы успешно перепрошиваете 16-ю, то корень зла скорее всего находится или на самой плате (к примеру некачественный пропой или кз дорожек) или в самой меге в виде подгоревшего порта или дефектного кристалла. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ucMike 0 24 ноября, 2016 Опубликовано 24 ноября, 2016 · Жалоба Может светодиод D3, подключенный к SCK, мешает общению программатору. Схема - www.arduino.cc/en/uploads/Main/Arduino-Pro-Mini-schematic.pdf Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
pavel-pervomaysk 0 24 ноября, 2016 Опубликовано 24 ноября, 2016 · Жалоба Жесть!, 10 лет и работать только в паралельном режиме. Скорее всего там только сборкой занимаются. Не представляю себе такую отладку на Mega в QFP32-100 с плотным обвесом. Программатор через COM + стабилитроны (конипрог) на удачу. У меня STK500 USB By Petka иногда чудеса творит на длинном шлейфе В плане протекта мое мнение. Кто-то может сказать, что в паралельном режиме они ставят максимум защиты, RSTDSBL; SPIEN; но хочу Вас успокоить, все это бесполезно и никак на защиту не влияет. В итоге + 1 нога RST (очень хорошо только для ATtiny13) и куча головняка для ATmega. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aiwa 0 24 ноября, 2016 Опубликовано 24 ноября, 2016 · Жалоба Жесть!, 10 лет и работать только в паралельном режиме. Жесть! Из контекста понятно, что там простая опечятка. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
krian 0 24 ноября, 2016 Опубликовано 24 ноября, 2016 · Жалоба Может светодиод D3, подключенный к SCK, мешает общению программатору. Схема - www.arduino.cc/en/uploads/Main/Arduino-Pro-Mini-schematic.pdf Светодиод я отключал. Не помогало. Обратите внимание на адреса обработчиков прерываний. Да, про вектора я не подумал. Они разные. Поэтому на меге 16 может и не работать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zltigo 0 24 ноября, 2016 Опубликовано 24 ноября, 2016 · Жалоба А по жизни вполне хватает и последовательного программатора. Параллельный программатор - он как сурок: его никто не видел, но он есть. С "не видел" могу помочь - в приложении параллельный программатор и макроме из проводов для подключения. Делалось с проклятиями лет 15 назад для стирания залоченной прошивки одного промышленного изделия. Проклятия были столь сильны, что это изделие все эти годы хранится :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
krian 0 24 ноября, 2016 Опубликовано 24 ноября, 2016 · Жалоба Так у Вас он вообще не стирается, так как, похоже, что отсутствует полноценный процесс обмена между PonyProg-ом и мегой. Критерием этого является процесс чтения, результатом которого были установленные лок-биты и содержимое "FF только в первых двух строчках, а дальше какая-то информация". При корректном чтении этого не может быть в принципе: либо установленные лок-биты и содержимое "1, 2, 3, 4, 5, 6, ...." - номер считываемого байта, либо сброшенный лок-бит, позволяющий считывать содержимое отличное от счетчика. А так как, Вы успешно перепрошиваете 16-ю, то корень зла скорее всего находится или на самой плате (к примеру некачественный пропой или кз дорожек) или в самой меге в виде подгоревшего порта или дефектного кристалла. Вы правы. Я сразу заметил, что обмен какой-то странный. С первого раза операции, как правило, не выполняются, только со второго или с третьего. Дефектный кристалл или плата - маловероятно. У меня несколько таких плат. Они же не могут быть с одинаковыми дефектами у разных производителей. Пони Прог их хотя бы видит. Алгоритм Билдер и CVAVR пишут сразу, что кристалл не доступен. Т.к. раньше в моей практике такого не было, я тоже сразу подумал, что кристалл дефектный. Взял другую плату, она другого производителя. С ней произошло то же самое. В общем обе испортились. Интересно то, что те платы, которые я не обрабатывал ПониПрогом, удалось запрограммировать средствами Ардуино через его загрузчик. Те, которые я пытался стирать ПониПогом теперь не обрабатываются и с помощью Ардуино. Если бы я раньше знал.... Тогда и прошивал бы через Ардуино. Но там же было написано, что можно и через SPI. Ардуино еще надо было найти и подготовить, а SPI всегда под рукой, поэтому я воспользовался им. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aiwa 0 25 ноября, 2016 Опубликовано 25 ноября, 2016 · Жалоба Дефектный кристалл или плата - маловероятно. Цепочка прошивки состоит из 4 звеньев: 1). управляющей прошивкой программы - PonyProg или другая, сидящая на СОМ-порту, например 1С-бухгалтерия. 2). кабеля "serial hardware interface" или, в просторечьи, последовательного программатора СОМ - разъем на плате. 3). дрожки от разъема на плате к кристаллу. 4). сам кристалл. И так как Вы написали, что 16-тая мега неоднократно и успешно перепрошивается, то первые два звена можно считать вне подозрений. Остаются дорожки или сам кристалл. И то, что операции проходят, пусть со второго или третьего раза, как бы говорит о том, что со фьюзами не так плачвно, иначе бы Пони вообще не распознавало устройство. Не помню точно, но в Пони должна быть возможность понижения частоты обмена - попробуйте снизить. И проверьте на всякий случай не разделяет ли ПониПрог компорт с какой-нибудь сервисной программой. Взял другую плату, она другого производителя. С ней произошло то же самое. В общем обе испортились. Не факт что испортились. Возникает вопрос как в этом случае успешно прошивается мега16. Но там же было написано, что можно и через SPI. Все правильно написано, можно и через SPI. Причем Вы можете восстановить аурдиновский загрузчик записать его обратно, если производитель выложил его прошивку. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ucMike 0 25 ноября, 2016 Опубликовано 25 ноября, 2016 · Жалоба Отвлекаясь от темы: Если разглядывать установленный IDE Arduino, то можно найти загрузчик в <путь к ардуино>/hardware/arduino/bootloadres/Atmega/ ATmegaBOOT_168.c Там же варианты готовых HEX-файлов . Загрузчик сидит в функции main.c и скорее всего каждый раз переписывается при программирования камня. P.S В <ардуино>/hardware/cores/arduino исходники для USB Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться