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
mbed library. Release version 164

Who changed what in which revision?

UserRevisionLine numberNew contents of line
AnnaBridge 171:3a7713b1edbc 1 /***************************************************************************//**
AnnaBridge 171:3a7713b1edbc 2 * @file system_efm32lg.h
AnnaBridge 171:3a7713b1edbc 3 * @brief CMSIS Cortex-M3 System Layer for EFM32LG 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_EFM32LG_H
AnnaBridge 171:3a7713b1edbc 34 #define SYSTEM_EFM32LG_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
AnnaBridge 171:3a7713b1edbc 48 /*******************************************************************************
AnnaBridge 171:3a7713b1edbc 49 ***************************** PROTOTYPES **********************************
AnnaBridge 171:3a7713b1edbc 50 ******************************************************************************/
AnnaBridge 171:3a7713b1edbc 51
AnnaBridge 171:3a7713b1edbc 52 /* Interrupt routines - prototypes */
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 DMA_IRQHandler(void);
AnnaBridge 171:3a7713b1edbc 65 void GPIO_EVEN_IRQHandler(void);
AnnaBridge 171:3a7713b1edbc 66 void TIMER0_IRQHandler(void);
AnnaBridge 171:3a7713b1edbc 67 void USART0_RX_IRQHandler(void);
AnnaBridge 171:3a7713b1edbc 68 void USART0_TX_IRQHandler(void);
AnnaBridge 171:3a7713b1edbc 69 void USB_IRQHandler(void);
AnnaBridge 171:3a7713b1edbc 70 void ACMP0_IRQHandler(void);
AnnaBridge 171:3a7713b1edbc 71 void ADC0_IRQHandler(void);
AnnaBridge 171:3a7713b1edbc 72 void DAC0_IRQHandler(void);
AnnaBridge 171:3a7713b1edbc 73 void I2C0_IRQHandler(void);
AnnaBridge 171:3a7713b1edbc 74 void I2C1_IRQHandler(void);
AnnaBridge 171:3a7713b1edbc 75 void GPIO_ODD_IRQHandler(void);
AnnaBridge 171:3a7713b1edbc 76 void TIMER1_IRQHandler(void);
AnnaBridge 171:3a7713b1edbc 77 void TIMER2_IRQHandler(void);
AnnaBridge 171:3a7713b1edbc 78 void TIMER3_IRQHandler(void);
AnnaBridge 171:3a7713b1edbc 79 void USART1_RX_IRQHandler(void);
AnnaBridge 171:3a7713b1edbc 80 void USART1_TX_IRQHandler(void);
AnnaBridge 171:3a7713b1edbc 81 void LESENSE_IRQHandler(void);
AnnaBridge 171:3a7713b1edbc 82 void USART2_RX_IRQHandler(void);
AnnaBridge 171:3a7713b1edbc 83 void USART2_TX_IRQHandler(void);
AnnaBridge 171:3a7713b1edbc 84 void UART0_RX_IRQHandler(void);
AnnaBridge 171:3a7713b1edbc 85 void UART0_TX_IRQHandler(void);
AnnaBridge 171:3a7713b1edbc 86 void UART1_RX_IRQHandler(void);
AnnaBridge 171:3a7713b1edbc 87 void UART1_TX_IRQHandler(void);
AnnaBridge 171:3a7713b1edbc 88 void LEUART0_IRQHandler(void);
AnnaBridge 171:3a7713b1edbc 89 void LEUART1_IRQHandler(void);
AnnaBridge 171:3a7713b1edbc 90 void LETIMER0_IRQHandler(void);
AnnaBridge 171:3a7713b1edbc 91 void PCNT0_IRQHandler(void);
AnnaBridge 171:3a7713b1edbc 92 void PCNT1_IRQHandler(void);
AnnaBridge 171:3a7713b1edbc 93 void PCNT2_IRQHandler(void);
AnnaBridge 171:3a7713b1edbc 94 void RTC_IRQHandler(void);
AnnaBridge 171:3a7713b1edbc 95 void BURTC_IRQHandler(void);
AnnaBridge 171:3a7713b1edbc 96 void CMU_IRQHandler(void);
AnnaBridge 171:3a7713b1edbc 97 void VCMP_IRQHandler(void);
AnnaBridge 171:3a7713b1edbc 98 void LCD_IRQHandler(void);
AnnaBridge 171:3a7713b1edbc 99 void MSC_IRQHandler(void);
AnnaBridge 171:3a7713b1edbc 100 void AES_IRQHandler(void);
AnnaBridge 171:3a7713b1edbc 101 void EBI_IRQHandler(void);
AnnaBridge 171:3a7713b1edbc 102 void EMU_IRQHandler(void);
AnnaBridge 171:3a7713b1edbc 103
AnnaBridge 171:3a7713b1edbc 104 uint32_t SystemCoreClockGet(void);
AnnaBridge 171:3a7713b1edbc 105 uint32_t SystemMaxCoreClockGet(void);
AnnaBridge 171:3a7713b1edbc 106
AnnaBridge 171:3a7713b1edbc 107 /**************************************************************************//**
AnnaBridge 171:3a7713b1edbc 108 * @brief
AnnaBridge 171:3a7713b1edbc 109 * Update CMSIS SystemCoreClock variable.
AnnaBridge 171:3a7713b1edbc 110 *
AnnaBridge 171:3a7713b1edbc 111 * @details
AnnaBridge 171:3a7713b1edbc 112 * CMSIS defines a global variable SystemCoreClock that shall hold the
AnnaBridge 171:3a7713b1edbc 113 * core frequency in Hz. If the core frequency is dynamically changed, the
AnnaBridge 171:3a7713b1edbc 114 * variable must be kept updated in order to be CMSIS compliant.
AnnaBridge 171:3a7713b1edbc 115 *
AnnaBridge 171:3a7713b1edbc 116 * Notice that if only changing core clock frequency through the EFM32 CMU
AnnaBridge 171:3a7713b1edbc 117 * API, this variable will be kept updated. This function is only provided
AnnaBridge 171:3a7713b1edbc 118 * for CMSIS compliance and if a user modifies the the core clock outside
AnnaBridge 171:3a7713b1edbc 119 * the CMU API.
AnnaBridge 171:3a7713b1edbc 120 *****************************************************************************/
AnnaBridge 171:3a7713b1edbc 121 static __INLINE void SystemCoreClockUpdate(void)
AnnaBridge 171:3a7713b1edbc 122 {
AnnaBridge 171:3a7713b1edbc 123 SystemCoreClockGet();
AnnaBridge 171:3a7713b1edbc 124 }
AnnaBridge 171:3a7713b1edbc 125
AnnaBridge 171:3a7713b1edbc 126 void SystemInit(void);
AnnaBridge 171:3a7713b1edbc 127 uint32_t SystemHFClockGet(void);
AnnaBridge 171:3a7713b1edbc 128 uint32_t SystemHFXOClockGet(void);
AnnaBridge 171:3a7713b1edbc 129 void SystemHFXOClockSet(uint32_t freq);
AnnaBridge 171:3a7713b1edbc 130 uint32_t SystemLFRCOClockGet(void);
AnnaBridge 171:3a7713b1edbc 131 uint32_t SystemULFRCOClockGet(void);
AnnaBridge 171:3a7713b1edbc 132 uint32_t SystemLFXOClockGet(void);
AnnaBridge 171:3a7713b1edbc 133 void SystemLFXOClockSet(uint32_t freq);
AnnaBridge 171:3a7713b1edbc 134
AnnaBridge 171:3a7713b1edbc 135 #ifdef __cplusplus
AnnaBridge 171:3a7713b1edbc 136 }
AnnaBridge 171:3a7713b1edbc 137 #endif
AnnaBridge 171:3a7713b1edbc 138 #endif /* SYSTEM_EFM32LG_H */