ea6d73f140
1. Upgrade Cortex driver library (CMSIS -> CMSIS & Device): version 2.3.2 -> 3.0.1 & 3.0.0 - Remove "bsp/efm32/Libraries/CMSIS/Lib/ARM", "bsp/efm32/Libraries/CMSIS/Lib/G++" and "bsp/efm32/Libraries/CMSIS/SVD" to save space 2. Upgrade EFM32 driver libraries (efm32lib -> emlib): version 2.3.2 -> 3.0.0 - Remove "bsp/efm32/Libraries/Device/EnergyMicro/EFM32LG" and "bsp/efm32/Libraries/Device/EnergyMicro/EFM32TG" to save space 3. Upgrade EFM32GG_DK3750 development kit driver library: version 1.2.2 -> 2.0.1 4. Upgrade EFM32_Gxxx_DK development kit driver library: version 1.7.3 -> 2.0.1 5. Add energy management unit driver and test code 6. Modify linker script and related code to compatible with new version of libraries 7. Change EFM32 branch version number to 1.0 8. Add photo frame demo application git-svn-id: https://rt-thread.googlecode.com/svn/trunk@2122 bbd45198-f89e-11dd-88c7-29a3b14d5316
64 lines
2.2 KiB
C
64 lines
2.2 KiB
C
/***************************************************************************//**
|
|
* @file hdl_interrupt.h
|
|
* @brief Interrupt handler of RT-Thread RTOS for EFM32
|
|
* COPYRIGHT (C) 2012, RT-Thread Development Team
|
|
* @author onelife
|
|
* @version 1.0
|
|
*******************************************************************************
|
|
* @section License
|
|
* The license and distribution terms for this file may be found in the file
|
|
* LICENSE in this distribution or at http://www.rt-thread.org/license/LICENSE
|
|
*******************************************************************************
|
|
* @section Change Logs
|
|
* Date Author Notes
|
|
* 2010-12-29 onelife Initial creation for EFM32
|
|
* 2011-12-09 onelife Add LEUART module support
|
|
******************************************************************************/
|
|
#ifndef __HDL_INTERRUPT_H__
|
|
#define __HDL_INTERRUPT_H__
|
|
|
|
/* Includes ------------------------------------------------------------------*/
|
|
/* Exported types ------------------------------------------------------------*/
|
|
enum efm32_irq_hook_type_t
|
|
{
|
|
efm32_irq_type_dma = 0,
|
|
efm32_irq_type_rtc,
|
|
efm32_irq_type_timer,
|
|
efm32_irq_type_letimer,
|
|
efm32_irq_type_gpio,
|
|
efm32_irq_type_acmp,
|
|
efm32_irq_type_usart,
|
|
efm32_irq_type_leuart,
|
|
efm32_irq_type_iic
|
|
};
|
|
|
|
typedef void (*efm32_irq_callback_t)(rt_device_t device);
|
|
|
|
typedef struct
|
|
{
|
|
enum efm32_irq_hook_type_t type;
|
|
rt_uint8_t unit;
|
|
efm32_irq_callback_t cbFunc;
|
|
void *userPtr;
|
|
} efm32_irq_hook_init_t;
|
|
|
|
typedef struct
|
|
{
|
|
efm32_irq_callback_t cbFunc;
|
|
void *userPtr;
|
|
} efm32_irq_hook_t;
|
|
|
|
/* Exported constants --------------------------------------------------------*/
|
|
/* Exported macro ------------------------------------------------------------*/
|
|
/* Exported functions ------------------------------------------------------- */
|
|
//void NMI_Handler(void);
|
|
//void MemManage_Handler(void);
|
|
//void BusFault_Handler(void);
|
|
//void UsageFault_Handler(void);
|
|
//void SVC_Handler(void);
|
|
//void DebugMon_Handler(void);
|
|
void DMA_IRQHandler_All(rt_uint32_t channel, rt_bool_t primary, void *user);
|
|
void efm32_irq_hook_register(efm32_irq_hook_init_t *hook);
|
|
|
|
#endif /* __HDL_INTERRUPT_H__ */
|