NEORV32 Software Framework Documentation
The NEORV32 RISC-V Processor
|
NEORV32 Runtime Environment. More...
#include <neorv32.h>
Functions | |
static void | __neorv32_rte_print_hex (uint32_t num, int digits) |
void | neorv32_rte_setup (void) |
int | neorv32_rte_handler_install (int id, void(*handler)(void)) |
void | neorv32_rte_core (void) |
uint32_t | neorv32_rte_context_get (int x) |
void | neorv32_rte_context_put (int x, uint32_t data) |
void | neorv32_rte_debug_handler (void) |
Variables | |
static volatile uint32_t | __neorv32_rte_vector_lut [NEORV32_RTE_NUM_TRAPS] |
NEORV32 Runtime Environment.
|
static |
NEORV32 runtime environment (RTE): Private function to print the lowest 0 to 8 hex characters of a 32-bit number as hexadecimal value (with "0x" suffix).
[in] | num | Number to print as hexadecimal via UART0. |
[in] | digits | Number of hexadecimal digits to print (0..8). |
uint32_t neorv32_rte_context_get | ( | int | x | ) |
NEORV32 runtime environment (RTE): Read register from application context (on stack).
[in] | x | Register number (0..31, corresponds to register x0..x31). |
void neorv32_rte_context_put | ( | int | x, |
uint32_t | data ) |
NEORV32 runtime environment (RTE): Write register to application context (on stack).
[in] | x | Register number (0..31, corresponds to register x0..x31). |
[in] | data | Data to be written to register x. |
void neorv32_rte_core | ( | void | ) |
NEORV32 runtime environment (RTE): This is the core of the NEORV32 RTE (first-level trap handler, executed in machine mode).
void neorv32_rte_debug_handler | ( | void | ) |
NEORV32 runtime environment (RTE): Debug trap handler, printing information via UART0.
int neorv32_rte_handler_install | ( | int | id, |
void(* | handler )(void) ) |
NEORV32 runtime environment (RTE): Install trap handler function (second-level trap handler).
[in] | id | Identifier (type) of the targeted trap See NEORV32_RTE_TRAP_enum. |
[in] | handler | The actual handler function for the specified trap (function MUST be of type "void function(void);"). |
void neorv32_rte_setup | ( | void | ) |
NEORV32 runtime environment (RTE): Setup RTE.