EMDRV
Detailed Description
energyAware drivers
EMDRV is a set of function specific high performance drivers for EFM32, EZR32 and EFR32 on-chip peripherals. Drivers are typically DMA based and are using all available low-energy features. For most drivers, the API offers both synchronous and asynchronous functions. The APIs are fully reentrant and callback based.
Most drivers are compile-time configurable to allow the highest possible code size optimization for the application. Compile-time configuration is defined in *_config.h files. Templates for the configuration files can be found in emdrv\<driver>\config.
- Note
- 
       EMDRV APIs use
       
        Ecode_t
       
       to return status.
       
 
 With the exception of ezradiodrv, EMDRV does not implement RF support. Please refer to stack documentation for more information.
| Modules | |
| DMADRV | |
| DMADRV Direct Memory Access Driver. | |
| EZRADIODRV | |
| EZR32 EzRadio Peripheral Interface Driver. | |
| GPIOINT | |
| GPIOINT General Purpose Input/Output Interrupt dispatcher. | |
| NVM | |
| (DEPRECATED) NVM Non-volatile Memory Wear-Leveling Driver | |
| NVM3 | |
| NVM3 Non-Volatile Memory Management driver. | |
| RTCDRV | |
| Real-time Clock Driver. | |
| SLEEP | |
| Sleep management driver. | |
| SPIDRV | |
| SPIDRV Serial Peripheral Interface Driver. | |
| TEMPDRV | |
| TEMPDRV Temperature Sensor Driver. | |
| UARTDRV | |
| UARTDRV Universal Asynchronous Receiver/Transmitter Driver. | |
| USTIMER | |
| USTIMER Microsecond Delay Timer Driver. | |
| Macros | |
| #define | ECODE_EMDRV_BASE (0xF0000000U) | 
| Base value for all EMDRV errorcodes. | |
| #define | ECODE_EMDRV_DMADRV_BASE ( ECODE_EMDRV_BASE | 0x00008000U) | 
| Base value for DMADRV error codes. | |
| #define | ECODE_EMDRV_EZRADIODRV_BASE ( ECODE_EMDRV_BASE | 0x00009000U) | 
| Base value for EZRADIODRV error codes. | |
| #define | ECODE_EMDRV_NVM3_BASE ( ECODE_EMDRV_BASE | 0x0000E000U) | 
| Base value for NVM3 error codes. | |
| #define | ECODE_EMDRV_NVM_BASE ( ECODE_EMDRV_BASE | 0x00003000U) | 
| Base value for NVM error codes. | |
| #define | ECODE_EMDRV_RTCDRV_BASE ( ECODE_EMDRV_BASE | 0x00001000U) | 
| Base value for RTCDRV error codes. | |
| #define | ECODE_EMDRV_SPIDRV_BASE ( ECODE_EMDRV_BASE | 0x00002000U) | 
| Base value for SPIDRV error codes. | |
| #define | ECODE_EMDRV_TEMPDRV_BASE ( ECODE_EMDRV_BASE | 0x0000D000U) | 
| Base value for TEMPDRV error codes. | |
| #define | ECODE_EMDRV_UARTDRV_BASE ( ECODE_EMDRV_BASE | 0x00007000U) | 
| Base value for UARTDRV error codes. | |
| #define | ECODE_EMDRV_USTIMER_BASE ( ECODE_EMDRV_BASE | 0x00004000U) | 
| Base value for USTIMER error codes. | |
| #define | ECODE_OK (0U) | 
| Generic success return value. | |
| Typedefs | |
| typedef uint32_t | Ecode_t | 
| Typedef for API function error code return values. | |