aic.h 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. /**
  2. * \file
  3. *
  4. * \section Purpose
  5. *
  6. * Methods and definitions for configuring interrupts.
  7. *
  8. * \section Usage
  9. * -# Enable or disable interrupt generation of a particular source with
  10. * IRQ_EnableIT and IRQ_DisableIT.
  11. * -# Start or stop the timer clock using TC_Start() and TC_Stop().
  12. */
  13. #ifndef AIC_H
  14. #define AIC_H
  15. /*------------------------------------------------------------------------------
  16. * Headers
  17. *------------------------------------------------------------------------------*/
  18. #include <stdint.h>
  19. /*------------------------------------------------------------------------------
  20. * Global functions
  21. *------------------------------------------------------------------------------*/
  22. #ifdef __cplusplus
  23. extern "C" {
  24. #endif
  25. typedef void (*ISRFunction_t)( void *param );
  26. extern void AIC_Initialize(void);
  27. extern void AIC_EnableIT( uint32_t source);
  28. extern void AIC_DisableIT(uint32_t source);
  29. extern int32_t request_irq(uint32_t irq_source, int32_t priority, ISRFunction_t func, void *param);
  30. extern int32_t free_irq(uint32_t irq_source);
  31. extern void AIC_IrqHandler(void);
  32. #ifdef __cplusplus
  33. }
  34. #endif
  35. #endif //#ifndef AIC_H