Первый раз делаю проект на Атмеге64. столкнулся с рядом проблем:
1) не удалось поднять программирование по SPI. подключил правильно (MOSI и MISO к выводам PE0 и PE1), микросхему интерфейса от этих дорожек оторвал, фьюз-бит джитагом переключал, но все равно шлет сигнатуру FF FF FF FF. JTAG ICEmkII подцепляется нормально,считывапет сигнатуру, программирует фьюзы и память.
2) Программы, зашитые с помощью JTAG не работают. клок есть, питание есть, но жизни в контроллере нет. В симуляторе идет нормально, но когда я пытаюсь запустить отладку через JTAG-программатор, в дизассемблере видно, что курсор зависает на строке с адресом 0х00007FFF (последний адрес памяти; как я понял, он туда переходит, если встречает какую-либо недопустимую команду) и JTAG переводит контроллер в sleep-mode.. Кроме того, сравнив дизассемблер для симулятора и для эмуляции с JTAG, видно, что у них различаются первые строки (по адресу 0х000000000). Для симулятора там прописан просто переход (JMP), а для эмулятора - команда STD Y+54,R1. Как и почему изменилась эта строка? Если считать через JTAG содержимое флеш-памяти, то строка совпадает с той, что видна в симуляторе. При отключенном JTAGе программы тоже не запускаются.
Программа - простейшая (мигаю пинами), то есть ошибок там нет.
Может кто-нибкдь сталкивался с подобными вещами?
Все, вопрос снимается. Проблема была в выводе PEN. я его подтянул к земле, и ничего не работало. сейчас подтяжку убрал и все заработало. Почему это произошло, я не понял, но заработало.