![]() |
API Reference
The NEORV32 RISC-V Processor
|
Execution trace buffer (TRACEBUF) HW driver header file. More...
Go to the source code of this file.
Data Structures | |
| struct | neorv32_tracebuf_t |
Functions | |
| static void | neorv32_tracebuf_start (void) |
| static void | neorv32_tracebuf_stop (void) |
Prototypes | |
| int | neorv32_tracebuf_available (void) |
| void | neorv32_tracebuf_enable (int hsel, uint32_t stop_addr) |
| void | neorv32_tracebuf_disable (void) |
| int | neorv32_tracebuf_get_buffer_depth (void) |
| int | neorv32_tracebuf_run (void) |
| void | neorv32_tracebuf_irq_ack (void) |
| int | neorv32_tracebuf_data_avail (void) |
| uint32_t | neorv32_tracebuf_data_get_src (void) |
| uint32_t | neorv32_tracebuf_data_get_dst (void) |
IO Device: Execution trace buffer (TRACEBUF) | |
| #define | NEORV32_TRACEBUF ((neorv32_tracebuf_t*) (NEORV32_TRACEBUF_BASE)) |
| enum | NEORV32_TRACEBUF_CTRL_enum { TRACEBUF_CTRL_EN = 0 , TRACEBUF_CTRL_HSEL = 1 , TRACEBUF_CTRL_START = 2 , TRACEBUF_CTRL_STOP = 3 , TRACEBUF_CTRL_RUN = 4 , TRACEBUF_CTRL_AVAIL = 5 , TRACEBUF_CTRL_IRQ_CLR = 6 , TRACEBUF_CTRL_TBM_LSB = 7 , TRACEBUF_CTRL_TBM_MSB = 10 } |
Execution trace buffer (TRACEBUF) HW driver header file.
| #define NEORV32_TRACEBUF ((neorv32_tracebuf_t*) (NEORV32_TRACEBUF_BASE)) |
TRACEBUF module hardware handle (#neorv32_tracer_t)
TRACEBUF control register bits
| int neorv32_tracebuf_available | ( | void | ) |
Check if TRACEBUF module was synthesized.
| int neorv32_tracebuf_data_avail | ( | void | ) |
Check if trace buffer data is available.
| uint32_t neorv32_tracebuf_data_get_dst | ( | void | ) |
Get trace data: delta-destination. @important Use AFTER #neorv32_tracer_data_get_src().
| uint32_t neorv32_tracebuf_data_get_src | ( | void | ) |
Get trace data: delta-source. @important Check if data is available before with #neorv32_tracer_data_avail().
| void neorv32_tracebuf_disable | ( | void | ) |
Reset and disable trace buffer.
| void neorv32_tracebuf_enable | ( | int | hsel, |
| uint32_t | stop_addr | ||
| ) |
Reset, enable and configure trace buffer.
| [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_tracebuf_get_buffer_depth | ( | void | ) |
Get trace buffer depth.
| void neorv32_tracebuf_irq_ack | ( | void | ) |
Acknowledge/clear pending trace buffer interrupt.
| int neorv32_tracebuf_run | ( | void | ) |
Check if trace buffer is running.
|
inlinestatic |
Start trace logging.
|
inlinestatic |
Stop trace logging.