реклама на сайте
подробности

 
 
2 страниц V  < 1 2  
Reply to this topicStart new topic
> проблема стирания кристалла
Сергей Борщ
сообщение Nov 23 2016, 21:42
Сообщение #16


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



QUOTE (krian @ Nov 23 2016, 21:41) *
У них адреса регистров и портов совпадают
Обратите внимание на адреса обработчиков прерываний.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
aiwa
сообщение Nov 24 2016, 00:03
Сообщение #17


Местный
***

Группа: Участник
Сообщений: 301
Регистрация: 13-12-15
Из: Харьков
Пользователь №: 89 682



Цитата(krian @ Nov 23 2016, 20:41) *
Там все эти ноги выведены на внешние выводы. Так что в этом "повезло". Проблема как раз в том, что через них ничего не программируется и даже не стирается полностью. Иначе, я бы и на форум с вопросами не выходил.

И я не понимаю, почему у меня не стирается весь кристалл.

Так у Вас он вообще не стирается, так как, похоже, что отсутствует полноценный процесс обмена между PonyProg-ом и мегой.
Критерием этого является процесс чтения, результатом которого были установленные лок-биты и содержимое "FF только в первых двух строчках, а дальше какая-то информация". При корректном чтении этого не может быть в принципе: либо установленные лок-биты и содержимое "1, 2, 3, 4, 5, 6, ...." - номер считываемого байта,
либо сброшенный лок-бит, позволяющий считывать содержимое отличное от счетчика.
А так как, Вы успешно перепрошиваете 16-ю, то корень зла скорее всего находится или на самой плате (к примеру некачественный пропой или кз дорожек) или в самой меге в виде подгоревшего порта или дефектного кристалла.
Go to the top of the page
 
+Quote Post
ucMike
сообщение Nov 24 2016, 05:45
Сообщение #18


Участник
*

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



Может светодиод D3, подключенный к SCK, мешает общению программатору.

Схема - www.arduino.cc/en/uploads/Main/Arduino-Pro-Mini-schematic.pdf
Go to the top of the page
 
+Quote Post
pavel-pervomaysk
сообщение Nov 24 2016, 09:03
Сообщение #19


Местный
***

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



Жесть!, 10 лет и работать только в паралельном режиме.
Скорее всего там только сборкой занимаются.
Не представляю себе такую отладку на Mega в QFP32-100 с плотным обвесом.

Программатор через COM + стабилитроны (конипрог) на удачу.
У меня STK500 USB By Petka иногда чудеса творит на длинном шлейфе biggrin.gif

В плане протекта мое мнение.
Кто-то может сказать, что в паралельном режиме они ставят максимум защиты, RSTDSBL; SPIEN; но хочу Вас успокоить, все это бесполезно и никак на защиту не влияет.
В итоге + 1 нога RST (очень хорошо только для ATtiny13) и куча головняка для ATmega.
Go to the top of the page
 
+Quote Post
aiwa
сообщение Nov 24 2016, 10:00
Сообщение #20


Местный
***

Группа: Участник
Сообщений: 301
Регистрация: 13-12-15
Из: Харьков
Пользователь №: 89 682



Цитата(pavel-pervomaysk @ Nov 24 2016, 11:03) *
Жесть!, 10 лет и работать только в паралельном режиме.

Жесть! Из контекста понятно, что там простая опечятка.
Go to the top of the page
 
+Quote Post
krian
сообщение Nov 24 2016, 16:00
Сообщение #21


Участник
*

Группа: Участник
Сообщений: 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 может и не работать.
Go to the top of the page
 
+Quote Post
zltigo
сообщение Nov 24 2016, 16:36
Сообщение #22


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



QUOTE (aiwa @ Nov 23 2016, 08:00) *
А по жизни вполне хватает и последовательного программатора. Параллельный программатор - он как сурок: его никто не видел, но он есть.

С "не видел" могу помочь - в приложении параллельный программатор и макроме из проводов для подключения. Делалось с проклятиями лет 15 назад для стирания залоченной прошивки одного промышленного изделия.
Проклятия были столь сильны, что это изделие все эти годы хранится sm.gif
Эскизы прикрепленных изображений
Прикрепленное изображение
Прикрепленное изображение
 


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
krian
сообщение Nov 24 2016, 16:42
Сообщение #23


Участник
*

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



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

Вы правы. Я сразу заметил, что обмен какой-то странный. С первого раза операции, как правило, не выполняются, только со второго или с третьего. Дефектный кристалл или плата - маловероятно. У меня несколько таких плат. Они же не могут быть с одинаковыми дефектами у разных производителей. Пони Прог их хотя бы видит. Алгоритм Билдер и CVAVR пишут сразу, что кристалл не доступен. Т.к. раньше в моей практике такого не было, я тоже сразу подумал, что кристалл дефектный. Взял другую плату, она другого производителя. С ней произошло то же самое. В общем обе испортились.
Интересно то, что те платы, которые я не обрабатывал ПониПрогом, удалось запрограммировать средствами Ардуино через его загрузчик. Те, которые я пытался стирать ПониПогом теперь не обрабатываются и с помощью Ардуино. Если бы я раньше знал.... Тогда и прошивал бы через Ардуино. Но там же было написано, что можно и через SPI. Ардуино еще надо было найти и подготовить, а SPI всегда под рукой, поэтому я воспользовался им.
Go to the top of the page
 
+Quote Post
aiwa
сообщение Nov 25 2016, 00:02
Сообщение #24


Местный
***

Группа: Участник
Сообщений: 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.
Причем Вы можете восстановить аурдиновский загрузчик записать его обратно, если производитель выложил его прошивку.

Go to the top of the page
 
+Quote Post
ucMike
сообщение Nov 25 2016, 04:53
Сообщение #25


Участник
*

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



Отвлекаясь от темы:
Если разглядывать установленный IDE Arduino, то можно найти загрузчик в <путь к ардуино>/hardware/arduino/bootloadres/Atmega/ ATmegaBOOT_168.c Там же варианты готовых HEX-файлов .
Загрузчик сидит в функции main.c и скорее всего каждый раз переписывается при программирования камня.


P.S В <ардуино>/hardware/cores/arduino исходники для USB
Go to the top of the page
 
+Quote Post

2 страниц V  < 1 2
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 16th June 2025 - 20:01
Рейтинг@Mail.ru


Страница сгенерированна за 0.02061 секунд с 7
ELECTRONIX ©2004-2016