]> git.sur5r.net Git - freertos/blob - FreeRTOS/Demo/CORTEX_MPU_M33F_NXP_LPC55S69_MCUXpresso/NXP_Code/device/system_LPC55S69_cm33_core0.h
a462c9d3bbf18c58930abaa45f65726da2baa8e5
[freertos] / FreeRTOS / Demo / CORTEX_MPU_M33F_NXP_LPC55S69_MCUXpresso / NXP_Code / device / system_LPC55S69_cm33_core0.h
1 /*\r
2 ** ###################################################################\r
3 **     Processors:          LPC55S69JBD100_cm33_core0\r
4 **                          LPC55S69JET98_cm33_core0\r
5 **\r
6 **     Compilers:           GNU C Compiler\r
7 **                          IAR ANSI C/C++ Compiler for ARM\r
8 **                          Keil ARM C/C++ Compiler\r
9 **                          MCUXpresso Compiler\r
10 **\r
11 **     Reference manual:    LPC55xx/LPC55Sxx User manual Rev.0.4  25 Sep 2018\r
12 **     Version:             rev. 1.0, 2018-08-22\r
13 **     Build:               b181219\r
14 **\r
15 **     Abstract:\r
16 **         Provides a system configuration function and a global variable that\r
17 **         contains the system frequency. It configures the device and initializes\r
18 **         the oscillator (PLL) that is part of the microcontroller device.\r
19 **\r
20 **     Copyright 2016 Freescale Semiconductor, Inc.\r
21 **     Copyright 2016-2018 NXP\r
22 **     All rights reserved.\r
23 **\r
24 **     SPDX-License-Identifier: BSD-3-Clause\r
25 **\r
26 **     http:                 www.nxp.com\r
27 **     mail:                 support@nxp.com\r
28 **\r
29 **     Revisions:\r
30 **     - rev. 1.0 (2018-08-22)\r
31 **         Initial version based on v0.2UM\r
32 **\r
33 ** ###################################################################\r
34 */\r
35 \r
36 /*!\r
37  * @file LPC55S69_cm33_core0\r
38  * @version 1.0\r
39  * @date 2018-08-22\r
40  * @brief Device specific configuration file for LPC55S69_cm33_core0 (header\r
41  *        file)\r
42  *\r
43  * Provides a system configuration function and a global variable that contains\r
44  * the system frequency. It configures the device and initializes the oscillator\r
45  * (PLL) that is part of the microcontroller device.\r
46  */\r
47 \r
48 #ifndef _SYSTEM_LPC55S69_cm33_core0_H_\r
49 #define _SYSTEM_LPC55S69_cm33_core0_H_           /**< Symbol preventing repeated inclusion */\r
50 \r
51 #ifdef __cplusplus\r
52 extern "C" {\r
53 #endif\r
54 \r
55 #include <stdint.h>\r
56 \r
57 #define DEFAULT_SYSTEM_CLOCK           12000000u           /* Default System clock value */\r
58 #define CLK_RTC_32K_CLK                   32768u           /* RTC oscillator 32 kHz output (32k_clk */\r
59 #define CLK_FRO_12MHZ                  12000000u           /* FRO 12 MHz (fro_12m) */\r
60 #define CLK_FRO_48MHZ                  48000000u           /* FRO 48 MHz (fro_48m) */\r
61 #define CLK_FRO_96MHZ                  96000000u           /* FRO 96 MHz (fro_96m) */\r
62 #define CLK_CLK_IN                     16000000u           /* Default CLK_IN pin clock */\r
63 \r
64 \r
65 /**\r
66  * @brief System clock frequency (core clock)\r
67  *\r
68  * The system clock frequency supplied to the SysTick timer and the processor\r
69  * core clock. This variable can be used by the user application to setup the\r
70  * SysTick timer or configure other parameters. It may also be used by debugger to\r
71  * query the frequency of the debug timer or configure the trace clock speed\r
72  * SystemCoreClock is initialized with a correct predefined value.\r
73  */\r
74 extern uint32_t SystemCoreClock;\r
75 \r
76 /**\r
77  * @brief Setup the microcontroller system.\r
78  *\r
79  * Typically this function configures the oscillator (PLL) that is part of the\r
80  * microcontroller device. For systems with variable clock speed it also updates\r
81  * the variable SystemCoreClock. SystemInit is called from startup_device file.\r
82  */\r
83 void SystemInit (void);\r
84 \r
85 /**\r
86  * @brief Updates the SystemCoreClock variable.\r
87  *\r
88  * It must be called whenever the core clock is changed during program\r
89  * execution. SystemCoreClockUpdate() evaluates the clock register settings and calculates\r
90  * the current core clock.\r
91  */\r
92 void SystemCoreClockUpdate (void);\r
93 \r
94 /**\r
95  * @brief SystemInit function hook.\r
96  *\r
97  * This weak function allows to call specific initialization code during the\r
98  * SystemInit() execution.This can be used when an application specific code needs\r
99  * to be called as close to the reset entry as possible (for example the Multicore\r
100  * Manager MCMGR_EarlyInit() function call).\r
101  * NOTE: No global r/w variables can be used in this hook function because the\r
102  * initialization of these variables happens after this function.\r
103  */\r
104 void SystemInitHook (void);\r
105 \r
106 #ifdef __cplusplus\r
107 }\r
108 #endif\r
109 \r
110 #endif  /* _SYSTEM_LPC55S69_cm33_core0_H_ */\r