//delay in us void cpu_delay_us(unsigned int delay, unsigned int clock_freq) { unsigned int delay_cycles = delay*clock_freq/1000000; __builtin_mtsr(AVR32_COUNT, 0); while (__builtin_mfsr(AVR32_COUNT) < delay_cycles) ; }
void aery_intc_init(void) { __builtin_mtsr(AVR32_EVBA, (int32_t) &_evba); for (int i = 0; i < 20; i++) { AVR32_INTC.ipr[i] = _ipr[i]; } }
void INTC_Init(void) { for (uint8_t InterruptGroup = 0; InterruptGroup < AVR32_INTC_NUM_INT_GRPS; InterruptGroup++) { InterruptHandlers[InterruptGroup] = Unhandled_Interrupt; AVR32_INTC.ipr[InterruptGroup] = Autovector_Table[AVR32_INTC_INT0]; } __builtin_mtsr(AVR32_EVBA, (uintptr_t)&EVBA_Table); }
void aery_intc_disable_globally(void) { __builtin_mtsr(AVR32_SR, __builtin_mfsr(AVR32_SR) | (1 << 16)); }