ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Среда
27 ноября
119698
ReAl (04.05.2008 14:17, просмотров: 7548)
Как обычно, две новости. Плохая - AVRDragon не может связаться с устройством, если там прошит внутренний генератор на 128кГц и заодно фьюз CKDIV8 Само собой, это не случайно было :-), что-что, а немецкую пилораму сломать - это ж как развлечение. У меня в запасе ещё кварц 32768 с тем же CKDIV8=0 был :-) Более подробно граничную частоту выяснять не стал, обломило. Теперь хорошая новость - это всё вообще делалось в рамках давно обещанного "посмотреть, как блокировать DebugWire без дракона" и оказалось, что оно не просто, а очень просто. Сам отладочный протокол - кто его знает (и выяснять не собираюсь, дракон дешевле грибов), но именно блокировка DW до выключения питания, т.е. то, что делает дракон с ключиком -W - на раз. Хотя и встроить в avreal это не выйдет, там времена ловить нужно точно. После снятия сброса после некоторой задержки контроллер выстреливает в "UART-формате" синхробайт 0x55. Все времена - задержка и длительность бита - зависят от тактовой контроллера, от где-то 5 микросекунд до десятков милисекунд. В ответ контроллеру надо послать байт 0х06 и всё. Я нацарапал на ATtiny13 блокировалку DebugWire (только это, дальше надо снять платку и подключить обычный программатор), которая должна работать в диапазоне тактирования контроллера где-то от 25МГц до 20кГц/8, проверил пока только на нескольких частотах от 8 до 128/8, платка с часовым кварцем на работе валяется. Но вот решил ещё на всякий случай добавить сюда же генератор тактового сигнала для XTAL где-то на 400-600кГц, мало ли кто в какой комбинации фьюзы зашить догадается :-) На следующих выходных поковыряюсь, тогда уж выложу прошивку.