Цитата(sensor_ua @ Jul 21 2007, 13:30)

Для начала обвешай по питанию керамикой и танталами. Можешь фильтр врезать между ИП и местом его подключения. Кстати, а что такое "настоящий импульсник"?
"Настоящий" я имел ввиду тот, который будет устанавливаться на серийные девайсы, AIMTEC AMEL05
Цитата(GetSmart @ Jul 21 2007, 13:35)

По симптомам похоже на BOD или RESET. Или конденсаторы по питанию неудачно расположены.
Однако если запрет прерываний влияет, то возможно возникает какое-то непредвиденное прерывание с нулевым вектором.
1. Какой проц?
2. Программу со всеми инициализациями контроллера прерываний не покажете?
проц AT91SAM7X256
Цитата(Сергей Борщ @ Jul 21 2007, 14:05)

ЧуднО! Вообще-то по этим адресам должны лежать вектора исключений. Неудивительно, что при возникновении прерывания вместо кода по вектору irq процессор обнаруживает мусор. Вот вам для примера .xcl и .mac для работы из ОЗУ (правда для S64, доработаете по вкусу).
Попробуйте неиспользуемые вектора контроллера прерываний направить на функцию-заглушку. Попадание в нее укажет, что разрешено какое-то прерывание без обработчика. Заглушка на векторе FIQ не помешает.
Насчет емкостей тоже согласен - неплохо было бы глянуть схему и главное - разводку.
Здравствуйте, Сергей

Дело в том, что я отлаживаюсь из ОЗУ, т.е. все вектора начинаются с адреса 0х200000, после remap'а
вот инициализация AIC:
Код
AT91F_AIC_ConfigureIt(AT91C_BASE_AIC,
AT91C_ID_US0,
5,
AT91C_AIC_SRCTYPE_HIGH_LEVEL,
(void(*)())ISR_Keyboard);
AT91F_AIC_EnableIt(AT91C_BASE_AIC,AT91C_ID_US0);
...
AT91F_AIC_ConfigureIt(AT91C_BASE_AIC,
AT91C_ID_TC0,
4,
AT91C_AIC_SRCTYPE_INT_HIGH_LEVEL,
(void(*)())ISR_Timer0);
AT91F_AIC_EnableIt(AT91C_BASE_AIC,AT91C_ID_TC0);
...
AT91F_AIC_ConfigureIt(AT91C_BASE_AIC,
AT91C_ID_TC1,
6,
AT91C_AIC_SRCTYPE_INT_HIGH_LEVEL,
(void(*)())ISR_Timer1);
AT91F_AIC_EnableIt(AT91C_BASE_AIC,AT91C_ID_TC1);
AT91C_BASE_AIC->AIC_FFER=(1<<AT91C_ID_TC1);
...
AT91F_AIC_CfgPMC();
AT91F_AIC_CfgPIO();
AT91C_BASE_AIC->AIC_SMR[AT91C_ID_FIQ]=AT91C_AIC_SRCTYPE_POSITIVE_EDGE;
AT91F_AIC_EnableIt(AT91C_BASE_AIC,AT91C_ID_FIQ);