The official Mbed 2 C/C++ SDK provides the software platform and libraries to build your applications.

Dependents:   hello SerialTestv11 SerialTestv12 Sierpinski ... more

mbed 2

This is the mbed 2 library. If you'd like to learn about Mbed OS please see the mbed-os docs.

Committer:
AnnaBridge
Date:
Thu Nov 08 11:45:42 2018 +0000
Revision:
171:3a7713b1edbc
Parent:
TARGET_TB_SENSE_1/TARGET_Silicon_Labs/TARGET_EFM32/TARGET_EFR32MG1/device/system_efr32mg1p.h@142:4eea097334d6
mbed library. Release version 164

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Anna Bridge 142:4eea097334d6 1 /***************************************************************************//**
Anna Bridge 142:4eea097334d6 2 * @file system_efr32mg1p.h
Anna Bridge 142:4eea097334d6 3 * @brief CMSIS Cortex-M3/M4 System Layer for EFR32 devices.
Anna Bridge 142:4eea097334d6 4 * @version 5.1.2
Anna Bridge 142:4eea097334d6 5 ******************************************************************************
Anna Bridge 142:4eea097334d6 6 * @section License
Anna Bridge 142:4eea097334d6 7 * <b>Copyright 2017 Silicon Laboratories, Inc. http://www.silabs.com</b>
Anna Bridge 142:4eea097334d6 8 ******************************************************************************
Anna Bridge 142:4eea097334d6 9 *
Anna Bridge 142:4eea097334d6 10 * Permission is granted to anyone to use this software for any purpose,
Anna Bridge 142:4eea097334d6 11 * including commercial applications, and to alter it and redistribute it
Anna Bridge 142:4eea097334d6 12 * freely, subject to the following restrictions:
Anna Bridge 142:4eea097334d6 13 *
Anna Bridge 142:4eea097334d6 14 * 1. The origin of this software must not be misrepresented; you must not
Anna Bridge 142:4eea097334d6 15 * claim that you wrote the original software.@n
Anna Bridge 142:4eea097334d6 16 * 2. Altered source versions must be plainly marked as such, and must not be
Anna Bridge 142:4eea097334d6 17 * misrepresented as being the original software.@n
Anna Bridge 142:4eea097334d6 18 * 3. This notice may not be removed or altered from any source distribution.
Anna Bridge 142:4eea097334d6 19 *
Anna Bridge 142:4eea097334d6 20 * DISCLAIMER OF WARRANTY/LIMITATION OF REMEDIES: Silicon Laboratories, Inc.
Anna Bridge 142:4eea097334d6 21 * has no obligation to support this Software. Silicon Laboratories, Inc. is
Anna Bridge 142:4eea097334d6 22 * providing the Software "AS IS", with no express or implied warranties of any
Anna Bridge 142:4eea097334d6 23 * kind, including, but not limited to, any implied warranties of
Anna Bridge 142:4eea097334d6 24 * merchantability or fitness for any particular purpose or warranties against
Anna Bridge 142:4eea097334d6 25 * infringement of any proprietary rights of a third party.
Anna Bridge 142:4eea097334d6 26 *
Anna Bridge 142:4eea097334d6 27 * Silicon Laboratories, Inc. will not be liable for any consequential,
Anna Bridge 142:4eea097334d6 28 * incidental, or special damages, or any other relief, or for any claim by
Anna Bridge 142:4eea097334d6 29 * any third party, arising from your use of this Software.
Anna Bridge 142:4eea097334d6 30 *
Anna Bridge 142:4eea097334d6 31 *****************************************************************************/
Anna Bridge 142:4eea097334d6 32
Anna Bridge 142:4eea097334d6 33 #ifndef SYSTEM_EFR32_H
Anna Bridge 142:4eea097334d6 34 #define SYSTEM_EFR32_H
Anna Bridge 142:4eea097334d6 35
Anna Bridge 142:4eea097334d6 36 #ifdef __cplusplus
Anna Bridge 142:4eea097334d6 37 extern "C" {
Anna Bridge 142:4eea097334d6 38 #endif
Anna Bridge 142:4eea097334d6 39
Anna Bridge 142:4eea097334d6 40 #include <stdint.h>
Anna Bridge 142:4eea097334d6 41
Anna Bridge 142:4eea097334d6 42 /*******************************************************************************
Anna Bridge 142:4eea097334d6 43 ************************** GLOBAL VARIABLES *******************************
Anna Bridge 142:4eea097334d6 44 ******************************************************************************/
Anna Bridge 142:4eea097334d6 45
Anna Bridge 142:4eea097334d6 46 extern uint32_t SystemCoreClock; /**< System Clock Frequency (Core Clock) */
Anna Bridge 142:4eea097334d6 47 extern uint32_t SystemHfrcoFreq; /**< System HFRCO frequency */
Anna Bridge 142:4eea097334d6 48
Anna Bridge 142:4eea097334d6 49 /*******************************************************************************
Anna Bridge 142:4eea097334d6 50 ***************************** PROTOTYPES **********************************
Anna Bridge 142:4eea097334d6 51 ******************************************************************************/
Anna Bridge 142:4eea097334d6 52
Anna Bridge 142:4eea097334d6 53 void Reset_Handler(void);
Anna Bridge 142:4eea097334d6 54 void NMI_Handler(void);
Anna Bridge 142:4eea097334d6 55 void HardFault_Handler(void);
Anna Bridge 142:4eea097334d6 56 void MemManage_Handler(void);
Anna Bridge 142:4eea097334d6 57 void BusFault_Handler(void);
Anna Bridge 142:4eea097334d6 58 void UsageFault_Handler(void);
Anna Bridge 142:4eea097334d6 59 void SVC_Handler(void);
Anna Bridge 142:4eea097334d6 60 void DebugMon_Handler(void);
Anna Bridge 142:4eea097334d6 61 void PendSV_Handler(void);
Anna Bridge 142:4eea097334d6 62 void SysTick_Handler(void);
Anna Bridge 142:4eea097334d6 63
Anna Bridge 142:4eea097334d6 64 void EMU_IRQHandler(void);
Anna Bridge 142:4eea097334d6 65 void FRC_PRI_IRQHandler(void);
Anna Bridge 142:4eea097334d6 66 void WDOG0_IRQHandler(void);
Anna Bridge 142:4eea097334d6 67 void FRC_IRQHandler(void);
Anna Bridge 142:4eea097334d6 68 void MODEM_IRQHandler(void);
Anna Bridge 142:4eea097334d6 69 void RAC_SEQ_IRQHandler(void);
Anna Bridge 142:4eea097334d6 70 void RAC_RSM_IRQHandler(void);
Anna Bridge 142:4eea097334d6 71 void BUFC_IRQHandler(void);
Anna Bridge 142:4eea097334d6 72 void LDMA_IRQHandler(void);
Anna Bridge 142:4eea097334d6 73 void GPIO_EVEN_IRQHandler(void);
Anna Bridge 142:4eea097334d6 74 void TIMER0_IRQHandler(void);
Anna Bridge 142:4eea097334d6 75 void USART0_RX_IRQHandler(void);
Anna Bridge 142:4eea097334d6 76 void USART0_TX_IRQHandler(void);
Anna Bridge 142:4eea097334d6 77 void ACMP0_IRQHandler(void);
Anna Bridge 142:4eea097334d6 78 void ADC0_IRQHandler(void);
Anna Bridge 142:4eea097334d6 79 void IDAC0_IRQHandler(void);
Anna Bridge 142:4eea097334d6 80 void I2C0_IRQHandler(void);
Anna Bridge 142:4eea097334d6 81 void GPIO_ODD_IRQHandler(void);
Anna Bridge 142:4eea097334d6 82 void TIMER1_IRQHandler(void);
Anna Bridge 142:4eea097334d6 83 void USART1_RX_IRQHandler(void);
Anna Bridge 142:4eea097334d6 84 void USART1_TX_IRQHandler(void);
Anna Bridge 142:4eea097334d6 85 void LEUART0_IRQHandler(void);
Anna Bridge 142:4eea097334d6 86 void PCNT0_IRQHandler(void);
Anna Bridge 142:4eea097334d6 87 void CMU_IRQHandler(void);
Anna Bridge 142:4eea097334d6 88 void MSC_IRQHandler(void);
Anna Bridge 142:4eea097334d6 89 void CRYPTO_IRQHandler(void);
Anna Bridge 142:4eea097334d6 90 void LETIMER0_IRQHandler(void);
Anna Bridge 142:4eea097334d6 91 void AGC_IRQHandler(void);
Anna Bridge 142:4eea097334d6 92 void PROTIMER_IRQHandler(void);
Anna Bridge 142:4eea097334d6 93 void RTCC_IRQHandler(void);
Anna Bridge 142:4eea097334d6 94 void SYNTH_IRQHandler(void);
Anna Bridge 142:4eea097334d6 95 void CRYOTIMER_IRQHandler(void);
Anna Bridge 142:4eea097334d6 96 void RFSENSE_IRQHandler(void);
Anna Bridge 142:4eea097334d6 97
Anna Bridge 142:4eea097334d6 98 #if (__FPU_PRESENT == 1)
Anna Bridge 142:4eea097334d6 99 void FPUEH_IRQHandler(void);
Anna Bridge 142:4eea097334d6 100 #endif
Anna Bridge 142:4eea097334d6 101
Anna Bridge 142:4eea097334d6 102 uint32_t SystemCoreClockGet(void);
Anna Bridge 142:4eea097334d6 103
Anna Bridge 142:4eea097334d6 104 /**************************************************************************//**
Anna Bridge 142:4eea097334d6 105 * @brief
Anna Bridge 142:4eea097334d6 106 * Update CMSIS SystemCoreClock variable.
Anna Bridge 142:4eea097334d6 107 *
Anna Bridge 142:4eea097334d6 108 * @details
Anna Bridge 142:4eea097334d6 109 * CMSIS defines a global variable SystemCoreClock that shall hold the
Anna Bridge 142:4eea097334d6 110 * core frequency in Hz. If the core frequency is dynamically changed, the
Anna Bridge 142:4eea097334d6 111 * variable must be kept updated in order to be CMSIS compliant.
Anna Bridge 142:4eea097334d6 112 *
Anna Bridge 142:4eea097334d6 113 * Notice that only if changing the core clock frequency through the EFR CMU
Anna Bridge 142:4eea097334d6 114 * API, this variable will be kept updated. This function is only provided
Anna Bridge 142:4eea097334d6 115 * for CMSIS compliance and if a user modifies the the core clock outside
Anna Bridge 142:4eea097334d6 116 * the CMU API.
Anna Bridge 142:4eea097334d6 117 *****************************************************************************/
Anna Bridge 142:4eea097334d6 118 static __INLINE void SystemCoreClockUpdate(void)
Anna Bridge 142:4eea097334d6 119 {
Anna Bridge 142:4eea097334d6 120 SystemCoreClockGet();
Anna Bridge 142:4eea097334d6 121 }
Anna Bridge 142:4eea097334d6 122
Anna Bridge 142:4eea097334d6 123 uint32_t SystemMaxCoreClockGet(void);
Anna Bridge 142:4eea097334d6 124
Anna Bridge 142:4eea097334d6 125 void SystemInit(void);
Anna Bridge 142:4eea097334d6 126 uint32_t SystemHFClockGet(void);
Anna Bridge 142:4eea097334d6 127
Anna Bridge 142:4eea097334d6 128 uint32_t SystemHFXOClockGet(void);
Anna Bridge 142:4eea097334d6 129 void SystemHFXOClockSet(uint32_t freq);
Anna Bridge 142:4eea097334d6 130
Anna Bridge 142:4eea097334d6 131 uint32_t SystemLFRCOClockGet(void);
Anna Bridge 142:4eea097334d6 132 uint32_t SystemULFRCOClockGet(void);
Anna Bridge 142:4eea097334d6 133
Anna Bridge 142:4eea097334d6 134 uint32_t SystemLFXOClockGet(void);
Anna Bridge 142:4eea097334d6 135 void SystemLFXOClockSet(uint32_t freq);
Anna Bridge 142:4eea097334d6 136
Anna Bridge 142:4eea097334d6 137 #ifdef __cplusplus
Anna Bridge 142:4eea097334d6 138 }
Anna Bridge 142:4eea097334d6 139 #endif
Anna Bridge 142:4eea097334d6 140 #endif /* SYSTEM_EFR32_H */