stlink: add trace support in DAP direct mode
authorAntonio Borneo <borneo.antonio@gmail.com>
Thu, 18 Jul 2019 13:14:34 +0000 (15:14 +0200)
committerAntonio Borneo <borneo.antonio@gmail.com>
Sat, 15 Feb 2020 15:39:16 +0000 (15:39 +0000)
Reuse the existing tracing functionality of HLA mode to support
tracing in DAP direct mode.

Change-Id: I75a01e88ba5d3e45717e4108b99697ac3225db9e
Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com>
Reviewed-on: http://openocd.zylin.com/5409
Tested-by: jenkins
Reviewed-by: Oleksij Rempel <linux@rempel-privat.de>
src/jtag/drivers/stlink_usb.c

index dc2fe8c5a8200bcd8a964443b23c47366995bdf3..da1d1b56492c8d9eb0c7d518b7e5f976d3586247 100644 (file)
@@ -3462,6 +3462,21 @@ static void stlink_dap_op_quit(struct adiv5_dap *dap)
                LOG_ERROR("Error closing APs");
 }
 
+static int stlink_dap_config_trace(bool enabled,
+               enum tpiu_pin_protocol pin_protocol, uint32_t port_size,
+               unsigned int *trace_freq, unsigned int traceclkin_freq,
+               uint16_t *prescaler)
+{
+       return stlink_config_trace(stlink_dap_handle, enabled, pin_protocol,
+                                                          port_size, trace_freq, traceclkin_freq,
+                                                          prescaler);
+}
+
+static int stlink_dap_trace_read(uint8_t *buf, size_t *size)
+{
+       return stlink_usb_trace_read(stlink_dap_handle, buf, size);
+}
+
 /** */
 COMMAND_HANDLER(stlink_dap_serial_command)
 {
@@ -3645,6 +3660,8 @@ struct adapter_driver stlink_dap_adapter_driver = {
        .speed = stlink_dap_speed,
        .khz = stlink_dap_khz,
        .speed_div = stlink_dap_speed_div,
+       .config_trace = stlink_dap_config_trace,
+       .poll_trace = stlink_dap_trace_read,
 
        .dap_jtag_ops = &stlink_dap_ops,
        .dap_swd_ops = &stlink_dap_ops,