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