|
ICD2 (клон) - проблемы с debug mode, Какая то мистика прямо.... |
|
|
|
Apr 16 2007, 02:30
|
Знающий
   
Группа: Свой
Сообщений: 693
Регистрация: 19-11-04
Пользователь №: 1 177

|
Замучился я уже шаманскими плясками заниматься. Может я хожу по известным граблям и кто нибудь подскажет чего?
Есть плата, питание 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 на то же место, поправил инициализацию - нет, то же самое, чуть почаще получается войти в дебаг, но так же быстро оно отваливается.
|
|
|
|
|
 |
Ответов
|
Apr 16 2007, 13:21
|
Местный
  
Группа: Свой
Сообщений: 460
Регистрация: 5-10-06
Из: Херсон
Пользователь №: 21 006

|
Цитата(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 на то же место, поправил инициализацию - нет, то же самое, чуть почаще получается войти в дебаг, но так же быстро оно отваливается. Посмотрите на идентичность резисторов в канале связи, кто то уже жаловался на подобное оказалось, что на резисторе был указан неверный номинал.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|