NEORV32 Runtime Environment.
More...
◆ __neorv32_rte_core()
static void __neorv32_rte_core |
( |
void | | ) |
|
|
static |
NEORV32 runtime environment (RTE): This is the core of the NEORV32 RTE (first-level trap handler, executed in machine mode).
◆ __neorv32_rte_print_hex_word()
void __neorv32_rte_print_hex_word |
( |
uint32_t | num | ) |
|
|
static |
NEORV32 runtime environment (RTE): Private function to print 32-bit number as 8-digit hexadecimal value (with "0x" suffix).
- Parameters
-
[in] | num | Number to print as hexadecimal via UART0. |
◆ neorv32_rte_context_get()
uint32_t neorv32_rte_context_get |
( |
int | x | ) |
|
NEORV32 runtime environment (RTE): Read register from application context (on stack).
- Parameters
-
[in] | x | Register number (0..31, corresponds to register x0..x31). |
- Returns
- Content of register x.
◆ neorv32_rte_context_put()
void neorv32_rte_context_put |
( |
int | x, |
|
|
uint32_t | data ) |
NEORV32 runtime environment (RTE): Write register to application context (on stack).
- Parameters
-
[in] | x | Register number (0..31, corresponds to register x0..x31). |
[in] | data | Data to be written to register x. |
◆ neorv32_rte_debug_handler()
void neorv32_rte_debug_handler |
( |
void | | ) |
|
NEORV32 runtime environment (RTE): Debug trap handler, printing information via UART0.
◆ neorv32_rte_handler_install()
int neorv32_rte_handler_install |
( |
int | id, |
|
|
void(* | handler )(void) ) |
NEORV32 runtime environment (RTE): Install trap handler function (second-level trap handler).
- Parameters
-
[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);"). |
- Returns
- 0 if success, -1 if error (invalid id or targeted trap not supported).
◆ neorv32_rte_handler_uninstall()
int neorv32_rte_handler_uninstall |
( |
int | id | ) |
|
NEORV32 runtime environment (RTE): Uninstall trap handler function from NEORV32 runtime environment, which was previously installed via neorv32_rte_handler_install(uint8_t id, void (*handler)(void)).
- Parameters
-
- Returns
- 0 if success, -1 if error (invalid id or targeted trap not supported).
◆ neorv32_rte_print_about()
void neorv32_rte_print_about |
( |
void | | ) |
|
NEORV32 runtime environment (RTE): Print project info via UART0.
◆ neorv32_rte_print_hw_config()
void neorv32_rte_print_hw_config |
( |
void | | ) |
|
NEORV32 runtime environment (RTE): Print hardware configuration information via UART0.
- Warning
- This function overrides several CSR, CNT and HPM CSRs!
◆ neorv32_rte_print_hw_version()
void neorv32_rte_print_hw_version |
( |
void | | ) |
|
NEORV32 runtime environment (RTE): Print the processor version in human-readable format via UART0.
◆ neorv32_rte_print_license()
void neorv32_rte_print_license |
( |
void | | ) |
|
NEORV32 runtime environment (RTE): Print project license via UART0.
◆ neorv32_rte_print_logo()
void neorv32_rte_print_logo |
( |
void | | ) |
|
NEORV32 runtime environment (RTE): Print project logo via UART0.
◆ neorv32_rte_setup()
void neorv32_rte_setup |
( |
void | | ) |
|
NEORV32 runtime environment (RTE): Setup RTE.
- Note
- This function installs a debug handler for ALL trap sources, which gives detailed information about the trap. Actual handlers can be installed afterwards via neorv32_rte_handler_install(uint8_t id, void (*handler)(void)).
◆ __neorv32_rte_vector_lut
NEORV32 runtime environment (RTE): The >private< trap vector look-up table of the NEORV32 RTE.