Цитата(alux @ Jul 16 2007, 19:25)

Да! Действительно нет внешней подтяжки! Забыл про это. В бутлодере на кнопке PROG нет даже внутренней подтяжки.
Возможно в описании сказано, что предполагается внешняя?
Цитата(alux @ Jul 16 2007, 19:25)

А достаточно ли внутренней подтяжки для бутлодера?
Я бы на это не надеялся.
Цитата(alux @ Jul 16 2007, 19:25)

Можно ли повредить порт микроконтроллера, закорачивая его на землю без подтяжки?
Если он настроен на вывод - можно. И подтяжка при этом совсем не при чем.
Цитата(alux @ Jul 16 2007, 19:25)

По-моему, в оригинальном loader.c содержится ошибка:
Возможно в вашей версии заголовочного файла этот регистр и(или) бит называется иначе. Мне кажется я тоже наталкивался на эту ошибку.
Цитата(alux @ Jul 16 2007, 19:25)

В основной программе WatchDog не используется. А надо ли?
Это уже вам решать. Но если не используете - проверьте фузы, вдруг он включен - тогда его надо сбрасывать, иначе сбросит он.
Цитата(alux @ Jul 16 2007, 19:25)

2 048 bytes of DATA memory (+ 9 absolute ) <<<<
Может в этом проблема?
не вижу тут криминала. Сколько ОЗУ у вашей меге32? 2 К. вот они и заняты. И 9 SFR (указатель стека, SPMCR, PORTA, DDRA и т.д.)
Цитата(alux @ Jul 16 2007, 19:25)

В бутлодере в начале main функции добавил:
PORTA = (1<<PA7); // Pull-Up on the PROG
... Безрезультатно

Ну, телепатически лечить вашу систему вряд ли получится. Добавьте махание ногами в разные места программы - где она пошла на принудительный запуск загрузчика, где она пошла считать контрольную сумму, где сумма совпала и пошел запуск приложения, где сумма не совпала - и таким образом поймите, каким путем пошла программа. Если неожиданным - думайте почему, перемещайте контрольные точки