XIRQ interrupt handler (NEORV32 RISC-V Processor - Zephyr) #65661
Unanswered
SteveZ-Cal
asked this question in
General
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Zephyr
V3.4.0
Board (NEORV32 RISC-V Processor)
V1.8.6 (currently supported version)
Initial FPGA Setup
Upload NEORV32 RISC-V Processor on Cyclone V DE0-CV
Code
#define MY_DEV_IRQ 17
#define MY_DEV_IRQ_PRIO 1
#define MY_ISR_ARG 0
#define MY_IRQ_FLAGS 0
FIRQ table for neorv32.dtsi
Interrupt Setup:
I'm trying to control the Custom Functions Subsystem (CFS) of the NEORV32, which has { 0 1 &intc 0 17 } from the interrupt-map above. (Press switch 'SW9' cfs_in_i(0) on FPGA to indicate an interrupt occurs)
Below is my self-implemented corresponding NEORV32 CFS irq_process in vhdl (try to catch only one pulse upon press switch) :
Problems:
(1) I tested that I was able to achieve an interrupt when I press SW9, but it just stays in the my_isr, (Ex: keeps printing "INSIDE my_isr" as indicated by my_isr), and not return after this.
If (1) could be solved, I want PC_Jump features in my_isr
(2) Whenever an interrupt occurs, I want my PC jump to a specific portion of the memory like 0x20000 as indicated by my uncommented part in my_isr.
Beta Was this translation helpful? Give feedback.
All reactions