203 lines
8.7 KiB
C
203 lines
8.7 KiB
C
|
|
/* ###################################################################
|
||
|
|
** THIS COMPONENT MODULE IS GENERATED BY THE TOOL. DO NOT MODIFY IT.
|
||
|
|
** Filename : Cpu.h
|
||
|
|
** Project : FS_TC_Test
|
||
|
|
** Processor : MK20DN512VLL10
|
||
|
|
** Component : MK20DN512LL10
|
||
|
|
** Version : Component 01.000, Driver 01.04, CPU db: 3.00.000
|
||
|
|
** Datasheet : K20P144M100SF2V2RM Rev. 2, Jun 2012
|
||
|
|
** Compiler : GNU C Compiler
|
||
|
|
** Date/Time : 2014-12-17, 14:57, # CodeGen: 6
|
||
|
|
** Abstract :
|
||
|
|
**
|
||
|
|
** Settings :
|
||
|
|
**
|
||
|
|
** Contents :
|
||
|
|
** No public methods
|
||
|
|
**
|
||
|
|
** (c) Freescale Semiconductor, Inc.
|
||
|
|
** 2004 All Rights Reserved
|
||
|
|
**
|
||
|
|
** Copyright : 1997 - 2014 Freescale Semiconductor, Inc.
|
||
|
|
** All Rights Reserved.
|
||
|
|
**
|
||
|
|
** Redistribution and use in source and binary forms, with or without modification,
|
||
|
|
** are permitted provided that the following conditions are met:
|
||
|
|
**
|
||
|
|
** o Redistributions of source code must retain the above copyright notice, this list
|
||
|
|
** of conditions and the following disclaimer.
|
||
|
|
**
|
||
|
|
** o Redistributions in binary form must reproduce the above copyright notice, this
|
||
|
|
** list of conditions and the following disclaimer in the documentation and/or
|
||
|
|
** other materials provided with the distribution.
|
||
|
|
**
|
||
|
|
** o Neither the name of Freescale Semiconductor, Inc. nor the names of its
|
||
|
|
** contributors may be used to endorse or promote products derived from this
|
||
|
|
** software without specific prior written permission.
|
||
|
|
**
|
||
|
|
** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||
|
|
** ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||
|
|
** WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||
|
|
** DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
|
||
|
|
** ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||
|
|
** (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||
|
|
** LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
|
||
|
|
** ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||
|
|
** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||
|
|
** SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||
|
|
**
|
||
|
|
** http: www.freescale.com
|
||
|
|
** mail: support@freescale.com
|
||
|
|
** ###################################################################*/
|
||
|
|
/*!
|
||
|
|
** @file Cpu.h
|
||
|
|
** @version 01.04
|
||
|
|
** @brief
|
||
|
|
**
|
||
|
|
*/
|
||
|
|
/*!
|
||
|
|
** @addtogroup Cpu_module Cpu module documentation
|
||
|
|
** @{
|
||
|
|
*/
|
||
|
|
|
||
|
|
#ifndef __Cpu_H
|
||
|
|
#define __Cpu_H
|
||
|
|
|
||
|
|
/* MODULE Cpu. */
|
||
|
|
/*Include shared modules, which are used for whole project*/
|
||
|
|
#include "USB_CDC/PE_Types.h"
|
||
|
|
#include "USB_CDC/PE_Error.h"
|
||
|
|
#include "USB_CDC/PE_Const.h"
|
||
|
|
#include "hal/derivative.h"
|
||
|
|
|
||
|
|
#ifdef __cplusplus
|
||
|
|
extern "C" {
|
||
|
|
#endif
|
||
|
|
|
||
|
|
/* Active configuration define symbol */
|
||
|
|
#define PEcfg_FLASH 1U
|
||
|
|
|
||
|
|
/* Methods configuration constants - generated for all enabled component's methods */
|
||
|
|
|
||
|
|
/* Events configuration constants - generated for all enabled component's events */
|
||
|
|
#define Cpu_OnNMIINT_EVENT_ENABLED
|
||
|
|
|
||
|
|
#define CPU_BUS_CLK_HZ 48000000U /* Initial value of the bus clock frequency in Hz */
|
||
|
|
#define CPU_CORE_CLK_HZ 96000000U /* Initial value of the core/system clock frequency in Hz. */
|
||
|
|
|
||
|
|
#define CPU_CLOCK_CONFIG_NUMBER 0x01U /* Specifies number of defined clock configurations. */
|
||
|
|
|
||
|
|
#define CPU_BUS_CLK_HZ_CLOCK_CONFIG0 48000000U /* Value of the bus clock frequency in the clock configuration 0 in Hz. */
|
||
|
|
#define CPU_CORE_CLK_HZ_CLOCK_CONFIG0 96000000U /* Value of the core/system clock frequency in the clock configuration 0 in Hz. */
|
||
|
|
|
||
|
|
|
||
|
|
#define CPU_XTAL_CLK_HZ 16000000U /* Value of the external crystal or oscillator clock frequency in Hz */
|
||
|
|
#define CPU_INT_SLOW_CLK_HZ 32768U /* Value of the slow internal oscillator clock frequency in Hz */
|
||
|
|
#define CPU_INT_FAST_CLK_HZ 4000000U /* Value of the fast internal oscillator clock frequency in Hz */
|
||
|
|
|
||
|
|
#define CPU_FAMILY_Kinetis /* Specification of the core type of the selected cpu */
|
||
|
|
#define CPU_DERIVATIVE_MK20DN512LL10 /* Name of the selected cpu derivative */
|
||
|
|
#define CPU_PARTNUM_MK20DN512VLL10 /* Part number of the selected cpu */
|
||
|
|
#define CPU_LITTLE_ENDIAN /* The selected cpu uses little endian */
|
||
|
|
|
||
|
|
|
||
|
|
/* CPU frequencies in clock configuration 0 */
|
||
|
|
#define CPU_CLOCK_CONFIG_0 0x00U /* Clock configuration 0 identifier */
|
||
|
|
#define CPU_CORE_CLK_HZ_CONFIG_0 96000000UL /* Core clock frequency in clock configuration 0 */
|
||
|
|
#define CPU_BUS_CLK_HZ_CONFIG_0 48000000UL /* Bus clock frequency in clock configuration 0 */
|
||
|
|
#define CPU_FLEXBUS_CLK_HZ_CONFIG_0 48000000UL /* Flexbus clock frequency in clock configuration 0 */
|
||
|
|
#define CPU_FLASH_CLK_HZ_CONFIG_0 24000000UL /* FLASH clock frequency in clock configuration 0 */
|
||
|
|
#define CPU_USB_CLK_HZ_CONFIG_0 0UL /* USB clock frequency in clock configuration 0 */
|
||
|
|
#define CPU_PLL_FLL_CLK_HZ_CONFIG_0 96000000UL /* PLL/FLL clock frequency in clock configuration 0 */
|
||
|
|
#define CPU_MCGIR_CLK_HZ_CONFIG_0 32768UL /* MCG internal reference clock frequency in clock configuration 0 */
|
||
|
|
#define CPU_OSCER_CLK_HZ_CONFIG_0 16000000UL /* System OSC external reference clock frequency in clock configuration 0 */
|
||
|
|
#define CPU_ERCLK32K_CLK_HZ_CONFIG_0 1000UL /* External reference clock 32k frequency in clock configuration 0 */
|
||
|
|
#define CPU_MCGFF_CLK_HZ_CONFIG_0 31250UL /* MCG fixed frequency clock */
|
||
|
|
|
||
|
|
|
||
|
|
typedef struct {
|
||
|
|
uint32 cpu_core_clk_hz; /* Core clock frequency in clock configuration */
|
||
|
|
uint32 cpu_bus_clk_hz; /* Bus clock frequency in clock configuration */
|
||
|
|
uint32 cpu_flexbus_clk_hz; /* Flexbus clock frequency in clock configuration */
|
||
|
|
uint32 cpu_flash_clk_hz; /* FLASH clock frequency in clock configuration */
|
||
|
|
uint32 cpu_usb_clk_hz; /* USB clock frequency in clock configuration */
|
||
|
|
uint32 cpu_pll_fll_clk_hz; /* PLL/FLL clock frequency in clock configuration */
|
||
|
|
uint32 cpu_mcgir_clk_hz; /* MCG internal reference clock frequency in clock configuration */
|
||
|
|
uint32 cpu_oscer_clk_hz; /* System OSC external reference clock frequency in clock configuration */
|
||
|
|
uint32 cpu_erclk32k_clk_hz; /* External reference clock 32k frequency in clock configuration */
|
||
|
|
uint32 cpu_mcgff_clk_hz; /* MCG fixed frequency clock */
|
||
|
|
} TCpuClockConfiguration;
|
||
|
|
|
||
|
|
/* The array of clock frequencies in configured clock configurations */
|
||
|
|
extern const TCpuClockConfiguration PE_CpuClockConfigurations[CPU_CLOCK_CONFIG_NUMBER];
|
||
|
|
|
||
|
|
/* Interrupt vector table type definition */
|
||
|
|
typedef void (*const tIsrFunc)(void);
|
||
|
|
typedef struct {
|
||
|
|
void * __ptr;
|
||
|
|
tIsrFunc __fun[0x77];
|
||
|
|
} tVectorTable;
|
||
|
|
|
||
|
|
extern const tVectorTable __vect_table;
|
||
|
|
|
||
|
|
/* Global variables */
|
||
|
|
/*lint -esym(765,SR_reg) Disable MISRA rule (8.10) checking for symbols (SR_reg). The SR_reg is used in inline assembler. */
|
||
|
|
extern volatile uint8 SR_reg; /* Current FAULTMASK register */
|
||
|
|
/*lint -esym(765,SR_lock) Disable MISRA rule (8.10) checking for symbols (SR_lock). The SR_reg is used in inline assembler. */
|
||
|
|
extern volatile uint8 SR_lock;
|
||
|
|
|
||
|
|
|
||
|
|
typedef struct
|
||
|
|
{
|
||
|
|
void (*initClocks)(void);
|
||
|
|
void (*initLowLevel)(void);
|
||
|
|
} CpuTypeDef;
|
||
|
|
|
||
|
|
|
||
|
|
extern CpuTypeDef Cpu;
|
||
|
|
|
||
|
|
|
||
|
|
/* {Default RTOS Adapter} ISR function prototype */
|
||
|
|
void __attribute__ ((interrupt)) Cpu_INT_NMIInterrupt(void);
|
||
|
|
/*
|
||
|
|
** ===================================================================
|
||
|
|
** Method : Cpu_INT_NMIInterrupt (component MK20DN512LL10)
|
||
|
|
**
|
||
|
|
** Description :
|
||
|
|
** This ISR services the Non Maskable Interrupt interrupt.
|
||
|
|
** This method is internal. It is used by Processor Expert only.
|
||
|
|
** ===================================================================
|
||
|
|
*/
|
||
|
|
|
||
|
|
void __attribute__ ((interrupt)) Cpu_Interrupt(void);
|
||
|
|
/*
|
||
|
|
** ===================================================================
|
||
|
|
** Method : Cpu_Cpu_Interrupt (component MK20DN512LL10)
|
||
|
|
**
|
||
|
|
** Description :
|
||
|
|
** This ISR services an unused interrupt/exception vector.
|
||
|
|
** This method is internal. It is used by Processor Expert only.
|
||
|
|
** ===================================================================
|
||
|
|
*/
|
||
|
|
|
||
|
|
/* END Cpu. */
|
||
|
|
|
||
|
|
#ifdef __cplusplus
|
||
|
|
} /* extern "C" */
|
||
|
|
#endif
|
||
|
|
|
||
|
|
#endif
|
||
|
|
/* __Cpu_H */
|
||
|
|
|
||
|
|
/*!
|
||
|
|
** @}
|
||
|
|
*/
|
||
|
|
/*
|
||
|
|
** ###################################################################
|
||
|
|
**
|
||
|
|
** This file was created by Processor Expert 10.4 [05.11]
|
||
|
|
** for the Freescale Kinetis series of microcontrollers.
|
||
|
|
**
|
||
|
|
** ###################################################################
|
||
|
|
*/
|