Я бы хотел ускорить работу контроллера с помощью режима эмуляции быстрого прерывания Fast Forcing, так как работа контроллера заключается в непрерывной обработке 4 прерываний. Вот пример настройки одного из прерываний - прерывание от порта PIO:
Код
void Receiver_ini()
{
unsigned int REC_MASK = 0x780;
AT91C_BASE_AIC->AIC_SVR[AT91C_ID_PIOA] = (unsigned int)irq_Receive;
AT91C_BASE_AIC->AIC_SMR[AT91C_ID_PIOA] = AT91C_AIC_SRCTYPE_INT_HIGH_LEVEL | PORT_INTERRUPT_LEVEL;
//AT91C_BASE_AIC->AIC_FFER = (0x1 << AT91C_ID_PIOA); // FAST
AT91C_BASE_AIC->AIC_IECR = (0x1 << AT91C_ID_PIOA);
AT91C_BASE_SYS->PIOA_IER = REC_MASK;
}
Строку включения режима Fast forcing я закомментил, так как в противном случае девайс вообще отказывается определяться ПК. Как правильно настроить режим Fast forcing для всех прерываний?