NEORV32 Software Framework Documentation
The NEORV32 RISC-V Processor
Loading...
Searching...
No Matches
neorv32_rte.h
Go to the documentation of this file.
1// ================================================================================ //
2// The NEORV32 RISC-V Processor - https://github.com/stnolting/neorv32 //
3// Copyright (c) NEORV32 contributors. //
4// Copyright (c) 2020 - 2025 Stephan Nolting. All rights reserved. //
5// Licensed under the BSD-3-Clause license, see LICENSE for details. //
6// SPDX-License-Identifier: BSD-3-Clause //
7// ================================================================================ //
8
13
14#ifndef NEORV32_RTE_H
15#define NEORV32_RTE_H
16
17#include <stdint.h>
18
19/**********************************************************************/
55
56#define NEORV32_RTE_NUM_TRAPS 29
58
59/**********************************************************************/
63void neorv32_rte_setup(void);
64void neorv32_rte_core(void);
65int neorv32_rte_handler_install(int id, void (*handler)(void));
67uint32_t neorv32_rte_context_get(int x);
68void neorv32_rte_context_put(int x, uint32_t data);
70
71#endif // NEORV32_RTE_H
int neorv32_rte_handler_install(int id, void(*handler)(void))
Definition neorv32_rte.c:79
void neorv32_rte_setup(void)
Definition neorv32_rte.c:41
void neorv32_rte_debug_handler(void)
Definition neorv32_rte.c:313
uint32_t neorv32_rte_context_get(int x)
Definition neorv32_rte.c:269
NEORV32_RTE_TRAP_enum
Definition neorv32_rte.h:24
@ RTE_TRAP_FIRQ_5
Definition neorv32_rte.h:43
@ RTE_TRAP_UENV_CALL
Definition neorv32_rte.h:33
@ RTE_TRAP_FIRQ_15
Definition neorv32_rte.h:53
@ RTE_TRAP_FIRQ_2
Definition neorv32_rte.h:40
@ RTE_TRAP_FIRQ_9
Definition neorv32_rte.h:47
@ RTE_TRAP_FIRQ_8
Definition neorv32_rte.h:46
@ RTE_TRAP_BREAKPOINT
Definition neorv32_rte.h:28
@ RTE_TRAP_I_ILLEGAL
Definition neorv32_rte.h:26
@ RTE_TRAP_FIRQ_3
Definition neorv32_rte.h:41
@ RTE_TRAP_FIRQ_13
Definition neorv32_rte.h:51
@ RTE_TRAP_FIRQ_7
Definition neorv32_rte.h:45
@ RTE_TRAP_S_MISALIGNED
Definition neorv32_rte.h:31
@ RTE_TRAP_FIRQ_4
Definition neorv32_rte.h:42
@ RTE_TRAP_L_MISALIGNED
Definition neorv32_rte.h:29
@ RTE_TRAP_I_ACCESS
Definition neorv32_rte.h:25
@ RTE_TRAP_L_ACCESS
Definition neorv32_rte.h:30
@ RTE_TRAP_S_ACCESS
Definition neorv32_rte.h:32
@ RTE_TRAP_FIRQ_14
Definition neorv32_rte.h:52
@ RTE_TRAP_FIRQ_1
Definition neorv32_rte.h:39
@ RTE_TRAP_FIRQ_0
Definition neorv32_rte.h:38
@ RTE_TRAP_FIRQ_11
Definition neorv32_rte.h:49
@ RTE_TRAP_FIRQ_6
Definition neorv32_rte.h:44
@ RTE_TRAP_MTI
Definition neorv32_rte.h:36
@ RTE_TRAP_MEI
Definition neorv32_rte.h:37
@ RTE_TRAP_MSI
Definition neorv32_rte.h:35
@ RTE_TRAP_FIRQ_10
Definition neorv32_rte.h:48
@ RTE_TRAP_MENV_CALL
Definition neorv32_rte.h:34
@ RTE_TRAP_FIRQ_12
Definition neorv32_rte.h:50
@ RTE_TRAP_I_MISALIGNED
Definition neorv32_rte.h:27
void neorv32_rte_core(void)
Definition neorv32_rte.c:100
void neorv32_rte_context_put(int x, uint32_t data)
Definition neorv32_rte.c:293