Kinetis Bootloader
2.0.0
Common bootloader for Kinetis devices
Introduction
Related Pages
Modules
system_MK82F25615.h
1
/*
2
** ###################################################################
3
** Processors: MK82FN256CAx15
4
** MK82FN256VDC15
5
** MK82FN256VLL15
6
** MK82FN256VLQ15
7
**
8
** Compilers: Keil ARM C/C++ Compiler
9
** Freescale C/C++ for Embedded ARM
10
** GNU C Compiler
11
** GNU C Compiler - CodeSourcery Sourcery G++
12
** IAR ANSI C/C++ Compiler for ARM
13
**
14
** Reference manual: K82P121M150SF5RM, Rev. 0, May 2015
15
** Version: rev. 1.1, 2015-05-28
16
** Build: b150626
17
**
18
** Abstract:
19
** Provides a system configuration function and a global variable that
20
** contains the system frequency. It configures the device and initializes
21
** the oscillator (PLL) that is part of the microcontroller device.
22
**
23
** Copyright (c) 2015 Freescale Semiconductor, Inc.
24
** All rights reserved.
25
**
26
** Redistribution and use in source and binary forms, with or without modification,
27
** are permitted provided that the following conditions are met:
28
**
29
** o Redistributions of source code must retain the above copyright notice, this list
30
** of conditions and the following disclaimer.
31
**
32
** o Redistributions in binary form must reproduce the above copyright notice, this
33
** list of conditions and the following disclaimer in the documentation and/or
34
** other materials provided with the distribution.
35
**
36
** o Neither the name of Freescale Semiconductor, Inc. nor the names of its
37
** contributors may be used to endorse or promote products derived from this
38
** software without specific prior written permission.
39
**
40
** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
41
** ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
42
** WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
43
** DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
44
** ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
45
** (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
46
** LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
47
** ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
48
** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
49
** SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
50
**
51
** http: www.freescale.com
52
** mail: support@freescale.com
53
**
54
** Revisions:
55
** - rev. 1.0 (2015-04-09)
56
** Initial version
57
** - rev. 1.1 (2015-05-28)
58
** Update according to the reference manual Rev. 0.
59
**
60
** ###################################################################
61
*/
62
74
#ifndef _SYSTEM_MK82F25615_H_
75
#define _SYSTEM_MK82F25615_H_
77
#ifdef __cplusplus
78
extern
"C"
{
79
#endif
80
81
#include <stdint.h>
82
83
#ifndef DISABLE_WDOG
84
#define DISABLE_WDOG 1
85
#endif
86
87
/* MCG mode constants */
88
89
#define MCG_MODE_FEI 0U
90
#define MCG_MODE_FBI 1U
91
#define MCG_MODE_BLPI 2U
92
#define MCG_MODE_FEE 3U
93
#define MCG_MODE_FBE 4U
94
#define MCG_MODE_BLPE 5U
95
#define MCG_MODE_PBE 6U
96
#define MCG_MODE_PEE 7U
97
98
/* Predefined clock setups
99
0 ... Default part configuration
100
Multipurpose Clock Generator (MCG) in FEI mode.
101
Reference clock source for MCG module: Slow internal reference clock
102
Core clock = 20.97152MHz
103
Bus clock = 20.97152MHz
104
1 ... Maximal speed configuration
105
Multipurpose Clock Generator (MCG) in PEE mode.
106
Reference clock source for MCG module: System oscillator 0 reference clock
107
Core clock = 150MHz
108
Bus clock = 75MHz
109
2 ... Chip internally clocked, ready for Very Low Power Run mode.
110
Multipurpose Clock Generator (MCG) in BLPI mode.
111
Reference clock source for MCG module: Fast internal reference clock
112
Core clock = 4MHz
113
Bus clock = 4MHz
114
3 ... Chip externally clocked, ready for Very Low Power Run mode.
115
Multipurpose Clock Generator (MCG) in BLPE mode.
116
Reference clock source for MCG module: System oscillator 0 reference clock
117
Core clock = 4MHz
118
Bus clock = 4MHz
119
4 ... USB clock setup.
120
Multipurpose Clock Generator (MCG) in PEE mode.
121
Reference clock source for MCG module: System oscillator 0 reference clock
122
Core clock = 144MHz
123
Bus clock = 72MHz
124
5 ... Maximum achievable clock frequency configuration in RUN mode.
125
Multipurpose Clock Generator (MCG) in PEE mode.
126
Reference clock source for MCG module: System oscillator 0 reference clock
127
Core clock = 120MHz
128
Bus clock = 60MHz
129
*/
130
131
/* Define clock source values */
132
133
#define CPU_XTAL_CLK_HZ \
134
12000000U
/* Value of the external crystal or oscillator clock frequency of the system oscillator (OSC) in Hz */
135
#define CPU_XTAL32k_CLK_HZ \
136
32768U
/* Value of the external 32k crystal or oscillator clock frequency of the RTC in Hz \ \
137
*/
138
#define CPU_INT_SLOW_CLK_HZ 32768U
/* Value of the slow internal oscillator clock frequency in Hz */
139
#define CPU_INT_FAST_CLK_HZ 4000000U
/* Value of the fast internal oscillator clock frequency in Hz */
140
#define CPU_INT_IRC_CLK_HZ 48000000U
/* Value of the 48M internal oscillator clock frequency in Hz */
141
142
/* RTC oscillator setting */
143
/* RTC_CR: SC2P=0,SC4P=0,SC8P=0,SC16P=0,CLKO=1,OSCE=1,WPS=0,UM=0,SUP=0,WPE=0,SWR=0 */
144
#define SYSTEM_RTC_CR_VALUE 0x0300U
/* RTC_CR */
145
146
/* Low power mode enable */
147
/* SMC_PMPROT: AHSRUN=1,AVLP=1,ALLS=1,AVLLS=1 */
148
#define SYSTEM_SMC_PMPROT_VALUE 0xAAU
/* SMC_PMPROT */
149
150
/* Internal reference clock trim */
151
/* #undef SLOW_TRIM_ADDRESS */
/* Slow oscillator not trimmed. Commented out for MISRA compliance. */
152
/* #undef SLOW_FINE_TRIM_ADDRESS */
/* Slow oscillator not trimmed. Commented out for MISRA compliance. */
153
/* #undef FAST_TRIM_ADDRESS */
/* Fast oscillator not trimmed. Commented out for MISRA compliance. */
154
/* #undef FAST_FINE_TRIM_ADDRESS */
/* Fast oscillator not trimmed. Commented out for MISRA compliance. */
155
156
#ifdef CLOCK_SETUP
157
#if (CLOCK_SETUP == 0)
158
#define DEFAULT_SYSTEM_CLOCK 20971520U
/* Default System clock value */
159
#define MCG_MODE MCG_MODE_FEI
/* Clock generator mode */
160
/* MCG_C1: CLKS=0,FRDIV=0,IREFS=1,IRCLKEN=1,IREFSTEN=0 */
161
#define SYSTEM_MCG_C1_VALUE 0x06U
/* MCG_C1 */
162
/* MCG_C2: LOCRE0=0,FCFTRIM=0,RANGE=2,HGO=0,EREFS=1,LP=0,IRCS=0 */
163
#define SYSTEM_MCG_C2_VALUE 0x24U
/* MCG_C2 */
164
/* MCG_C4: DMX32=0,DRST_DRS=0,FCTRIM=0,SCFTRIM=0 */
165
#define SYSTEM_MCG_C4_VALUE 0x00U
/* MCG_C4 */
166
/* MCG_SC: ATME=0,ATMS=0,ATMF=0,FLTPRSRV=0,FCRDIV=0,LOCS0=0 */
167
#define SYSTEM_MCG_SC_VALUE 0x00U
/* MCG_SC */
168
/* MCG_C5: PLLCLKEN=0,PLLSTEN=0,PRDIV=0 */
169
#define SYSTEM_MCG_C5_VALUE 0x00U
/* MCG_C5 */
170
/* MCG_C6: LOLIE0=0,PLLS=0,CME0=0,VDIV=0 */
171
#define SYSTEM_MCG_C6_VALUE 0x00U
/* MCG_C6 */
172
/* MCG_C7: OSCSEL=0 */
173
#define SYSTEM_MCG_C7_VALUE 0x00U
/* MCG_C7 */
174
/* OSC_CR: ERCLKEN=1,EREFSTEN=0,SC2P=0,SC4P=0,SC8P=0,SC16P=0 */
175
#define SYSTEM_OSC_CR_VALUE 0x80U
/* OSC_CR */
176
/* SMC_PMCTRL: RUNM=0,STOPA=0,STOPM=0 */
177
#define SYSTEM_SMC_PMCTRL_VALUE 0x00U
/* SMC_PMCTRL */
178
/* SIM_CLKDIV1: OUTDIV1=0,OUTDIV2=0,OUTDIV3=1,OUTDIV4=1 */
179
#define SYSTEM_SIM_CLKDIV1_VALUE 0x00110000U
/* SIM_CLKDIV1 */
180
/* SIM_CLKDIV3: PLLFLLDIV=0,PLLFLLFRAC=0 */
181
#define SYSTEM_SIM_CLKDIV3_VALUE 0x00U
/* SIM_CLKDIV3 */
182
/* SIM_SOPT1: USBREGEN=0,USBSSTBY=0,USBVSTBY=0,OSC32KSEL=2,RAMSIZE=0 */
183
#define SYSTEM_SIM_SOPT1_VALUE 0x00080000U
/* SIM_SOPT1 */
184
/* SIM_SOPT2:
185
* EMVSIMSRC=0,SDHCSRC=0,LPUARTSRC=0,TPMSRC=1,FLEXIOSRC=0,USBSRC=0,PLLFLLSEL=0,TRACECLKSEL=0,FBSL=0,CLKOUTSEL=0,RTCCLKOUTSEL=0
186
*/
187
#define SYSTEM_SIM_SOPT2_VALUE 0x01000000U
/* SIM_SOPT2 */
188
#elif(CLOCK_SETUP == 1)
189
#define DEFAULT_SYSTEM_CLOCK 150000000U
/* Default System clock value */
190
#define MCG_MODE MCG_MODE_PEE
/* Clock generator mode */
191
/* MCG_C1: CLKS=0,FRDIV=4,IREFS=0,IRCLKEN=1,IREFSTEN=0 */
192
#define SYSTEM_MCG_C1_VALUE 0x22U
/* MCG_C1 */
193
/* MCG_C2: LOCRE0=0,FCFTRIM=0,RANGE=2,HGO=0,EREFS=1,LP=0,IRCS=0 */
194
#define SYSTEM_MCG_C2_VALUE 0x24U
/* MCG_C2 */
195
/* MCG_C4: DMX32=0,DRST_DRS=0,FCTRIM=0,SCFTRIM=0 */
196
#define SYSTEM_MCG_C4_VALUE 0x00U
/* MCG_C4 */
197
/* MCG_SC: ATME=0,ATMS=0,ATMF=0,FLTPRSRV=0,FCRDIV=0,LOCS0=0 */
198
#define SYSTEM_MCG_SC_VALUE 0x00U
/* MCG_SC */
199
/* MCG_C5: PLLCLKEN=0,PLLSTEN=0,PRDIV=0 */
200
#define SYSTEM_MCG_C5_VALUE 0x00U
/* MCG_C5 */
201
/* MCG_C6: LOLIE0=0,PLLS=1,CME0=0,VDIV=9 */
202
#define SYSTEM_MCG_C6_VALUE 0x49U
/* MCG_C6 */
203
/* MCG_C7: OSCSEL=0 */
204
#define SYSTEM_MCG_C7_VALUE 0x00U
/* MCG_C7 */
205
/* OSC_CR: ERCLKEN=1,EREFSTEN=0,SC2P=0,SC4P=0,SC8P=0,SC16P=0 */
206
#define SYSTEM_OSC_CR_VALUE 0x80U
/* OSC_CR */
207
/* SMC_PMCTRL: RUNM=3,STOPA=0,STOPM=0 */
208
#define SYSTEM_SMC_PMCTRL_VALUE 0x60U
/* SMC_PMCTRL */
209
/* SIM_CLKDIV1: OUTDIV1=0,OUTDIV2=1,OUTDIV3=1,OUTDIV4=5 */
210
#define SYSTEM_SIM_CLKDIV1_VALUE 0x01150000U
/* SIM_CLKDIV1 */
211
/* SIM_CLKDIV3: PLLFLLDIV=0,PLLFLLFRAC=0 */
212
#define SYSTEM_SIM_CLKDIV3_VALUE 0x00U
/* SIM_CLKDIV3 */
213
/* SIM_SOPT1: USBREGEN=0,USBSSTBY=0,USBVSTBY=0,OSC32KSEL=2,RAMSIZE=0 */
214
#define SYSTEM_SIM_SOPT1_VALUE 0x00080000U
/* SIM_SOPT1 */
215
/* SIM_SOPT2:
216
* EMVSIMSRC=0,SDHCSRC=0,LPUARTSRC=0,TPMSRC=1,FLEXIOSRC=0,USBSRC=0,PLLFLLSEL=1,TRACECLKSEL=0,FBSL=0,CLKOUTSEL=0,RTCCLKOUTSEL=0
217
*/
218
#define SYSTEM_SIM_SOPT2_VALUE 0x01010000U
/* SIM_SOPT2 */
219
#elif(CLOCK_SETUP == 2)
220
#define DEFAULT_SYSTEM_CLOCK 4000000U
/* Default System clock value */
221
#define MCG_MODE MCG_MODE_BLPI
/* Clock generator mode */
222
/* MCG_C1: CLKS=1,FRDIV=0,IREFS=1,IRCLKEN=1,IREFSTEN=0 */
223
#define SYSTEM_MCG_C1_VALUE 0x46U
/* MCG_C1 */
224
/* MCG_C2: LOCRE0=0,FCFTRIM=0,RANGE=2,HGO=0,EREFS=1,LP=1,IRCS=1 */
225
#define SYSTEM_MCG_C2_VALUE 0x27U
/* MCG_C2 */
226
/* MCG_C4: DMX32=0,DRST_DRS=0,FCTRIM=0,SCFTRIM=0 */
227
#define SYSTEM_MCG_C4_VALUE 0x00U
/* MCG_C4 */
228
/* MCG_SC: ATME=0,ATMS=0,ATMF=0,FLTPRSRV=0,FCRDIV=0,LOCS0=0 */
229
#define SYSTEM_MCG_SC_VALUE 0x00U
/* MCG_SC */
230
/* MCG_C5: PLLCLKEN=0,PLLSTEN=0,PRDIV=0 */
231
#define SYSTEM_MCG_C5_VALUE 0x00U
/* MCG_C5 */
232
/* MCG_C6: LOLIE0=0,PLLS=0,CME0=0,VDIV=0 */
233
#define SYSTEM_MCG_C6_VALUE 0x00U
/* MCG_C6 */
234
/* MCG_C7: OSCSEL=0 */
235
#define SYSTEM_MCG_C7_VALUE 0x00U
/* MCG_C7 */
236
/* OSC_CR: ERCLKEN=1,EREFSTEN=0,SC2P=0,SC4P=0,SC8P=0,SC16P=0 */
237
#define SYSTEM_OSC_CR_VALUE 0x80U
/* OSC_CR */
238
/* SMC_PMCTRL: RUNM=0,STOPA=0,STOPM=0 */
239
#define SYSTEM_SMC_PMCTRL_VALUE 0x00U
/* SMC_PMCTRL */
240
/* SIM_CLKDIV1: OUTDIV1=0,OUTDIV2=0,OUTDIV3=0,OUTDIV4=4 */
241
#define SYSTEM_SIM_CLKDIV1_VALUE 0x00040000U
/* SIM_CLKDIV1 */
242
/* SIM_CLKDIV3: PLLFLLDIV=0,PLLFLLFRAC=0 */
243
#define SYSTEM_SIM_CLKDIV3_VALUE 0x00U
/* SIM_CLKDIV3 */
244
/* SIM_SOPT1: USBREGEN=0,USBSSTBY=0,USBVSTBY=0,OSC32KSEL=2,RAMSIZE=0 */
245
#define SYSTEM_SIM_SOPT1_VALUE 0x00080000U
/* SIM_SOPT1 */
246
/* SIM_SOPT2:
247
* EMVSIMSRC=0,SDHCSRC=0,LPUARTSRC=0,TPMSRC=1,FLEXIOSRC=0,USBSRC=0,PLLFLLSEL=3,TRACECLKSEL=0,FBSL=0,CLKOUTSEL=0,RTCCLKOUTSEL=0
248
*/
249
#define SYSTEM_SIM_SOPT2_VALUE 0x01030000U
/* SIM_SOPT2 */
250
#elif(CLOCK_SETUP == 3)
251
#define DEFAULT_SYSTEM_CLOCK 4000000U
/* Default System clock value */
252
#define MCG_MODE MCG_MODE_BLPE
/* Clock generator mode */
253
/* MCG_C1: CLKS=2,FRDIV=4,IREFS=0,IRCLKEN=1,IREFSTEN=0 */
254
#define SYSTEM_MCG_C1_VALUE 0xA2U
/* MCG_C1 */
255
/* MCG_C2: LOCRE0=0,FCFTRIM=0,RANGE=2,HGO=0,EREFS=1,LP=1,IRCS=1 */
256
#define SYSTEM_MCG_C2_VALUE 0x27U
/* MCG_C2 */
257
/* MCG_C4: DMX32=0,DRST_DRS=0,FCTRIM=0,SCFTRIM=0 */
258
#define SYSTEM_MCG_C4_VALUE 0x00U
/* MCG_C4 */
259
/* MCG_SC: ATME=0,ATMS=0,ATMF=0,FLTPRSRV=0,FCRDIV=0,LOCS0=0 */
260
#define SYSTEM_MCG_SC_VALUE 0x00U
/* MCG_SC */
261
/* MCG_C5: PLLCLKEN=0,PLLSTEN=0,PRDIV=0 */
262
#define SYSTEM_MCG_C5_VALUE 0x00U
/* MCG_C5 */
263
/* MCG_C6: LOLIE0=0,PLLS=0,CME0=0,VDIV=0 */
264
#define SYSTEM_MCG_C6_VALUE 0x00U
/* MCG_C6 */
265
/* MCG_C7: OSCSEL=0 */
266
#define SYSTEM_MCG_C7_VALUE 0x00U
/* MCG_C7 */
267
/* OSC_CR: ERCLKEN=1,EREFSTEN=0,SC2P=0,SC4P=0,SC8P=0,SC16P=0 */
268
#define SYSTEM_OSC_CR_VALUE 0x80U
/* OSC_CR */
269
/* SMC_PMCTRL: RUNM=0,STOPA=0,STOPM=0 */
270
#define SYSTEM_SMC_PMCTRL_VALUE 0x00U
/* SMC_PMCTRL */
271
/* SIM_CLKDIV1: OUTDIV1=2,OUTDIV2=2,OUTDIV3=2,OUTDIV4=0x0B */
272
#define SYSTEM_SIM_CLKDIV1_VALUE 0x222B0000U
/* SIM_CLKDIV1 */
273
/* SIM_CLKDIV3: PLLFLLDIV=0,PLLFLLFRAC=0 */
274
#define SYSTEM_SIM_CLKDIV3_VALUE 0x00U
/* SIM_CLKDIV3 */
275
/* SIM_SOPT1: USBREGEN=0,USBSSTBY=0,USBVSTBY=0,OSC32KSEL=2,RAMSIZE=0 */
276
#define SYSTEM_SIM_SOPT1_VALUE 0x00080000U
/* SIM_SOPT1 */
277
/* SIM_SOPT2:
278
* EMVSIMSRC=0,SDHCSRC=0,LPUARTSRC=0,TPMSRC=1,FLEXIOSRC=0,USBSRC=0,PLLFLLSEL=3,TRACECLKSEL=0,FBSL=0,CLKOUTSEL=0,RTCCLKOUTSEL=0
279
*/
280
#define SYSTEM_SIM_SOPT2_VALUE 0x01030000U
/* SIM_SOPT2 */
281
#elif(CLOCK_SETUP == 4)
282
#define DEFAULT_SYSTEM_CLOCK 144000000U
/* Default System clock value */
283
#define MCG_MODE MCG_MODE_PEE
/* Clock generator mode */
284
/* MCG_C1: CLKS=0,FRDIV=4,IREFS=0,IRCLKEN=1,IREFSTEN=0 */
285
#define SYSTEM_MCG_C1_VALUE 0x22U
/* MCG_C1 */
286
/* MCG_C2: LOCRE0=0,FCFTRIM=0,RANGE=2,HGO=0,EREFS=1,LP=0,IRCS=0 */
287
#define SYSTEM_MCG_C2_VALUE 0x24U
/* MCG_C2 */
288
/* MCG_C4: DMX32=0,DRST_DRS=0,FCTRIM=0,SCFTRIM=0 */
289
#define SYSTEM_MCG_C4_VALUE 0x00U
/* MCG_C4 */
290
/* MCG_SC: ATME=0,ATMS=0,ATMF=0,FLTPRSRV=0,FCRDIV=0,LOCS0=0 */
291
#define SYSTEM_MCG_SC_VALUE 0x00U
/* MCG_SC */
292
/* MCG_C5: PLLCLKEN=0,PLLSTEN=0,PRDIV=0 */
293
#define SYSTEM_MCG_C5_VALUE 0x00U
/* MCG_C5 */
294
/* MCG_C6: LOLIE0=0,PLLS=1,CME0=0,VDIV=8 */
295
#define SYSTEM_MCG_C6_VALUE 0x48U
/* MCG_C6 */
296
/* MCG_C7: OSCSEL=0 */
297
#define SYSTEM_MCG_C7_VALUE 0x00U
/* MCG_C7 */
298
/* OSC_CR: ERCLKEN=1,EREFSTEN=0,SC2P=0,SC4P=0,SC8P=0,SC16P=0 */
299
#define SYSTEM_OSC_CR_VALUE 0x80U
/* OSC_CR */
300
/* SMC_PMCTRL: RUNM=3,STOPA=0,STOPM=0 */
301
#define SYSTEM_SMC_PMCTRL_VALUE 0x60U
/* SMC_PMCTRL */
302
/* SIM_CLKDIV1: OUTDIV1=0,OUTDIV2=1,OUTDIV3=1,OUTDIV4=5 */
303
#define SYSTEM_SIM_CLKDIV1_VALUE 0x01150000U
/* SIM_CLKDIV1 */
304
/* SIM_CLKDIV2: USBDIV=2,USBFRAC=0 */
305
#define SYSTEM_SIM_CLKDIV2_VALUE 0x04U
/* SIM_CLKDIV2 */
306
/* SIM_CLKDIV3: PLLFLLDIV=0,PLLFLLFRAC=0 */
307
#define SYSTEM_SIM_CLKDIV3_VALUE 0x00U
/* SIM_CLKDIV3 */
308
/* SIM_SOPT1: USBREGEN=0,USBSSTBY=0,USBVSTBY=0,OSC32KSEL=2,RAMSIZE=0 */
309
#define SYSTEM_SIM_SOPT1_VALUE 0x00080000U
/* SIM_SOPT1 */
310
/* SIM_SOPT2:
311
* EMVSIMSRC=0,SDHCSRC=0,LPUARTSRC=0,TPMSRC=1,FLEXIOSRC=0,USBSRC=0,PLLFLLSEL=1,TRACECLKSEL=0,FBSL=0,CLKOUTSEL=0,RTCCLKOUTSEL=0
312
*/
313
#define SYSTEM_SIM_SOPT2_VALUE 0x01010000U
/* SIM_SOPT2 */
314
#elif(CLOCK_SETUP == 5)
315
#define DEFAULT_SYSTEM_CLOCK 120000000U
/* Default System clock value */
316
#define MCG_MODE MCG_MODE_PEE
/* Clock generator mode */
317
/* MCG_C1: CLKS=0,FRDIV=4,IREFS=0,IRCLKEN=1,IREFSTEN=0 */
318
#define SYSTEM_MCG_C1_VALUE 0x22U
/* MCG_C1 */
319
/* MCG_C2: LOCRE0=0,FCFTRIM=0,RANGE=2,HGO=0,EREFS=1,LP=0,IRCS=0 */
320
#define SYSTEM_MCG_C2_VALUE 0x24U
/* MCG_C2 */
321
/* MCG_C4: DMX32=0,DRST_DRS=0,FCTRIM=0,SCFTRIM=0 */
322
#define SYSTEM_MCG_C4_VALUE 0x00U
/* MCG_C4 */
323
/* MCG_SC: ATME=0,ATMS=0,ATMF=0,FLTPRSRV=0,FCRDIV=0,LOCS0=0 */
324
#define SYSTEM_MCG_SC_VALUE 0x00U
/* MCG_SC */
325
/* MCG_C5: PLLCLKEN=0,PLLSTEN=0,PRDIV=0 */
326
#define SYSTEM_MCG_C5_VALUE 0x00U
/* MCG_C5 */
327
/* MCG_C6: LOLIE0=0,PLLS=1,CME0=0,VDIV=4 */
328
#define SYSTEM_MCG_C6_VALUE 0x44U
/* MCG_C6 */
329
/* MCG_C7: OSCSEL=0 */
330
#define SYSTEM_MCG_C7_VALUE 0x00U
/* MCG_C7 */
331
/* OSC_CR: ERCLKEN=1,EREFSTEN=0,SC2P=0,SC4P=0,SC8P=0,SC16P=0 */
332
#define SYSTEM_OSC_CR_VALUE 0x80U
/* OSC_CR */
333
/* SMC_PMCTRL: RUNM=0,STOPA=0,STOPM=0 */
334
#define SYSTEM_SMC_PMCTRL_VALUE 0x00U
/* SMC_PMCTRL */
335
/* SIM_CLKDIV1: OUTDIV1=0,OUTDIV2=1,OUTDIV3=1,OUTDIV4=4 */
336
#define SYSTEM_SIM_CLKDIV1_VALUE 0x01140000U
/* SIM_CLKDIV1 */
337
/* SIM_CLKDIV3: PLLFLLDIV=0,PLLFLLFRAC=0 */
338
#define SYSTEM_SIM_CLKDIV3_VALUE 0x00U
/* SIM_CLKDIV3 */
339
/* SIM_SOPT1: USBREGEN=0,USBSSTBY=0,USBVSTBY=0,OSC32KSEL=2,RAMSIZE=0 */
340
#define SYSTEM_SIM_SOPT1_VALUE 0x00080000U
/* SIM_SOPT1 */
341
/* SIM_SOPT2:
342
* EMVSIMSRC=0,SDHCSRC=0,LPUARTSRC=0,TPMSRC=1,FLEXIOSRC=0,USBSRC=0,PLLFLLSEL=1,TRACECLKSEL=0,FBSL=0,CLKOUTSEL=0,RTCCLKOUTSEL=0
343
*/
344
#define SYSTEM_SIM_SOPT2_VALUE 0x01010000U
/* SIM_SOPT2 */
345
#endif
346
#else
347
#define DEFAULT_SYSTEM_CLOCK 20971520u
348
#endif
349
359
extern
uint32_t SystemCoreClock;
360
368
void
SystemInit(
void
);
369
377
void
SystemCoreClockUpdate(
void
);
378
379
#ifdef __cplusplus
380
}
381
#endif
382
383
#endif
/* #if !defined(_SYSTEM_MK82F25615_H_) */
apps
flash_driver_api
MK82F25615
src
startup
system_MK82F25615.h
Generated on Mon Mar 7 2016 16:48:23 for Kinetis Bootloader by
1.8.11