SYSTEM - System Utils#
System API.
This module contains functions to read information such as RAM and Flash size, device unique ID, chip revision, family, and part number from DEVINFO and SCB blocks. Functions to configure and read status from FPU are available for compatible devices.
Modules#
Enumerations#
Family identifiers.
Floating point co-processor access modes.
Family security capability.
Functions#
Get a chip major/minor revision.
Get a factory calibration value for a given peripheral register.
Get family security capability.
Get the unique number for this device.
Get the production revision for this part.
Get the SRAM Base Address.
Get the SRAM size (in KB).
Get the flash size (in KB).
Get the flash page size in bytes.
Get the MCU part number.
Get the calibration temperature (in degrees Celsius).
Get the MCU family identifier.
Get DEVINFO revision.
Set floating point co-processor (FPU) access mode.
Enumeration Documentation#
SYSTEM_PartFamily_TypeDef#
SYSTEM_PartFamily_TypeDef
Family identifiers.
Enumerator | |
---|---|
systemPartFamilyEfm32Gecko | EFM32 Gecko Device Family. |
systemPartFamilyEfm32Giant | EFM32 Giant Gecko Series 0 Device Family. |
systemPartFamilyEfm32Giant11B | EFM32 Giant Gecko Series 1 Configuration 1 Basic Device Family. |
systemPartFamilyEfm32Giant12B | EFM32 Giant Gecko Series 1 Configuration 2 Basic Device Family. |
systemPartFamilyEfm32Tiny | EFM32 Tiny Gecko Device Family. |
systemPartFamilyEfm32Tiny11B | EFM32 Tiny Gecko 11 Device Family. |
systemPartFamilyEfm32Leopard | EFM32 Leopard Gecko Device Family. |
systemPartFamilyEfm32Wonder | EFM32 Wonder Gecko Device Family. |
systemPartFamilyEfm32Zero | EFM32 Zero Gecko Device Family. |
systemPartFamilyEfm32Happy | EFM32 Happy Gecko Device Family. |
systemPartFamilyEfm32Pearl1B | EFM32 Pearl Gecko Series 1 Configuration 1 Basic Device Family. |
systemPartFamilyEfm32Jade1B | EFM32 Jade Gecko Series 1 Configuration 1 Basic Device Family. |
systemPartFamilyEfm32Pearl12B | EFM32 Pearl Gecko Series 1 Configuration 2 Basic Device Family. |
systemPartFamilyEfm32Jade12B | EFM32 Jade Gecko Series 1 Configuration 2 Basic Device Family. |
systemPartFamilyEzr32Wonder | EZR32 Wonder Device Family. |
systemPartFamilyEzr32Leopard | EZR32 Leopard Device Family. |
systemPartFamilyEzr32Happy | EZR32 Happy Device Family. |
systemPartFamilyMighty1P | EFR32 Mighty Gecko Series 1 Configuration 1 Premium Device Family. |
systemPartFamilyMighty1B | EFR32 Mighty Gecko Series 1 Configuration 1 Basic Device Family. |
systemPartFamilyMighty1V | EFR32 Mighty Gecko Series 1 Configuration 1 Value Device Family. |
systemPartFamilyBlue1P | EFR32 Blue Gecko Series 1 Configuration 1 Premium Device Family. |
systemPartFamilyBlue1B | EFR32 Blue Gecko Series 1 Configuration 1 Basic Device Family. |
systemPartFamilyBlue1V | EFR32 Blue Gecko Series 1 Configuration 1 Value Device Family. |
systemPartFamilyFlex1P | EFR32 Flex Gecko Series 1 Configuration 1 Premium Device Family. |
systemPartFamilyFlex1B | EFR32 Flex Gecko Series 1 Configuration 1 Basic Device Family. |
systemPartFamilyFlex1V | EFR32 Flex Gecko Series 1 Configuration 1 Value Device Family. |
systemPartFamilyMighty12P | EFR32 Mighty Gecko Series 1 Configuration 2 Premium Device Family. |
systemPartFamilyMighty12B | EFR32 Mighty Gecko Series 1 Configuration 2 Basic Device Family. |
systemPartFamilyMighty12V | EFR32 Mighty Gecko Series 1 Configuration 2 Value Device Family. |
systemPartFamilyBlue12P | EFR32 Blue Gecko Series 1 Configuration 2 Premium Device Family. |
systemPartFamilyBlue12B | EFR32 Blue Gecko Series 1 Configuration 2 Basic Device Family. |
systemPartFamilyBlue12V | EFR32 Blue Gecko Series 1 Configuration 2 Value Device Family. |
systemPartFamilyFlex12P | EFR32 Flex Gecko Series 1 Configuration 2 Premium Device Family. |
systemPartFamilyFlex12B | EFR32 Flex Gecko Series 1 Configuration 2 Basic Device Family. |
systemPartFamilyFlex12V | EFR32 Flex Gecko Series 1 Configuration 2 Value Device Family. |
systemPartFamilyMighty13P | EFR32 Mighty Gecko Series 1 Configuration 3 Premium Device Family. |
systemPartFamilyMighty13B | EFR32 Mighty Gecko Series 1 Configuration 3 Basic Device Family. |
systemPartFamilyMighty13V | EFR32 Mighty Gecko Series 1 Configuration 3 Value Device Family. |
systemPartFamilyBlue13P | EFR32 Blue Gecko Series 1 Configuration 3 Premium Device Family. |
systemPartFamilyBlue13B | EFR32 Blue Gecko Series 1 Configuration 3 Basic Device Family. |
systemPartFamilyBlue13V | EFR32 Blue Gecko Series 1 Configuration 3 Value Device Family. |
systemPartFamilyFlex13P | EFR32 Flex Gecko Series 1 Configuration 3 Premium Device Family. |
systemPartFamilyFlex13B | EFR32 Flex Gecko Series 1 Configuration 3 Basic Device Family. |
systemPartFamilyFlex13V | EFR32 Flex Gecko Series 1 Configuration 3 Value Device Family. |
systemPartFamilyZen13P | EFR32 Zen Gecko Series 1 Configuration 3 Premium Device Family. |
systemPartFamilyZen13L | EFR32 Zen Gecko Series 1 Configuration 3 Led Device Family. |
systemPartFamilyZen13S | EFR32 Zen Gecko Series 1 Configuration 3 Sensor Device Family. |
systemPartFamilyMighty14P | EFR32 Mighty Gecko Series 1 Configuration 4 Premium Device Family. |
systemPartFamilyMighty14B | EFR32 Mighty Gecko Series 1 Configuration 4 Basic Device Family. |
systemPartFamilyMighty14V | EFR32 Mighty Gecko Series 1 Configuration 4 Value Device Family. |
systemPartFamilyFlex14P | EFR32 Flex Gecko Series 1 Configuration 4 Premium Device Family. |
systemPartFamilyFlex14B | EFR32 Flex Gecko Series 1 Configuration 4 Basic Device Family. |
systemPartFamilyFlex14V | EFR32 Flex Gecko Series 1 Configuration 4 Value Device Family. |
systemPartFamilyZen14P | EFR32 Zen Gecko Series 1 Configuration 4 Premium Device Family. |
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. |
systemPartFamilyHappy | Happy Gecko Device Family. |
systemPartFamilyUnknown | Unknown Device Family. |
57
of file platform/emlib/inc/em_system.h
SYSTEM_FpuAccess_TypeDef#
SYSTEM_FpuAccess_TypeDef
Floating point co-processor access modes.
Enumerator | |
---|---|
fpuAccessDenied | Access denied, any attempted access generates a NOCP UsageFault. |
fpuAccessPrivilegedOnly | Privileged access only, an unprivileged access generates a NOCP UsageFault. |
fpuAccessReserved | Reserved. |
fpuAccessFull | Full access. |
306
of file platform/emlib/inc/em_system.h
SYSTEM_SecurityCapability_TypeDef#
SYSTEM_SecurityCapability_TypeDef
Family security capability.
Enumerator | |
---|---|
securityCapabilityUnknown | Unknown security capability. |
securityCapabilityNA | Security capability not applicable. |
securityCapabilityBasic | Basic security capability. |
securityCapabilityRoT | Root of Trust security capability. |
securityCapabilitySE | Secure Element security capability. |
securityCapabilityVault | Secure Vault security capability. |
50
of file platform/emlib/inc/em_system_generic.h
Function Documentation#
SYSTEM_ChipRevisionGet#
void SYSTEM_ChipRevisionGet (SYSTEM_ChipRevision_TypeDef * rev)
Get a chip major/minor revision.
[out] | rev | A location to place the chip revision information. |
69
of file platform/emlib/src/em_system.c
SYSTEM_GetCalibrationValue#
bool SYSTEM_GetCalibrationValue (volatile uint32_t * regAddress)
Get a factory calibration value for a given peripheral register.
[in] | regAddress | The peripheral calibration register address to get a calibration value for. If the calibration value is found, this register is updated with the calibration value. |
Returns
True if a calibration value exists, false otherwise.
123
of file platform/emlib/src/em_system.c
SYSTEM_GetSecurityCapability#
SYSTEM_SecurityCapability_TypeDef SYSTEM_GetSecurityCapability (void )
Get family security capability.
N/A |
Note
This function retrieves the family security capability based on the device number. The device number is one letter and 3 digits: DEVICENUMBER = (alpha-'A')*1000 + numeric. i.e. 0d = "A000"; 1123d = "B123". The security capabilities are represented by SYSTEM_SecurityCapability_TypeDef.
Returns
Security capability of MCU.
165
of file platform/emlib/src/em_system.c
SYSTEM_GetUnique#
uint64_t SYSTEM_GetUnique (void )
Get the unique number for this device.
N/A |
Returns
Unique number for this device.
216
of file platform/emlib/src/em_system.c
SYSTEM_GetProdRev#
uint8_t SYSTEM_GetProdRev (void )
Get the production revision for this part.
N/A |
Returns
Production revision for this part.
236
of file platform/emlib/src/em_system.c
SYSTEM_GetSRAMBaseAddress#
uint32_t SYSTEM_GetSRAMBaseAddress (void )
Get the SRAM Base Address.
N/A |
Note
This function is used to retrieve the base address of the SRAM.
Returns
Base address SRAM (32-bit unsigned integer).
259
of file platform/emlib/src/em_system.c
SYSTEM_GetSRAMSize#
uint16_t SYSTEM_GetSRAMSize (void )
Get the SRAM size (in KB).
N/A |
Note
This function retrieves SRAM size by reading the chip device info structure. If your binary is made for one specific device only, use SRAM_SIZE instead.
Returns
Size of internal SRAM (in KB).
276
of file platform/emlib/src/em_system.c
SYSTEM_GetFlashSize#
uint16_t SYSTEM_GetFlashSize (void )
Get the flash size (in KB).
N/A |
Note
This function retrieves flash size by reading the chip device info structure. If your binary is made for one specific device only, use FLASH_SIZE instead.
Returns
Size of internal flash (in KB).
310
of file platform/emlib/src/em_system.c
SYSTEM_GetFlashPageSize#
uint32_t SYSTEM_GetFlashPageSize (void )
Get the flash page size in bytes.
N/A |
Note
This function retrieves flash page size by reading the chip device info structure. If your binary is made for one specific device only, use FLASH_PAGE_SIZE instead.
Returns
Page size of internal flash in bytes.
335
of file platform/emlib/src/em_system.c
SYSTEM_GetPartNumber#
uint16_t SYSTEM_GetPartNumber (void )
Get the MCU part number.
N/A |
Returns
The part number of MCU.
374
of file platform/emlib/src/em_system.c
SYSTEM_GetCalibrationTemperature#
uint8_t SYSTEM_GetCalibrationTemperature (void )
Get the calibration temperature (in degrees Celsius).
N/A |
Returns
Calibration temperature in Celsius.
394
of file platform/emlib/src/em_system.c
SYSTEM_GetFamily#
SYSTEM_PartFamily_TypeDef SYSTEM_GetFamily (void )
Get the MCU family identifier.
N/A |
Note
This function retrieves family ID by reading the chip's device info structure in flash memory. Users can retrieve family ID directly by reading DEVINFO->PART item and decode with mask and shift #defines defined in <part_family>_devinfo.h (refer to code below for details).
Returns
Family identifier of MCU.
421
of file platform/emlib/src/em_system.c
SYSTEM_GetDevinfoRev#
uint8_t SYSTEM_GetDevinfoRev (void )
Get DEVINFO revision.
N/A |
Returns
Revision of the DEVINFO contents.
329
of file platform/emlib/inc/em_system.h
SYSTEM_FpuAccessModeSet#
void SYSTEM_FpuAccessModeSet (SYSTEM_FpuAccess_TypeDef accessMode)
Set floating point co-processor (FPU) access mode.
[in] | accessMode | Floating point co-processor access mode. See SYSTEM_FpuAccess_TypeDef for details. |
350
of file platform/emlib/inc/em_system.h