SYSTEM
[EM_Library]

System Peripheral API. More...

Collaboration diagram for SYSTEM:

Data Structures

struct  SYSTEM_ChipRevision_TypeDef

Enumerations

enum  SYSTEM_PartFamily_TypeDef {
  systemPartFamilyGecko = _DEVINFO_PART_DEVICE_FAMILY_G,
  systemPartFamilyGiant = _DEVINFO_PART_DEVICE_FAMILY_GG,
  systemPartFamilyTiny = _DEVINFO_PART_DEVICE_FAMILY_TG,
  systemPartFamilyLeopard = _DEVINFO_PART_DEVICE_FAMILY_LG,
  systemPartFamilyWonder = _DEVINFO_PART_DEVICE_FAMILY_WG,
  systemPartFamilyZero = _DEVINFO_PART_DEVICE_FAMILY_ZG,
  systemPartFamilyUnknown = 0xFF
}

Functions

void SYSTEM_ChipRevisionGet (SYSTEM_ChipRevision_TypeDef *rev)
 Get chip major/minor revision.
uint32_t SYSTEM_GetCalibrationValue (volatile uint32_t *regAddress)
 Get factory calibration value for a given peripheral register.
__STATIC_INLINE uint64_t SYSTEM_GetUnique (void)
 Get the unique number for this part.
__STATIC_INLINE uint8_t SYSTEM_GetProdRev (void)
 Get the production revision for this part.
__STATIC_INLINE uint16_t SYSTEM_GetSRAMSize (void)
 Get the SRAM size (in KB).
__STATIC_INLINE uint16_t SYSTEM_GetFlashSize (void)
 Get the flash size (in KB).
__STATIC_INLINE uint32_t SYSTEM_GetFlashPageSize (void)
 Get the flash page size in bytes.
__STATIC_INLINE uint16_t SYSTEM_GetPartNumber (void)
 Get part number of the MCU.
__STATIC_INLINE
SYSTEM_PartFamily_TypeDef 
SYSTEM_GetFamily (void)
 Get family identifier of the MCU.
__STATIC_INLINE uint8_t SYSTEM_GetCalibrationTemperature (void)
 Get the calibration temperature (in degrees Celsius).

Detailed Description

System Peripheral API.


Enumeration Type Documentation

EFM32 part family identifiers.

Enumerator:
systemPartFamilyGecko 

Gecko Device Family

systemPartFamilyGiant 

Giant Gecko Device Family

systemPartFamilyTiny 

Tiny Gecko Device Family

systemPartFamilyLeopard 

Leopard Gecko Device Family

systemPartFamilyWonder 

Wonder Gecko Device Family

systemPartFamilyZero 

Zero Gecko Device Family

systemPartFamilyUnknown 

Unknown Device Family. The family id is missing on unprogrammed parts.

Definition at line 59 of file em_system.h.


Function Documentation

void SYSTEM_ChipRevisionGet ( SYSTEM_ChipRevision_TypeDef rev  ) 

Get chip major/minor revision.

Parameters:
[out] rev Location to place chip revision info.

Definition at line 59 of file em_system.c.

References SYSTEM_ChipRevision_TypeDef::family, SYSTEM_ChipRevision_TypeDef::major, and SYSTEM_ChipRevision_TypeDef::minor.

Referenced by CHIP_Init().

Here is the caller graph for this function:

__STATIC_INLINE uint8_t SYSTEM_GetCalibrationTemperature ( void   ) 

Get the calibration temperature (in degrees Celsius).

Returns:
The calibration temperature in Celsius.

Definition at line 264 of file em_system.h.

uint32_t SYSTEM_GetCalibrationValue ( volatile uint32_t *  regAddress  ) 

Get factory calibration value for a given peripheral register.

Parameters:
[in] regAddress Address of register to get a calibration value for.
Returns:
Calibration value for the requested register.

Definition at line 91 of file em_system.c.

Referenced by OPAMP_Enable().

Here is the caller graph for this function:

__STATIC_INLINE SYSTEM_PartFamily_TypeDef SYSTEM_GetFamily ( void   ) 

Get family identifier of the MCU.

Note:
This function retrievs the family id by reading the chip's device info structure in flash memory. The user can retrieve the family id directly by reading the DEVINFO->PART item and decode with the mask and shift #defines defined in <part_family>_devinfo.h (please refer to code below for details).
Returns:
The family identifier of the MCU.

Definition at line 250 of file em_system.h.

__STATIC_INLINE uint32_t SYSTEM_GetFlashPageSize ( void   ) 

Get the flash page size in bytes.

Note:
This function retrievs the correct value by reading the chip device info structure. If your binary is made for one specific device only, the #define FLASH_PAGE_SIZE can be used instead.
Returns:
The page size of the internal flash in bytes.

Definition at line 208 of file em_system.h.

References SYSTEM_GetProdRev().

Here is the call graph for this function:

__STATIC_INLINE uint16_t SYSTEM_GetFlashSize ( void   ) 

Get the flash size (in KB).

Note:
This function retrievs the correct value by reading the chip device info structure. If your binary is made for one specific device only, the #define FLASH_SIZE can be used instead.
Returns:
The size of the internal flash (in KB).

Definition at line 181 of file em_system.h.

References SYSTEM_GetProdRev().

Here is the call graph for this function:

__STATIC_INLINE uint16_t SYSTEM_GetPartNumber ( void   ) 

Get part number of the MCU.

Returns:
The part number of the MCU.

Definition at line 230 of file em_system.h.

__STATIC_INLINE uint8_t SYSTEM_GetProdRev ( void   ) 

Get the production revision for this part.

Returns:
Production revision for this part.

Definition at line 137 of file em_system.h.

Referenced by SYSTEM_GetFlashPageSize(), SYSTEM_GetFlashSize(), and SYSTEM_GetSRAMSize().

Here is the caller graph for this function:

__STATIC_INLINE uint16_t SYSTEM_GetSRAMSize ( void   ) 

Get the SRAM size (in KB).

Note:
This function retrievs the correct value by reading the chip device info structure. If your binary is made for one specific device only, the #define SRAM_SIZE can be used instead.
Returns:
The size of the internal SRAM (in KB).

Definition at line 155 of file em_system.h.

References SYSTEM_GetProdRev().

Here is the call graph for this function:

__STATIC_INLINE uint64_t SYSTEM_GetUnique ( void   ) 

Get the unique number for this part.

Returns:
Unique number for this part.

Definition at line 125 of file em_system.h.