Select one of the symbols to view example projects that use it.
 
Outline
#include "config.h"
#include "arm.h"
#include "etm_dummy.h"
handle_etm_dummy_config_command(struct command_invocation *)
etm_dummy_config_command_handlers
etm_dummy_command_handlers
etm_dummy_init(struct etm_context *)
etm_dummy_status(struct etm_context *)
etm_dummy_read_trace(struct etm_context *)
etm_dummy_start_capture(struct etm_context *)
etm_dummy_stop_capture(struct etm_context *)
etm_dummy_capture_driver
Files
loading...
SourceVuDevelopment ToolsOpenOCDsrc/target/etm_dummy.c
 
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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
// SPDX-License-Identifier: GPL-2.0-or-later /*************************************************************************** * Copyright (C) 2007 by Dominic Rath * * Dominic.Rath@gmx.de * ***************************************************************************//* ... */ #ifdef HAVE_CONFIG_H #include "config.h" #endif #include "arm.h" #include "etm_dummy.h" COMMAND_HANDLER(handle_etm_dummy_config_command) { struct target *target; struct arm *arm; target = get_target(CMD_ARGV[0]); if (!target) { LOG_ERROR("target '%s' not defined", CMD_ARGV[0]); return ERROR_FAIL; }if (!target) { ... } arm = target_to_arm(target); if (!is_arm(arm)) { command_print(CMD, "target '%s' isn't an ARM", CMD_ARGV[0]); return ERROR_FAIL; }if (!is_arm(arm)) { ... } if (arm->etm) arm->etm->capture_driver_priv = NULL; else { LOG_ERROR("target has no ETM defined, ETM dummy left unconfigured"); return ERROR_FAIL; }else { ... } return ERROR_OK; }{ ... } static const struct command_registration etm_dummy_config_command_handlers[] = { { .name = "config", .handler = handle_etm_dummy_config_command, .mode = COMMAND_CONFIG, .usage = "target", ...}, COMMAND_REGISTRATION_DONE ...}; static const struct command_registration etm_dummy_command_handlers[] = { { .name = "etm_dummy", .mode = COMMAND_ANY, .help = "Dummy ETM capture driver command group", .chain = etm_dummy_config_command_handlers, .usage = "", ...}, COMMAND_REGISTRATION_DONE ...}; static int etm_dummy_init(struct etm_context *etm_ctx) { return ERROR_OK; }{ ... } static trace_status_t etm_dummy_status(struct etm_context *etm_ctx) { return TRACE_IDLE; }{ ... } static int etm_dummy_read_trace(struct etm_context *etm_ctx) { return ERROR_OK; }{ ... } static int etm_dummy_start_capture(struct etm_context *etm_ctx) { return ERROR_ETM_PORTMODE_NOT_SUPPORTED; }{ ... } static int etm_dummy_stop_capture(struct etm_context *etm_ctx) { return ERROR_OK; }{ ... } struct etm_capture_driver etm_dummy_capture_driver = { .name = "dummy", .commands = etm_dummy_command_handlers, .init = etm_dummy_init, .status = etm_dummy_status, .start_capture = etm_dummy_start_capture, .stop_capture = etm_dummy_stop_capture, .read_trace = etm_dummy_read_trace, ...};
Details
Show:
from
Types: Columns:
Click anywhere in the source to view detailed information here...