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.
          | 
       |