Added all the F4 libraries to the project
[fw/stlink] / exampleF4 / CMSIS / DSP_Lib / Examples / arm_signal_converge_example / system_ARMCM4.c
1 /**************************************************************************//**
2  * @file     system_ARMCM4.c
3  * @brief    CMSIS Cortex-M4 Device System Source File
4  *           for CM4 Device Series
5  * @version  V1.05
6  * @date     26. July 2011
7  *
8  * @note
9  * Copyright (C) 2010-2011 ARM Limited. All rights reserved.
10  *
11  * @par
12  * ARM Limited (ARM) is supplying this software for use with Cortex-M 
13  * processor based microcontrollers.  This file can be freely distributed 
14  * within development tools that are supporting such ARM based processors. 
15  *
16  * @par
17  * THIS SOFTWARE IS PROVIDED "AS IS".  NO WARRANTIES, WHETHER EXPRESS, IMPLIED
18  * OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF
19  * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE APPLY TO THIS SOFTWARE.
20  * ARM SHALL NOT, IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL, OR
21  * CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER.
22  *
23  ******************************************************************************/
24
25 #include "ARMCM4.h"
26
27 /*----------------------------------------------------------------------------
28   Define clocks
29  *----------------------------------------------------------------------------*/
30 #define __HSI             ( 8000000UL)
31 #define __XTAL            (12000000UL)    /* Oscillator frequency             */
32
33 #define __SYSTEM_CLOCK    (4*__XTAL)
34
35
36 /*----------------------------------------------------------------------------
37   Clock Variable definitions
38  *----------------------------------------------------------------------------*/
39 uint32_t SystemCoreClock = __SYSTEM_CLOCK;/*!< System Clock Frequency (Core Clock)*/
40
41
42 /*----------------------------------------------------------------------------
43   Clock functions
44  *----------------------------------------------------------------------------*/
45 void SystemCoreClockUpdate (void)            /* Get Core Clock Frequency      */
46 {
47   SystemCoreClock = __SYSTEM_CLOCK;
48 }
49
50 /**
51  * Initialize the system
52  *
53  * @param  none
54  * @return none
55  *
56  * @brief  Setup the microcontroller system.
57  *         Initialize the System.
58  */
59 void SystemInit (void)
60 {
61   #if (__FPU_PRESENT == 1) && (__FPU_USED == 1)
62     SCB->CPACR |= ((3UL << 10*2) |                 /* set CP10 Full Access */
63                    (3UL << 11*2)  );               /* set CP11 Full Access */
64   #endif
65
66   SystemCoreClock = __SYSTEM_CLOCK;
67
68 #ifdef __USE_GPIO
69   ARM_GPIO0->DATA[0].WORD = 0;
70   ARM_GPIO0->IE = 0;
71   ARM_GPIO0->DIR = 0xff83;
72   
73   ARM_GPIO1->DATA[0].WORD = 0;
74   ARM_GPIO1->IE = 0;
75   ARM_GPIO1->DIR = 0;
76   
77   ARM_GPIO2->DATA[0].WORD = 0;
78   ARM_GPIO2->IE = 0;
79   ARM_GPIO2->DIR = 0;
80 #endif
81 }