Стандартный startup(IAR)при инициализации добавляет к каждому обработчику прерывания код сбрасывающий признау прерывания. Похожее на такой код. AT91C_BASE_AIC->AIC_EOICR = 0; А мне нужно было дописать/переделать программу в которой переделан startup и нужно было в каждом обработчике добавлять этот код. Часа два убил пока нашел различие в startup.