Цитата(_dem @ May 15 2008, 17:56)

Добрый день.
Имеется AT91SAM7S256.
- работает от внешнего клока (16 Мгц на XIN), ядро на 47 Мгц
- из периферии задействованы USART и SPI
- включен WD на прерывание (не на Reset - errata)
Из сотни процессоров под тестовой нагрузкой (с перезапусками) в течение примерно часа один-два "пропадает" - с ним теряет связь SPI Master. Анализ показывает, что процессор не стартует.
Подключаем Segger JTAG, сливаем прошивку - она байт-в-байт с зашиваемой.
Заливаем прошивку (с помощью J-Flash ARM) - не помогает.
Заливаем прошивку из IAR - иногда процессор запускается.
Заливаем прошивку еще раз из J-Flash - все в порядке.
После этого goto _begin.
Сейчас провожу детальный разбор полетов - стартует ли проц вообще, до какого этапа доходит работа, etc.
Удивляет само поведение - только заливка из IAR помогает решить проблему.
Не проверять же, в конце концов, GPNVM биты в фоновой задаче на самом процессоре ?
Может, кто сталкивался с подобной проблемой ?
ps. Иногда бывает, что после "полежал на стойке" процессор запускается.
На что грешить - питание/клоки/прошивка ?
У нас была точь-в точь схожая проблема с AVRmega128, оказалось через некоторое время, что в определённой ревизии чипа проявилась ошибка, связанная c поcледовательностью начального инита регистров (какие-то из регистров надо было обязательно инитить в определённом порядке). После обращения в Атмел, диагностики проблемы и выпуска ERRATA, все проблемы были решены.
Так что ищите в ерратах, и обязательно обратите внимание на startup код.