Цитата(KAlex @ Aug 8 2007, 11:15)

Может я чего не учел, или это баг?
Мммм.... это не баг. Попробую пояснить. Перед программированием IAR формирует аппаратный ресет. После этого начинает работать зашитая вами программа во флеш и одновременно (а может чуть позже) через JTAG начинается перехват управления и остановка исполнения программы. К моменту перехвата ваша программа успевает выполнить некоторое количество операций и, возможно, включить watchdog (который после этого переинициализировать невозможно и скрипт c-spy не сможет его остановить). Если вы его настраивали с WDDBGHLT, то во время ожидания в точках останова собака будет спать и не мешать отладке. Но процесс прошивки представляет из себя исполнение процессором некоей программы из ОЗУ, с которой IAR общается через JTAG (тот самый загрузчик, который iar/config/flashloader/atmel). И во время исполнения этого кода собака успевает сработать. Мне приходят в голову следующие решения:
- поставить в вашу программу перед инициализацией собаки задержку, чтобы IAR успевал перехватить управление до инициализации собаки.
- перекомпилировать загрузчик, вставив в него периодический сброс собаки. Но для этого потребуется полная версия IAR (или взять от 4.20, которая есть на местном FTP, со всеми глюками которые они могли к последней версии исправить).