Доброго времени суток всем!
За все время работы с мегами (с икс-мегами в частности) впервые столкнулся с таким абсолютно дурацким "приколом".
Суть такая: проц (ATXmega128A3U) коннектится к Bluetooth модулю через UART, используя AT-команды, при этом идет индикация подмаргивающим светодиодом, BT-модуль ищет пару, соединяется, после чего проц включает USB, проводит энумерацию в системе, светодиод загорается постоянно.
В целом ничего смертельного. Написал, отладился...
Отцепляю JTAG... и вижу... к паре BT никаких попыток соединения, светодиод продолжает моргать, в системе устройства нет... Снова подцепляю JTAG, запускаю... все работает со свистом... Отцепляю... где-то встает намертво. Методом "светодиодоподмаргивания" нашел место. Выяснилось, что часть обмена проц даже успевает провести, но там длина команд и ответов маленькая, как только строки начинаются длиннее, начинается ерунда.
Перецепил JTAG (USBJTAG MkII) в PDI... Все работает...
Вариантов в голове крутится много, начиная от плохих земель, кончая "уезжанием" скорости UART-а. Но зацепиться пока не знаю за что. Вдруг кто уже сталкивался с похожими приколами? Может что присоветуете?
P.S. По сути не думаю, что там что-то страшное, но состояние слегка близко к панике, ибо железяку бы сегодня надо доделать, а еще и день короткий.
P.P.S. Посылаю строки через DMA UART-а, принимаю побайтово, через прерывания, так как заранее длина приемной посылки не известна достоверно.