EFM32 Wonder Gecko Software Documentation
efm32wg-doc-5.1.2
|
CMSIS Cortex-M4 System Layer for EFM32WG devices.
Copyright 2017 Silicon Laboratories, Inc. http://www.silabs.com
Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions:
DISCLAIMER OF WARRANTY/LIMITATION OF REMEDIES: Silicon Laboratories, Inc. has no obligation to support this Software. Silicon Laboratories, Inc. is providing the Software "AS IS", with no express or implied warranties of any kind, including, but not limited to, any implied warranties of merchantability or fitness for any particular purpose or warranties against infringement of any proprietary rights of a third party.
Silicon Laboratories, Inc. will not be liable for any consequential, incidental, or special damages, or any other relief, or for any claim by any third party, arising from your use of this Software.
Definition in file system_efm32wg.c.
Go to the source code of this file.
Macros | |
#define | EFM32_HFRCO_MAX_FREQ (28000000UL) |
#define | EFM32_HFXO_FREQ (48000000UL) |
#define | EFM32_LFRCO_FREQ (32768UL) |
#define | EFM32_LFXO_FREQ (EFM32_LFRCO_FREQ) |
#define | EFM32_ULFRCO_FREQ (1000UL) |
Functions | |
__STATIC_INLINE uint8_t | GetProdRev (void) |
uint32_t | SystemCoreClockGet (void) |
Get the current core clock frequency. More... | |
uint32_t | SystemHFClockGet (void) |
Get the current HFCLK frequency. More... | |
uint32_t | SystemHFXOClockGet (void) |
Get high frequency crystal oscillator clock frequency for target system. More... | |
void | SystemHFXOClockSet (uint32_t freq) |
Set high frequency crystal oscillator clock frequency for target system. More... | |
void | SystemInit (void) |
Initialize the system. More... | |
uint32_t | SystemLFRCOClockGet (void) |
Get low frequency RC oscillator clock frequency for target system. More... | |
uint32_t | SystemLFXOClockGet (void) |
Get low frequency crystal oscillator clock frequency for target system. More... | |
void | SystemLFXOClockSet (uint32_t freq) |
Set low frequency crystal oscillator clock frequency for target system. More... | |
uint32_t | SystemMaxCoreClockGet (void) |
Get the maximum core clock frequency. More... | |
uint32_t | SystemULFRCOClockGet (void) |
Get ultra low frequency RC oscillator clock frequency for target system. More... | |
Variables | |
uint32_t | SystemCoreClock |
System System Clock Frequency (Core Clock). More... | |
#define EFM32_LFRCO_FREQ (32768UL) |
LFRCO frequency, tuned to below frequency during manufacturing.
Definition at line 41 of file system_efm32wg.c.
Referenced by SystemHFClockGet(), and SystemLFRCOClockGet().
#define EFM32_LFXO_FREQ (EFM32_LFRCO_FREQ) |
(DO_NOT_INCLUDE_WITH_DOXYGEN)
Definition at line 71 of file system_efm32wg.c.
__STATIC_INLINE uint8_t GetProdRev | ( | void | ) |
(DO_NOT_INCLUDE_WITH_DOXYGEN)
Definition at line 83 of file system_efm32wg.c.
References _DEVINFO_PART_PROD_REV_MASK, _DEVINFO_PART_PROD_REV_SHIFT, and DEVINFO.
Referenced by SystemHFClockGet().
uint32_t SystemCoreClockGet | ( | void | ) |
Get the current core clock frequency.
Calculate and get the current core clock frequency based on the current configuration. Assuming that the SystemCoreClock global variable is maintained, the core clock frequency is stored in that variable as well. This function will however calculate the core clock based on actual HW configuration. It will also update the SystemCoreClock global variable.
Definition at line 123 of file system_efm32wg.c.
References _CMU_HFCORECLKDIV_HFCORECLKDIV_MASK, _CMU_HFCORECLKDIV_HFCORECLKDIV_SHIFT, CMU, SystemCoreClock, and SystemHFClockGet().
Referenced by CMU_ClockDivSet(), CMU_ClockFreqGet(), CMU_ClockSelectSet(), CMU_HFRCOBandSet(), MSC_Init(), SystemCoreClockUpdate(), SystemHFXOClockSet(), SystemLFXOClockSet(), TFT_AddressMappedInit(), and TFT_DirectInit().
uint32_t SystemHFClockGet | ( | void | ) |
Get the current HFCLK frequency.
Definition at line 165 of file system_efm32wg.c.
References _CMU_CTRL_HFCLKDIV_MASK, _CMU_CTRL_HFCLKDIV_SHIFT, _CMU_HFRCOCTRL_BAND_MASK, CMU, CMU_HFRCOCTRL_BAND_11MHZ, CMU_HFRCOCTRL_BAND_14MHZ, CMU_HFRCOCTRL_BAND_1MHZ, CMU_HFRCOCTRL_BAND_21MHZ, CMU_HFRCOCTRL_BAND_28MHZ, CMU_HFRCOCTRL_BAND_7MHZ, CMU_STATUS_HFRCOSEL, CMU_STATUS_HFXOSEL, CMU_STATUS_LFRCOSEL, CMU_STATUS_LFXOSEL, EFM32_LFRCO_FREQ, and GetProdRev().
Referenced by CMU_ClockDivSet(), CMU_ClockFreqGet(), and SystemCoreClockGet().
uint32_t SystemHFXOClockGet | ( | void | ) |
Get high frequency crystal oscillator clock frequency for target system.
Definition at line 251 of file system_efm32wg.c.
Referenced by CMU_ClockSelectSet().
void SystemHFXOClockSet | ( | uint32_t | freq | ) |
Set high frequency crystal oscillator clock frequency for target system.
[in] | freq | HFXO frequency in Hz used for target. |
Definition at line 277 of file system_efm32wg.c.
References CMU, CMU_STATUS_HFXOSEL, and SystemCoreClockGet().
void SystemInit | ( | void | ) |
Initialize the system.
Do required generic HW system init.
Definition at line 307 of file system_efm32wg.c.
uint32_t SystemLFRCOClockGet | ( | void | ) |
Get low frequency RC oscillator clock frequency for target system.
Definition at line 327 of file system_efm32wg.c.
References EFM32_LFRCO_FREQ.
Referenced by BURTC_ClockFreqGet().
uint32_t SystemLFXOClockGet | ( | void | ) |
Get low frequency crystal oscillator clock frequency for target system.
Definition at line 363 of file system_efm32wg.c.
Referenced by BURTC_ClockFreqGet(), and UARTDRV_InitLeuart().
void SystemLFXOClockSet | ( | uint32_t | freq | ) |
Set low frequency crystal oscillator clock frequency for target system.
[in] | freq | LFXO frequency in Hz used for target. |
Definition at line 389 of file system_efm32wg.c.
References CMU, CMU_STATUS_LFXOSEL, and SystemCoreClockGet().
uint32_t SystemMaxCoreClockGet | ( | void | ) |
Get the maximum core clock frequency.
Definition at line 148 of file system_efm32wg.c.
uint32_t SystemULFRCOClockGet | ( | void | ) |
Get ultra low frequency RC oscillator clock frequency for target system.
Definition at line 346 of file system_efm32wg.c.
Referenced by BURTC_ClockFreqGet().
uint32_t SystemCoreClock |
System System Clock Frequency (Core Clock).
Required CMSIS global variable that must be kept up-to-date.
Definition at line 100 of file system_efm32wg.c.
Referenced by SystemCoreClockGet().