![]() |
NEORV32 - Software Framework Documentation
|
NEORV32 Runtime Environment. More...
Go to the source code of this file.
Macros | |
#define | NEORV32_RTE_NUM_TRAPS 29 |
Enumerations | |
enum | NEORV32_RTE_TRAP_enum { RTE_TRAP_I_MISALIGNED = 0 , RTE_TRAP_I_ACCESS = 1 , RTE_TRAP_I_ILLEGAL = 2 , RTE_TRAP_BREAKPOINT = 3 , RTE_TRAP_L_MISALIGNED = 4 , RTE_TRAP_L_ACCESS = 5 , RTE_TRAP_S_MISALIGNED = 6 , RTE_TRAP_S_ACCESS = 7 , RTE_TRAP_UENV_CALL = 8 , RTE_TRAP_MENV_CALL = 9 , RTE_TRAP_MSI = 10 , RTE_TRAP_MTI = 11 , RTE_TRAP_MEI = 12 , RTE_TRAP_FIRQ_0 = 13 , RTE_TRAP_FIRQ_1 = 14 , RTE_TRAP_FIRQ_2 = 15 , RTE_TRAP_FIRQ_3 = 16 , RTE_TRAP_FIRQ_4 = 17 , RTE_TRAP_FIRQ_5 = 18 , RTE_TRAP_FIRQ_6 = 19 , RTE_TRAP_FIRQ_7 = 20 , RTE_TRAP_FIRQ_8 = 21 , RTE_TRAP_FIRQ_9 = 22 , RTE_TRAP_FIRQ_10 = 23 , RTE_TRAP_FIRQ_11 = 24 , RTE_TRAP_FIRQ_12 = 25 , RTE_TRAP_FIRQ_13 = 26 , RTE_TRAP_FIRQ_14 = 27 , RTE_TRAP_FIRQ_15 = 28 } |
Functions | |
Prototypes | |
void | neorv32_rte_setup (void) |
int | neorv32_rte_handler_install (uint8_t id, void(*handler)(void)) |
int | neorv32_rte_handler_uninstall (uint8_t id) |
void | neorv32_rte_print_hw_config (void) |
void | neorv32_rte_print_hw_version (void) |
void | neorv32_rte_print_credits (void) |
void | neorv32_rte_print_logo (void) |
void | neorv32_rte_print_license (void) |
uint32_t | neorv32_rte_get_compiler_isa (void) |
int | neorv32_rte_check_isa (int silent) |
NEORV32 Runtime Environment.
#define NEORV32_RTE_NUM_TRAPS 29 |
NEORV32 runtime environment: Number of available traps.
NEORV32 runtime environment trap IDs.
int neorv32_rte_check_isa | ( | int | silent | ) |
NEORV32 runtime environment: Check required ISA extensions (via compiler flags) against available ISA extensions (via MISA csr).
[in] | silent | Show error message (via neorv32.uart) if isa_sw > isa_hw when = 0. |
uint32_t neorv32_rte_get_compiler_isa | ( | void | ) |
NEORV32 runtime environment: Get MISA CSR value according to compiler/toolchain configuration.
int neorv32_rte_handler_install | ( | uint8_t | id, |
void(*)(void) | handler | ||
) |
Install trap handler function to NEORV32 runtime environment.
[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);"). |
int neorv32_rte_handler_uninstall | ( | uint8_t | id | ) |
Uninstall trap handler function from NEORV32 runtime environment, which was previously installed via neorv32_rte_handler_install(uint8_t id, void (*handler)(void)).
[in] | id | Identifier (type) of the targeted trap. See NEORV32_RTE_TRAP_enum. |
void neorv32_rte_print_credits | ( | void | ) |
NEORV32 runtime environment: Print project credits
void neorv32_rte_print_hw_config | ( | void | ) |
NEORV32 runtime environment: Print hardware configuration information via UART
void neorv32_rte_print_hw_version | ( | void | ) |
NEORV32 runtime environment: Print the processor version in human-readable format.
void neorv32_rte_print_license | ( | void | ) |
NEORV32 runtime environment: Print project license
void neorv32_rte_print_logo | ( | void | ) |
NEORV32 runtime environment: Print project logo
void neorv32_rte_setup | ( | void | ) |
Setup NEORV32 runtime environment.