EMDRV

Detailed Description

Gecko Platform driver library.

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

Typedef Documentation

typedef uint32_t Ecode_t

Typedef for API function error code return values.

Bit 24-31: Component, for example EMDRV
Bit 16-23: Module, for example UARTDRV or RTCDRV
Bit 0-15: Error code

Definition at line 55 of file ecode.h.