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.

******* THE REST OF THE FILE IS DOCUMENTATION ONLY !************************

******** THE REST OF THE FILE IS DOCUMENTATION ONLY !***********************

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.