systemview  1.3.1
systemview
SEGGER_SYSVIEW_ConfDefaults.h
1 /*********************************************************************
2 * SEGGER Microcontroller GmbH & Co. KG *
3 * The Embedded Experts *
4 **********************************************************************
5 * *
6 * (c) 2015 - 2017 SEGGER Microcontroller GmbH & Co. KG *
7 * *
8 * www.segger.com Support: support@segger.com *
9 * *
10 **********************************************************************
11 * *
12 * SEGGER SystemView * Real-time application analysis *
13 * *
14 **********************************************************************
15 * *
16 * All rights reserved. *
17 * *
18 * SEGGER strongly recommends to not make any changes *
19 * to or modify the source code of this software in order to stay *
20 * compatible with the RTT protocol and J-Link. *
21 * *
22 * Redistribution and use in source and binary forms, with or *
23 * without modification, are permitted provided that the following *
24 * conditions are met: *
25 * *
26 * o Redistributions of source code must retain the above copyright *
27 * notice, this list of conditions and the following disclaimer. *
28 * *
29 * o Redistributions in binary form must reproduce the above *
30 * copyright notice, this list of conditions and the following *
31 * disclaimer in the documentation and/or other materials provided *
32 * with the distribution. *
33 * *
34 * o Neither the name of SEGGER Microcontroller GmbH & Co. KG *
35 * nor the names of its contributors may be used to endorse or *
36 * promote products derived from this software without specific *
37 * prior written permission. *
38 * *
39 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND *
40 * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, *
41 * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF *
42 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE *
43 * DISCLAIMED. IN NO EVENT SHALL SEGGER Microcontroller BE LIABLE FOR *
44 * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR *
45 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT *
46 * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; *
47 * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF *
48 * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT *
49 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE *
50 * USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH *
51 * DAMAGE. *
52 * *
53 **********************************************************************
54 * *
55 * SystemView version: V2.52a *
56 * *
57 **********************************************************************
58 -------------------------- END-OF-HEADER -----------------------------
59 File : SEGGER_SYSVIEW_ConfDefaults.h
60 Purpose : Defines defaults for configurable defines used in
61  SEGGER SystemView.
62 Revision: $Rev: 6414 $
63 */
64 
65 #ifndef SEGGER_SYSVIEW_CONFDEFAULTS_H
66 #define SEGGER_SYSVIEW_CONFDEFAULTS_H
67 
68 /*********************************************************************
69 *
70 * #include Section
71 *
72 **********************************************************************
73 */
74 
75 #include "SEGGER_SYSVIEW_configuration.h"
76 #include "SEGGER_RTT_configuration.h"
77 
78 #ifdef __cplusplus
79 extern "C" {
80 #endif
81 
82 /*********************************************************************
83 *
84 * Configuration defaults
85 *
86 **********************************************************************
87 */
88 
89 // Number of bytes that SystemView uses for a buffer.
90 #ifndef SEGGER_SYSVIEW_RTT_BUFFER_SIZE
91  #define SEGGER_SYSVIEW_RTT_BUFFER_SIZE 1024
92 #endif
93 
94 // The RTT channel that SystemView will use.
95 #ifndef SEGGER_SYSVIEW_RTT_CHANNEL
96  #define SEGGER_SYSVIEW_RTT_CHANNEL 0
97 #endif
98 // Sanity check of RTT channel
99 #if (SEGGER_SYSVIEW_RTT_CHANNEL == 0) && (SEGGER_RTT_MAX_NUM_UP_BUFFERS < 2)
100  #error "SEGGER_RTT_MAX_NUM_UP_BUFFERS in SEGGER_RTT_configuration.h has to be > 1!"
101 #elif (SEGGER_SYSVIEW_RTT_CHANNEL >= SEGGER_RTT_MAX_NUM_UP_BUFFERS)
102  #error "SEGGER_RTT_MAX_NUM_UP_BUFFERS in SEGGER_RTT_configuration.h has to be > SEGGER_SYSVIEW_RTT_CHANNEL!"
103 #endif
104 
105 // Place the SystemView buffer into its own/the RTT section
106 #if !(defined SEGGER_SYSVIEW_BUFFER_SECTION) && (defined SEGGER_RTT_SECTION)
107  #define SEGGER_SYSVIEW_BUFFER_SECTION SEGGER_RTT_SECTION
108 #endif
109 
110 // Retrieve a system timestamp. This gets the Cortex-M cycle counter.
111 #ifndef SEGGER_SYSVIEW_GET_TIMESTAMP
112  #error "SEGGER_SYSVIEW_GET_TIMESTAMP has to be defined in SEGGER_SYSVIEW_configuration.h!"
113 #endif
114 
115 // Define number of valid bits low-order delivered by clock source.
116 #ifndef SEGGER_SYSVIEW_TIMESTAMP_BITS
117  #define SEGGER_SYSVIEW_TIMESTAMP_BITS 32
118 #endif
119 
120 // Lowest Id reported by the Application.
121 #ifndef SEGGER_SYSVIEW_ID_BASE
122  #define SEGGER_SYSVIEW_ID_BASE 0
123 #endif
124 
125 // Number of bits to shift Ids to save bandwidth
126 #ifndef SEGGER_SYSVIEW_ID_SHIFT
127  #define SEGGER_SYSVIEW_ID_SHIFT 0
128 #endif
129 
130 #ifndef SEGGER_SYSVIEW_GET_INTERRUPT_ID
131  #error "SEGGER_SYSVIEW_GET_INTERRUPT_ID has to be defined in SEGGER_SYSVIEW_configuration.h!"
132 #endif
133 
134 #ifndef SEGGER_SYSVIEW_MAX_ARGUMENTS
135  #define SEGGER_SYSVIEW_MAX_ARGUMENTS 16
136 #endif
137 
138 #ifndef SEGGER_SYSVIEW_MAX_STRING_LEN
139  #define SEGGER_SYSVIEW_MAX_STRING_LEN 128
140 #endif
141 
142 #ifndef SEGGER_SYSVIEW_PRINTF_IMPLICIT_FORMAT
143  #define SEGGER_SYSVIEW_PRINTF_IMPLICIT_FORMAT 0
144 #endif
145 
146 // Use a static buffer instead of a buffer on the stack for packets
147 #ifndef SEGGER_SYSVIEW_USE_STATIC_BUFFER
148  #define SEGGER_SYSVIEW_USE_STATIC_BUFFER 1
149 #endif
150 
151 // Maximum packet size used by SystemView for the static buffer
152 #ifndef SEGGER_SYSVIEW_MAX_PACKET_SIZE
153  #define SEGGER_SYSVIEW_MAX_PACKET_SIZE SEGGER_SYSVIEW_INFO_SIZE + SEGGER_SYSVIEW_MAX_STRING_LEN + 2 * SEGGER_SYSVIEW_QUANTA_U32 + SEGGER_SYSVIEW_MAX_ARGUMENTS * SEGGER_SYSVIEW_QUANTA_U32
154 #endif
155 
156 // Use post-mortem analysis instead of real-time analysis
157 #ifndef SEGGER_SYSVIEW_POST_MORTEM_MODE
158  #define SEGGER_SYSVIEW_POST_MORTEM_MODE 0
159 #endif
160 
161 // Configure how frequently syncronization is sent
162 #ifndef SEGGER_SYSVIEW_SYNC_PERIOD_SHIFT
163  #define SEGGER_SYSVIEW_SYNC_PERIOD_SHIFT 8
164 #endif
165 
166 // Lock SystemView (nestable)
167 #ifndef SEGGER_SYSVIEW_LOCK
168  #define SEGGER_SYSVIEW_LOCK() SEGGER_RTT_LOCK()
169 #endif
170 
171 // Unlock SystemView (nestable)
172 #ifndef SEGGER_SYSVIEW_UNLOCK
173  #define SEGGER_SYSVIEW_UNLOCK() SEGGER_RTT_UNLOCK()
174 #endif
175 
176 #ifdef __cplusplus
177 }
178 #endif
179 
180 #endif
181 
182 /*************************** End of file ****************************/