![]() |
NEORV32 Software Framework Documentation
The NEORV32 RISC-V Processor
|
Execution trace buffer (TRACER) HW driver header file. More...
#include <stdint.h>
Go to the source code of this file.
Data Structures | |
struct | neorv32_tracer_t |
Functions | |
void | neorv32_tracer_start (void) |
void | neorv32_tracer_stop (void) |
Prototypes | |
int | neorv32_tracer_available (void) |
void | neorv32_tracer_enable (int hsel, uint32_t stop_addr) |
void | neorv32_tracer_disable (void) |
int | neorv32_tracer_get_buffer_depth (void) |
int | neorv32_tracer_run (void) |
void | neorv32_tracer_irq_ack (void) |
int | neorv32_tracer_data_avail (void) |
uint32_t | neorv32_tracer_data_get_src (void) |
uint32_t | neorv32_tracer_data_get_dst (void) |
IO Device: Execution tracer (TRACER) | |
#define | NEORV32_TRACER ((neorv32_tracer_t*) (NEORV32_TRACER_BASE)) |
enum | NEORV32_TRACER_CTRL_enum { TRACER_CTRL_EN = 0 , TRACER_CTRL_HSEL = 1 , TRACER_CTRL_START = 2 , TRACER_CTRL_STOP = 3 , TRACER_CTRL_RUN = 4 , TRACER_CTRL_AVAIL = 5 , TRACER_CTRL_IRQ_CLR = 6 , TRACER_CTRL_TBM_LSB = 7 , TRACER_CTRL_TBM_MSB = 10 } |
Execution trace buffer (TRACER) HW driver header file.
#define NEORV32_TRACER ((neorv32_tracer_t*) (NEORV32_TRACER_BASE)) |
TRACER module hardware handle (neorv32_tracer_t)
TRACER control register bits
int neorv32_tracer_available | ( | void | ) |
Check if TRACER module was synthesized.
int neorv32_tracer_data_avail | ( | void | ) |
Check if trace data is available.
uint32_t neorv32_tracer_data_get_dst | ( | void | ) |
Get trace data: delta-destination.
uint32_t neorv32_tracer_data_get_src | ( | void | ) |
Get trace data: delta-source.
void neorv32_tracer_disable | ( | void | ) |
Reset and disable tracer.
void neorv32_tracer_enable | ( | int | hsel, |
uint32_t | stop_addr ) |
Reset, enable and configure trace module.
[in] | hsel | Hart ID of the CPU that is traced (0/1). |
[in] | stop_addr | Stop tracing at this address. Use -1 to disable auto-stopping. |
int neorv32_tracer_get_buffer_depth | ( | void | ) |
Get trace buffer depth.
void neorv32_tracer_irq_ack | ( | void | ) |
Acknowledge/clear pending tracer interrupt.
int neorv32_tracer_run | ( | void | ) |
Check if tracer is running.
|
inline |
Start tracing.
|
inline |
Stop tracing.