Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: ICD2 (клон) - проблемы с debug mode
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > Все остальные микроконтроллеры > PIC
Velund
Замучился я уже шаманскими плясками заниматься. Может я хожу по известным граблям и кто нибудь подскажет чего?

Есть плата, питание 5 вольт, достаточно несложная, пара периферийных чипов на SPI, кое какое барахло на портах, не существенное для вопроса (вынуто сейчас из панелек и ноги сделаны выходами). На ней был изначально PIC18LF4620. В процессе поиска источника проблемы вместо него был напаян 18LF448 (распиновка та же в QFP, просто ничего другого под рукой не нашлось с той же распиновкой).

Компилятор - EWPIC18-EVAL, резервируемые под ICD области в раме и флеше не задействованы (проверил по map файлу линкера).

Программируется все на ура. Но при попытке запустить дебаггер в MPLAB - почти всегда ICD0083: Debug: Unable to enter debug mode. В редких случаях, когда оно таки входило в дебаг, очень быстро все разваливалось. Простенький код, выдранный с модификацией из прошлых проектов, запрограммированный тем же ICD в режиме программатора работает корректно (типа на прерываниях помигать светодиодом с частотой 1 герц - проверил частотомером в режиме измерения интервалов, 0.99983 сек период). Т.е. кварц (20 мгц) в порядке.

Для программирования и попыток отладки использовался проверенный в многочисленных боях клон ICD2, без USB еще, на 16F877 (без А). В процессе проверялся с другими платами (с чипами 16F876, 18F258, 18F4585) - никаких проблем, и отладка, и программирование без вопросов.

Пробовал:

- Добавлять емкости по 22 пики на шины PGD/PGC.
- Обвешивать чип дополнительными блокировочными кондерами
- Укорачивать кабель до 8 см
- Питать плату от батареи (была легкая паранойя что лабораторный источник блудить начал, осциллограф был не на ходу, как завел - убедился что все ок).
- Отключать все что только можно в фльюзах (WDT, PWRT, BOD - все отключено, дебаг включен в описаниях фьюзов в компиляторе, MPLAB этот фьюз не показывает).

Ситуация не меняется. При этом другая плата, с 18F258, работает великолепно во всех режимах с тем же набором отладочных средств (EWPIC/MPLAB/ICD2) даже с 25 см кабелем. Схемотехника обвязки ноги MCLR идентична.

Думал что 18LF4620 мне хреновый попался, запаял 18LF448 на то же место, поправил инициализацию - нет, то же самое, чуть почаще получается войти в дебаг, но так же быстро оно отваливается.
DL36
Цитата(Velund @ Apr 16 2007, 02:30) *
Замучился я уже шаманскими плясками заниматься. Может я хожу по известным граблям и кто нибудь подскажет чего?

Есть плата, питание 5 вольт, достаточно несложная, пара периферийных чипов на SPI, кое какое барахло на портах, не существенное для вопроса (вынуто сейчас из панелек и ноги сделаны выходами). На ней был изначально PIC18LF4620. В процессе поиска источника проблемы вместо него был напаян 18LF448 (распиновка та же в QFP, просто ничего другого под рукой не нашлось с той же распиновкой).

Компилятор - EWPIC18-EVAL, резервируемые под ICD области в раме и флеше не задействованы (проверил по map файлу линкера).

Программируется все на ура. Но при попытке запустить дебаггер в MPLAB - почти всегда ICD0083: Debug: Unable to enter debug mode. В редких случаях, когда оно таки входило в дебаг, очень быстро все разваливалось. Простенький код, выдранный с модификацией из прошлых проектов, запрограммированный тем же ICD в режиме программатора работает корректно (типа на прерываниях помигать светодиодом с частотой 1 герц - проверил частотомером в режиме измерения интервалов, 0.99983 сек период). Т.е. кварц (20 мгц) в порядке.

Для программирования и попыток отладки использовался проверенный в многочисленных боях клон ICD2, без USB еще, на 16F877 (без А). В процессе проверялся с другими платами (с чипами 16F876, 18F258, 18F4585) - никаких проблем, и отладка, и программирование без вопросов.

Пробовал:

- Добавлять емкости по 22 пики на шины PGD/PGC.
- Обвешивать чип дополнительными блокировочными кондерами
- Укорачивать кабель до 8 см
- Питать плату от батареи (была легкая паранойя что лабораторный источник блудить начал, осциллограф был не на ходу, как завел - убедился что все ок).
- Отключать все что только можно в фльюзах (WDT, PWRT, BOD - все отключено, дебаг включен в описаниях фьюзов в компиляторе, MPLAB этот фьюз не показывает).

Ситуация не меняется. При этом другая плата, с 18F258, работает великолепно во всех режимах с тем же набором отладочных средств (EWPIC/MPLAB/ICD2) даже с 25 см кабелем. Схемотехника обвязки ноги MCLR идентична.

Думал что 18LF4620 мне хреновый попался, запаял 18LF448 на то же место, поправил инициализацию - нет, то же самое, чуть почаще получается войти в дебаг, но так же быстро оно отваливается.

Посмотрите на идентичность резисторов в канале связи, кто то уже жаловался на подобное оказалось, что на резисторе был указан неверный номинал.
Velund
Цитата(DL36 @ Apr 16 2007, 14:21) *
Посмотрите на идентичность резисторов в канале связи, кто то уже жаловался на подобное оказалось, что на резисторе был указан неверный номинал.


Да нет, дело не в этом...

Я уже начинаю склоняться к идее что мне так "повезло", что оба имевшихся чипа в TQFP-44 из партий с каким то глюком именно с модулем BDM (или как он там у микрочипа называется). Шанс проскочить незамеченным на производстве у такого глюка велик - дебажную функциональность используют у мизерной доли процента от всех выпускаемых чипов.

Уже нарывались раз на партию PIC18F258, почти половина чипов из которой шилась только после подогрева плат градусов до 40... ;-) Думали совсем брак, случайно обнаружилось при перепайке, что пока чип теплый - шьется, как остыл - ICD его не видит. Партия изделий была опытной, время жало, заменить было нечем - нагрели феном и зашили. ;-) Отработало без проблем...

Это я к тому, что микрочип тоже не ангелы...
DL36
Цитата(Velund @ Apr 17 2007, 06:42) *
Да нет, дело не в этом...

Я уже начинаю склоняться к идее что мне так "повезло", что оба имевшихся чипа в TQFP-44 из партий с каким то глюком именно с модулем BDM (или как он там у микрочипа называется). Шанс проскочить незамеченным на производстве у такого глюка велик - дебажную функциональность используют у мизерной доли процента от всех выпускаемых чипов.

Уже нарывались раз на партию PIC18F258, почти половина чипов из которой шилась только после подогрева плат градусов до 40... ;-) Думали совсем брак, случайно обнаружилось при перепайке, что пока чип теплый - шьется, как остыл - ICD его не видит. Партия изделий была опытной, время жало, заменить было нечем - нагрели феном и зашили. ;-) Отработало без проблем...

Это я к тому, что микрочип тоже не ангелы...

Ради интереса продублируйте свой вопрос на сазаре, здесь открылась новая конфа по пикам. Народ компетентный глядишь и помогут.

что не ангелы это правда и кумира творить не надо, но их продажи говорят о многом.
Velund
Вопрос закрыт.

Собака порылась в грязной земле из за обрыва под чипом (путь земли оказался больно извилист в результате wink.gif ).

Придется теперь принять за правило заказывать с открытыми от маски via и проливать все без исключения переходы припоем на этих клятых "экспресс-платах"... Электротест в данном случае не помог.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.