38 lines
1.5 KiB
C
38 lines
1.5 KiB
C
/* SPDX-License-Identifier: GPL-2.0-or-later */
|
|
|
|
/***************************************************************************
|
|
* Xtensa application tracing module for OpenOCD *
|
|
* Copyright (C) 2017 Espressif Systems Ltd. *
|
|
***************************************************************************/
|
|
|
|
#ifndef OPENOCD_TARGET_ESP_XTENSA_APPTRACE_H
|
|
#define OPENOCD_TARGET_ESP_XTENSA_APPTRACE_H
|
|
|
|
#include "esp32_apptrace.h"
|
|
|
|
struct esp_xtensa_apptrace_info {
|
|
const struct esp32_apptrace_hw *hw;
|
|
};
|
|
|
|
extern struct esp32_apptrace_hw esp_xtensa_apptrace_hw;
|
|
|
|
int esp_xtensa_apptrace_data_len_read(struct target *target, uint32_t *block_id, uint32_t *len);
|
|
int esp_xtensa_apptrace_data_read(struct target *target,
|
|
uint32_t size,
|
|
uint8_t *buffer,
|
|
uint32_t block_id,
|
|
bool ack);
|
|
int esp_xtensa_apptrace_ctrl_reg_read(struct target *target, uint32_t *block_id, uint32_t *len, bool *conn);
|
|
int esp_xtensa_apptrace_ctrl_reg_write(struct target *target,
|
|
uint32_t block_id,
|
|
uint32_t len,
|
|
bool conn,
|
|
bool data);
|
|
int esp_xtensa_apptrace_status_reg_write(struct target *target, uint32_t stat);
|
|
int esp_xtensa_apptrace_status_reg_read(struct target *target, uint32_t *stat);
|
|
uint32_t esp_xtensa_apptrace_block_max_size_get(struct target *target);
|
|
uint32_t esp_xtensa_apptrace_usr_block_max_size_get(struct target *target);
|
|
int esp_xtensa_apptrace_usr_block_write(struct target *target, uint32_t block_id, const uint8_t *data, uint32_t size);
|
|
|
|
#endif /* OPENOCD_TARGET_ESP_XTENSA_APPTRACE_H */
|