Наступил я тут на грабли с конфигурацией общего провода JTAG. Хочу поделиться моментом счастья :))) Исходно. В устройстве используются два кристалла. MSP430F149 и MSP430F1232. Есть разъемы подключения только для BSL. JTAG не выведен. Нужно отладить программное обеспечение на одном таком устройстве, чтобы потом модифицировать на остальных уже через BSL.
Не мудрствуя лукаво, я взял разъем PBD-16, приклеил на СуперМомент на край платы и рапаял на один его ряд JTAG от F1232, на другой ряд сигналы от F149. Поскольку подпаиваться к выводам кристалла TQFP-64 с шагом 0,5мм секс еще тот (натрахался я этой пайкой вволю! :)), то припаял от него на разъем только четыре провода JTAG. Питание и RESET (благо они общие) распаял на обе половины PBDшки, взяв их от F1232. Некоторое время все было нормально. Я отлаживал F149, а F1232 был без микрокода (стерт). Потом я залил программу в F1232 и снова вернулся к отладке F149 (все это в течение нескольких дней происходило) и тут Ё-моё! C-CPY мне стал выдавать сообщение, что у кристалла фьюз пережжен. Почему? Отчего? Начались какие-то глюки со стиранием/программированием. То стирается/программируется, то сообщает что это вообще неизвестный науке зверь (Unknown device). Пробовал с MSPFET Programmer, ситуация схожая. Когда загружается прошивка, то можно запустить и немного пошагать в C-CPY, но только до строго определенного шага! Кусок проги который запускает внешнее тактирование и инициализирует пины кристалла виснет строго на команде P5DIR = 0xFF; Точнее после этой команды JTAG отмирает так, что помогает только полное отключение питание устройства с "ручным" разрядом всех емкостей на плате. Это был бред какой-то.
Если же удавалось прошить программу, то без подключенного JTAG она работала. Этот же кусок программы с таким же кристаллом в панельке MSP FET от TI работает без проблем. А тут мистика какая-то. Я за сутки чуть с ума не сошел :) IAR от безысходности переустановил. Вчера с утра даже хотел вопрос задать, не встречались ли какие-то неприятности у кого-либо с партией кристаллов MSP430F149 rev.O? Но после того как перепаял его, установив кристалл более раннего выпуска, который до этого в панельке с этой прогой работал, передумал спрашивать.
Решение же проблемы как всегда лежало на поверхности. Я разделил провода питания и сигнал RESET на разъеме JTAG, подпаяв их прямо к выводам соответствующих кристаллов. И... УРА! ЗАРАБОТАЛО!!! Т.е. и C-CPY перестал ругаться на пережженый фьюс и отладка F149 заработала. Виной всему геморрою служила петля общего провода, которая образовалась когда я взял землю для обоих JTAGов от второго кристалла F1232. Пока он не работал это не мешало процессу отладки, а вот после заливки в него кода и начались глюки. Кстати провода были длиной не более 5 см.
-
- Интересно. Сергей Борщ(336 знак., 02.07.2005 14:47, )