за эту поебень "AT91F_AIC_ConfigureIt ( AT91C_BASE_AIC, AT91C_ID_TC0, TIMER0_INTERRUPT_LEVEL,AT91C_AIC_SRCTYPE_INT_HIGH_LEVEL, timer0_c_irq_handler);" я бы вешал некоторых. Не Вас конечно. Особенно когда оказывается что она работает как ей вздумается от порядка вызова макросов. Макросы - гуд. Но не ТАКИЕ