1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
32 33 34 35
36
37 package ti.sysbios.rta;
38
39 import xdc.rov.ViewInfo;
40 import xdc.runtime.LoggerBuf;
41 import xdc.runtime.Log;
42 import xdc.runtime.Assert;
43 import xdc.runtime.Error;
44 import xdc.runtime.Diags;
45 import ti.sysbios.knl.Clock;
46 import ti.sysbios.knl.Event;
47
48 /*!
49 * ======== Agent ========
50 * The Agent module provides target support for the CCS RTA tools.
51 *
52 * The Agent module includes configuration parameters to help set up the
53 * SYS/BIOS logging on the target.
54 *
55 * Earlier versions of the Agent provided support for transfer of data
56 * during runtime. Runtime support has been removed and
57 * the Agent now only supports "stop mode" updates. Log data is stored
58 * in buffers in RAM and only updated on the host with the target is halted.
59 *
60 * Runtime support is now handled via the System Analyzer and UIA products.
61 */
62 metaonly module Agent
63 {
64 /*!
65 * ======== loadLogging ========
66 * Enable the Load module event logging.
67 *
68 * If this is false, the events will be disabled and cannot be enabled
69 * at runtime (ALWAYS_OFF).
70 * If this is true, the events will be enabled and can also be modified
71 * at runtime (RUNTIME_ON).
72 */
73 metaonly config Bool loadLogging = true;
74
75 /*!
76 * ======== loadLoggingRuntimeControl ========
77 * Specify whether load logging can be enabled / disabled at runtime.
78 *
79 * This determines what diags settings are applied to the module's diags
80 * mask. If 'false', the diags bits will be configured as ALWAYS_OFF or
81 * ALWAYS_ON, meaning they can't be changed at runtime. If 'true', the
82 * bits will be configured as 'RUNTIME_OFF' or 'RUNTIME_ON'.
83 */
84 metaonly config Bool loadLoggingRuntimeControl = true;
85
86 /*!
87 * ======== loadLoggerSize ========
88 * Size (in MAUs) of logger used for the Load module Log events.
89 *
90 * To specify the size in number of records, instead of MAUs, use the
91 * following code:
92 *
93 * @p(code)
94 * var Agent = xdc.useModule('ti.sysbios.rta.Agent');
95 * var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
96 *
97 * // Set the load logger size to 50 records.
98 * Agent.loadLoggerSize = 50 * LoggerBuf.Entry.$sizeof();
99 *
100 * // Print the final size to see how much memory is used.
101 * print("Load Logger Size (MAUs): " + Agent.loadLoggerSize);
102 * @p
103 */
104 metaonly config SizeT loadLoggerSize = 512;
105
106 /*!
107 * ======== loadLoggerBufferSection ========
108 * Section to place the Load LoggerBuf's buffer.
109 */
110 metaonly config String loadLoggerBufferSection = "[Default]";
111
112 /*!
113 * ======== mainLogging ========
114 * Enable main and non-XDC modules event logging.
115 */
116 metaonly config Bool mainLogging = true;
117
118 /*!
119 * ======== mainLoggingRuntimeControl ========
120 * Specify whether main logging can be enabled / disabled at runtime.
121 *
122 * This determines what diags settings are applied to the module's diags
123 * mask. If 'false', the diags bits will be configured as ALWAYS_OFF or
124 * ALWAYS_ON, meaning they can't be changed at runtime. If 'true', the
125 * bits will be configured as 'RUNTIME_OFF' or 'RUNTIME_ON'.
126 */
127 metaonly config Bool mainLoggingRuntimeControl = true;
128
129 /*!
130 * ======== mainLoggerSize ========
131 * Size (in MAUs) of logger used for main and non-XDC modules Log events.
132 *
133 * To specify the size in number of records, instead of MAUs, use the
134 * following code:
135 *
136 * @p(code)
137 * var Agent = xdc.useModule('ti.sysbios.rta.Agent');
138 * var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
139 *
140 * // Set the main logger size to 50 records.
141 * Agent.mainLoggerSize = 50 * LoggerBuf.Entry.$sizeof();
142 *
143 * // Print the final size to see how much memory is used.
144 * print("Application Logger Size (MAUs): " + Agent.mainLoggerSize);
145 * @p
146 */
147 metaonly config SizeT mainLoggerSize = 1024;
148
149 /*!
150 * ======== mainLoggerBufferSection ========
151 * Section to place the Main LoggerBuf's buffer.
152 */
153 metaonly config String mainLoggerBufferSection = "[Default]";
154
155 /*!
156 * ======== sysbiosHwiLogging ========
157 * Enable SYSBIOS Hwi module's event logging.
158 */
159 metaonly config Bool sysbiosHwiLogging = false;
160
161 /*!
162 * ======== sysbiosHwiLoggingRuntimeControl ========
163 * Specify whether Hwi logging can be enabled / disabled at runtime.
164 *
165 * This determines what diags settings are applied to the module's diags
166 * mask. If 'false', the diags bits will be configured as ALWAYS_OFF or
167 * ALWAYS_ON, meaning they can't be changed at runtime. If 'true', the
168 * bits will be configured as 'RUNTIME_OFF' or 'RUNTIME_ON'.
169 */
170 metaonly config Bool sysbiosHwiLoggingRuntimeControl = false;
171
172 /*!
173 * ======== sysbiosSwiLogging ========
174 * Enable SYSBIOS Swi module's event logging.
175 */
176 metaonly config Bool sysbiosSwiLogging = false;
177
178 /*!
179 * ======== sysbiosSwiLoggingRuntimeControl ========
180 * Specify whether Swi logging can be enabled / disabled at runtime.
181 *
182 * This determines what diags settings are applied to the module's diags
183 * mask. If 'false', the diags bits will be configured as ALWAYS_OFF or
184 * ALWAYS_ON, meaning they can't be changed at runtime. If 'true', the
185 * bits will be configured as 'RUNTIME_OFF' or 'RUNTIME_ON'.
186 */
187 metaonly config Bool sysbiosSwiLoggingRuntimeControl = false;
188
189 /*!
190 * ======== sysbiosTaskLogging ========
191 * Enable SYSBIOS Task module's event logging.
192 */
193 metaonly config Bool sysbiosTaskLogging = true;
194
195 /*!
196 * ======== sysbiosTaskLoggingRuntimeControl ========
197 * Specify whether Task logging can be enabled / disabled at runtime.
198 *
199 * This determines what diags settings are applied to the module's diags
200 * mask. If 'false', the diags bits will be configured as ALWAYS_OFF or
201 * ALWAYS_ON, meaning they can't be changed at runtime. If 'true', the
202 * bits will be configured as 'RUNTIME_OFF' or 'RUNTIME_ON'.
203 */
204 metaonly config Bool sysbiosTaskLoggingRuntimeControl = true;
205
206 /*!
207 * ======== sysbiosLoggerSize ========
208 * Size (in MAUs) of the logger used for the SYS/BIOS modules' Log events.
209 *
210 * To specify the size in number of records, instead of MAUs, use the
211 * following code:
212 *
213 * @p(code)
214 * var Agent = xdc.useModule('ti.sysbios.rta.Agent');
215 * var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
216 *
217 * // Set the SYS/BIOS logger size to 50 records.
218 * Agent.sysbiosLoggerSize = 50 * LoggerBuf.Entry.$sizeof();
219 *
220 * // Print the final size to see how much memory is used.
221 * print("SYS/BIOS Logger Size (MAUs): " + Agent.sysbiosLoggerSize);
222 * @p
223 */
224 metaonly config SizeT sysbiosLoggerSize = 4096;
225
226 /*!
227 * ======== sysbiosLoggerBufferSection ========
228 * Section to place the SYS/BIOS LoggerBuf's buffer.
229 */
230 metaonly config String sysbiosLoggerBufferSection = "[Default]";
231
232 /*!
233 * ======== configureSystemLog ========
234 * Deprecated.
235 */
236 metaonly config Bool configureSystemLog = true;
237
238 /*!
239 * @_nodoc
240 * ======== numSystemRecords ========
241 * Deprecated.
242 */
243 metaonly config Int numSystemRecords = 64;
244
245 /*!
246 * @_nodoc
247 * ======== configureLoadLog ========
248 * Deprecated.
249 */
250 metaonly config Bool configureLoadLog = true;
251
252 /*!
253 * @_nodoc
254 * ======== numLoadRecords ========
255 * Deprecated.
256 */
257 metaonly config Int numLoadRecords = 64;
258
259 /*!
260 * @_nodoc
261 * ======== periodInMs ========
262 * This configuration parameter is no longer supported since the I/O part
263 * of the Agent is no longer supported.
264 */
265 metaonly config Int periodInMs = 100;
266
267 /*!
268 * @_nodoc
269 * ======== priority ========
270 * This configuration parameter is no longer supported since the I/O part
271 * of the Agent is no longer supported.
272 */
273 metaonly config Int priority = 1;
274
275 /*!
276 * @_nodoc
277 * ======== agentStackSize ========
278 * This configuration parameter is no longer supported since the I/O part
279 * of the Agent is no longer supported.
280 */
281 metaonly config SizeT agentStackSize = 1024;
282
283 /*!
284 * @_nodoc
285 * ======== agentStackSection ========
286 * This configuration parameter is no longer supported since the I/O part
287 * of the Agent is no longer supported.
288 */
289 metaonly config String agentStackSection = "[Default]";
290
291 /*!
292 * @_nodoc
293 * ======== transferBufferSize ========
294 * This configuration parameter is no longer supported since the I/O part
295 * of the Agent is no longer supported.
296 */
297 config Int transferBufferSize = 85;
298
299 /*!
300 * @_nodoc
301 * ======== transferBufferSection ========
302 * This configuration parameter is no longer supported since the I/O part
303 * of the Agent is no longer supported.
304 */
305 metaonly config String transferBufferSection;
306
307 /*!
308 * @_nodoc
309 * ======== addSupportLogger ========
310 * Whether to include the SupportLogger module.
311 *
312 * The SupportLogger module logs timestamp information for use by the
313 * RTA tools on the host side.
314 *
315 * Default is true.
316 */
317 metaonly config Bool addSupportLogger = true;
318
319 /*!
320 * @_nodoc
321 * ======== supportControl ========
322 * This configuration parameter is no longer supported since the I/O part
323 * of the Agent is no longer supported.
324 */
325 metaonly config Bool supportControl = true;
326
327 /*!
328 * @_nodoc
329 * ======== Transport ========
330 * The Transport enum lists the transports which the Agent is able
331 * to automatically configure. See the {@link #transport} config parameter.
332 */
333 metaonly enum Transport {
334 Transport_RTDX, //! RTDX (no longer supported).
335 Transport_STOP_MODE_ONLY, //! Stop Mode Only
336 Transport_USER //! (not supported)
337 };
338
339 /*!
340 * @_nodoc
341 * ======== transport ========
342 * This configuration parameter is no longer supported since the I/O part
343 * of the Agent is no longer supported.
344 */
345 metaonly config Transport transport = Transport_STOP_MODE_ONLY;
346
347 /*!
348 * @_nodoc
349 * ======== dataStream ========
350 * This configuration parameter is no longer supported since the I/O part
351 * of the Agent is no longer supported.
352 */
353 metaonly config String dataStream = "/rtdx0";
354
355 /*!
356 * @_nodoc
357 * ======== commandStream ========
358 * This configuration parameter is no longer supported since the I/O part
359 * of the Agent is no longer supported.
360 */
361 metaonly config String commandStream = "/rtdx1";
362
363 /*!
364 * @_nodoc
365 * ======== responseStream ========
366 * This configuration parameter is no longer supported since the I/O part
367 * of the Agent is no longer supported.
368 */
369 config String responseStream = "/rtdx1";
370 }
371 372 373 374
375