]> git.sur5r.net Git - freertos/blob - FreeRTOS/Demo/MicroBlaze_Kintex7_EthernetLite/BSP/microblaze_0/libsrc/standalone_v5_4/src/profile/_profile_init.c
Update the Microblaze hardware design and BSP to the latest IP and tool versions.
[freertos] / FreeRTOS / Demo / MicroBlaze_Kintex7_EthernetLite / BSP / microblaze_0 / libsrc / standalone_v5_4 / src / profile / _profile_init.c
1 /******************************************************************************
2 *
3 * Copyright (C) 2002 - 2014 Xilinx, Inc. All rights reserved.
4 *
5 * Permission is hereby granted, free of charge, to any person obtaining a copy
6 * of this software and associated documentation files (the "Software"), to deal
7 * in the Software without restriction, including without limitation the rights
8 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 * copies of the Software, and to permit persons to whom the Software is
10 * furnished to do so, subject to the following conditions:
11 *
12 * The above copyright notice and this permission notice shall be included in
13 * all copies or substantial portions of the Software.
14 *
15 * Use of the Software is limited solely to applications:
16 * (a) running on a Xilinx device, or
17 * (b) that interact with a Xilinx device through a bus or interconnect.
18 *
19 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
22 * XILINX  BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
23 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
24 * OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
25 * SOFTWARE.
26 *
27 * Except as contained in this notice, the name of the Xilinx shall not be used
28 * in advertising or otherwise to promote the sale, use or other dealings in
29 * this Software without prior written authorization from Xilinx.
30 *
31 ******************************************************************************
32 *
33 * _program_init.c:
34 *       Initialize the Profiling Structures.
35 *
36 ******************************************************************************/
37
38 #include "profile.h"
39
40 /* XMD Initializes the following Global Variables Value during Program
41  *  Download with appropriate values. */
42
43 #ifdef PROC_MICROBLAZE
44
45 extern s32 microblaze_init(void);
46
47 #elif defined PROC_PPC
48
49 extern s32 powerpc405_init(void);
50
51 #else
52
53 extern s32 cortexa9_init(void);
54
55 #endif
56
57 s32 profile_version = 1;        /* Version of S/W Intrusive Profiling library */
58
59 u32 binsize = (u32)BINSIZE;                     /* Histogram Bin Size */
60 u32 cpu_clk_freq = (u32)CPU_FREQ_HZ ;   /* CPU Clock Frequency */
61 u32 sample_freq_hz = (u32)SAMPLE_FREQ_HZ ;      /* Histogram Sampling Frequency */
62 u32 timer_clk_ticks = (u32)TIMER_CLK_TICKS ;/* Timer Clock Ticks for the Timer */
63
64 /* Structure for Storing the Profiling Data */
65 struct gmonparam *_gmonparam = (struct gmonparam *)(0xffffffffU);
66 s32 n_gmon_sections = 1;
67
68 /* This is the initialization code, which is called from the crtinit. */
69
70 void _profile_init( void )
71 {
72 /*      print("Gmon Init called....\r\n")  */
73 /*      putnum(n_gmon_sections) , print("\r\n")   */
74 /*      if( _gmonparam == 0xffffffff ) */
75 /*              printf("Gmonparam is NULL !!\r\n")  */
76 /*      for( i = 0, i < n_gmon_sections, i++ )[ */
77 /*              putnum( _gmonparam[i].lowpc) , print("\t")   */
78 /*              putnum( _gmonparam[i].highpc) , print("\r\n")  */
79 /*              putnum( _gmonparam[i].textsize ), print("\r\n")  */
80 /*              putnum( _gmonparam[i].kcountsize * sizeof(unsigned short)), print("\r\n")  */
81 /*      ] */
82
83 #ifdef PROC_MICROBLAZE
84         (void)microblaze_init();
85 #elif defined PROC_PPC
86         powerpc405_init();
87 #else
88         (void)cortexa9_init();
89 #endif
90 }