Пытаюсь тут соорудить одну игрушечную железяку (пара кнопок, светодиоды, мелкий матюгальничек) -- наступаю на какие-то невообразимые совершенно грабли. Если коротко: в попытках отладить это барахло дохнет уже четвертый камень (и вторая ревизия платы). Пробовал tiny2313V и мегу8.
Выглядит это так: пишу программу, зашиваю (avreal + byteblaster) -- не работает, или работают только самые примитивные вещи (счет на порту со светодиодами с busy-loop задержкой). Попытка отлаживать это дело (расставить мигания светодиодом в нужных участках программы) приводит к плавающим результатам, а потом где-то на десятой-двадцатой прошивке камень скукоживается, т.е. перестает обнаруживаться avreal'ом совсем. При этом могут происходить всякие странности, вроде мигания светодиодами в момент прошивки (хотя они висят на порту C, а SPI интерфейс на порту

. Мигание происходит не всегда, а только если камню "особенно плохо" (от чего это зависит я так и не понял). Если дать плате отлежаться примерно сутки, функциональность частично восстанавливается, пока опять не прошьешь раз пять, и тогда -- здравствуйте глюки!
Байтбластер -- боевой и проверенный, не один камень с ним зашил, кабели короткие, резисторы где положено, звонов не было. Разве что может его космическими лучами ударило и он заглючил -- посмотрю еще раз сегодня.
Плату -- мыл.
Чип -- не перегревал.
То, что упомянутый выше порт C питается от AVCC -- знаю, питание разведено как положено.
Блокировочные конденсаторы -- есть.
Подтяжка #RST к питанию -- есть.
Верификация прошивки проходит нормально, хотя если дать плате полежать минуты полторы без питания, а потом опять включить -- верификация будет давать ошибки, каждый раз разное число.
Начинаю грешить на чипдип, где камни покупались (покупались в последние три-четыре месяца где-то). Купленная пару лет назад tiny12 так и не нашедшая применения, и валяющаяся на столе в скотских условиях и лапаемая пальцами со статикой шьется и читается тем же бластером на ура (раз двести по-моему уже зашил).
Ах да, еще одно: к глюкам приводит даже не то что попытка зашить чип, а просто попытка раз 10 почитать байтбластером конфигурацию и идентифицировать чип (то, что avreal делает по умолчанию, если не указать иного).
Что еще можно проверить?
Сообщение отредактировал slanted - Jul 15 2008, 10:05