/* ################################################################### ** 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. ** ** ################################################################### */