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:
Wed Feb 20 20:53:29 2019 +0000
Revision:
172:65be27845400
Parent:
171:3a7713b1edbc
mbed library release version 165

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Anna Bridge 142:4eea097334d6 1 /***************************************************************************//**
Anna Bridge 142:4eea097334d6 2 * @file system_efr32mg12p.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 WDOG1_IRQHandler(void);
Anna Bridge 142:4eea097334d6 68 void FRC_IRQHandler(void);
Anna Bridge 142:4eea097334d6 69 void MODEM_IRQHandler(void);
Anna Bridge 142:4eea097334d6 70 void RAC_SEQ_IRQHandler(void);
Anna Bridge 142:4eea097334d6 71 void RAC_RSM_IRQHandler(void);
Anna Bridge 142:4eea097334d6 72 void BUFC_IRQHandler(void);
Anna Bridge 142:4eea097334d6 73 void LDMA_IRQHandler(void);
Anna Bridge 142:4eea097334d6 74 void GPIO_EVEN_IRQHandler(void);
Anna Bridge 142:4eea097334d6 75 void TIMER0_IRQHandler(void);
Anna Bridge 142:4eea097334d6 76 void USART0_RX_IRQHandler(void);
Anna Bridge 142:4eea097334d6 77 void USART0_TX_IRQHandler(void);
Anna Bridge 142:4eea097334d6 78 void ACMP0_IRQHandler(void);
Anna Bridge 142:4eea097334d6 79 void ADC0_IRQHandler(void);
Anna Bridge 142:4eea097334d6 80 void IDAC0_IRQHandler(void);
Anna Bridge 142:4eea097334d6 81 void I2C0_IRQHandler(void);
Anna Bridge 142:4eea097334d6 82 void GPIO_ODD_IRQHandler(void);
Anna Bridge 142:4eea097334d6 83 void TIMER1_IRQHandler(void);
Anna Bridge 142:4eea097334d6 84 void USART1_RX_IRQHandler(void);
Anna Bridge 142:4eea097334d6 85 void USART1_TX_IRQHandler(void);
Anna Bridge 142:4eea097334d6 86 void LEUART0_IRQHandler(void);
Anna Bridge 142:4eea097334d6 87 void PCNT0_IRQHandler(void);
Anna Bridge 142:4eea097334d6 88 void CMU_IRQHandler(void);
Anna Bridge 142:4eea097334d6 89 void MSC_IRQHandler(void);
Anna Bridge 142:4eea097334d6 90 void CRYPTO0_IRQHandler(void);
Anna Bridge 142:4eea097334d6 91 void LETIMER0_IRQHandler(void);
Anna Bridge 142:4eea097334d6 92 void AGC_IRQHandler(void);
Anna Bridge 142:4eea097334d6 93 void PROTIMER_IRQHandler(void);
Anna Bridge 142:4eea097334d6 94 void RTCC_IRQHandler(void);
Anna Bridge 142:4eea097334d6 95 void SYNTH_IRQHandler(void);
Anna Bridge 142:4eea097334d6 96 void CRYOTIMER_IRQHandler(void);
Anna Bridge 142:4eea097334d6 97 void RFSENSE_IRQHandler(void);
Anna Bridge 142:4eea097334d6 98 void FPUEH_IRQHandler(void);
Anna Bridge 142:4eea097334d6 99 void SMU_IRQHandler(void);
Anna Bridge 142:4eea097334d6 100 void WTIMER0_IRQHandler(void);
Anna Bridge 142:4eea097334d6 101 void WTIMER1_IRQHandler(void);
Anna Bridge 142:4eea097334d6 102 void PCNT1_IRQHandler(void);
Anna Bridge 142:4eea097334d6 103 void PCNT2_IRQHandler(void);
Anna Bridge 142:4eea097334d6 104 void USART2_RX_IRQHandler(void);
Anna Bridge 142:4eea097334d6 105 void USART2_TX_IRQHandler(void);
Anna Bridge 142:4eea097334d6 106 void I2C1_IRQHandler(void);
Anna Bridge 142:4eea097334d6 107 void USART3_RX_IRQHandler(void);
Anna Bridge 142:4eea097334d6 108 void USART3_TX_IRQHandler(void);
Anna Bridge 142:4eea097334d6 109 void VDAC0_IRQHandler(void);
Anna Bridge 142:4eea097334d6 110 void CSEN_IRQHandler(void);
Anna Bridge 142:4eea097334d6 111 void LESENSE_IRQHandler(void);
Anna Bridge 142:4eea097334d6 112 void CRYPTO1_IRQHandler(void);
Anna Bridge 142:4eea097334d6 113 void TRNG0_IRQHandler(void);
Anna Bridge 142:4eea097334d6 114 void SYSCFG_IRQHandler(void);
Anna Bridge 142:4eea097334d6 115
Anna Bridge 142:4eea097334d6 116 uint32_t SystemCoreClockGet(void);
Anna Bridge 142:4eea097334d6 117
Anna Bridge 142:4eea097334d6 118 /**************************************************************************//**
Anna Bridge 142:4eea097334d6 119 * @brief
Anna Bridge 142:4eea097334d6 120 * Update CMSIS SystemCoreClock variable.
Anna Bridge 142:4eea097334d6 121 *
Anna Bridge 142:4eea097334d6 122 * @details
Anna Bridge 142:4eea097334d6 123 * CMSIS defines a global variable SystemCoreClock that shall hold the
Anna Bridge 142:4eea097334d6 124 * core frequency in Hz. If the core frequency is dynamically changed, the
Anna Bridge 142:4eea097334d6 125 * variable must be kept updated in order to be CMSIS compliant.
Anna Bridge 142:4eea097334d6 126 *
Anna Bridge 142:4eea097334d6 127 * Notice that only if changing the core clock frequency through the EFR CMU
Anna Bridge 142:4eea097334d6 128 * API, this variable will be kept updated. This function is only provided
Anna Bridge 142:4eea097334d6 129 * for CMSIS compliance and if a user modifies the the core clock outside
Anna Bridge 142:4eea097334d6 130 * the CMU API.
Anna Bridge 142:4eea097334d6 131 *****************************************************************************/
Anna Bridge 142:4eea097334d6 132 static __INLINE void SystemCoreClockUpdate(void)
Anna Bridge 142:4eea097334d6 133 {
Anna Bridge 142:4eea097334d6 134 SystemCoreClockGet();
Anna Bridge 142:4eea097334d6 135 }
Anna Bridge 142:4eea097334d6 136
Anna Bridge 142:4eea097334d6 137 uint32_t SystemMaxCoreClockGet(void);
Anna Bridge 142:4eea097334d6 138
Anna Bridge 142:4eea097334d6 139 void SystemInit(void);
Anna Bridge 142:4eea097334d6 140 uint32_t SystemHFClockGet(void);
Anna Bridge 142:4eea097334d6 141
Anna Bridge 142:4eea097334d6 142 uint32_t SystemHFXOClockGet(void);
Anna Bridge 142:4eea097334d6 143 void SystemHFXOClockSet(uint32_t freq);
Anna Bridge 142:4eea097334d6 144
Anna Bridge 142:4eea097334d6 145 uint32_t SystemLFRCOClockGet(void);
Anna Bridge 142:4eea097334d6 146 uint32_t SystemULFRCOClockGet(void);
Anna Bridge 142:4eea097334d6 147
Anna Bridge 142:4eea097334d6 148 uint32_t SystemLFXOClockGet(void);
Anna Bridge 142:4eea097334d6 149 void SystemLFXOClockSet(uint32_t freq);
Anna Bridge 142:4eea097334d6 150
Anna Bridge 142:4eea097334d6 151 #ifdef __cplusplus
Anna Bridge 142:4eea097334d6 152 }
Anna Bridge 142:4eea097334d6 153 #endif
Anna Bridge 142:4eea097334d6 154 #endif /* SYSTEM_EFR32_H */