IRQ Vector table 'conext' #33
Unanswered
JV73
asked this question in
Mi-V RV32 Soft Processors
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
I have an RV32 implementation that 'was working', but now that I updated to the v3.1.100, things are a bit strange. I have a 'boot loader' (that does not define or enable any interrupts) which is loaded into TCM (x8000_0000) by a 'state-machine' at power-up. The Boot loader validates and then loads my application from external SPI flash into a 256kByte AHB-L LSRAM block (x2000_0000) and then 'jumps' to the load address (x2000_0000). The 'application' includes ISRs for two 'push-buttons' and the SysTick timer which are enabled in main.c before my task loop begins. In a previous build with a previous RV32 version, this is working beautifully.
With the new RV32 version (3.1.100) the boot loader runs fine, and I can see the application 'start-up' and single stepping gets all the way through the task loop 'many times' when single-stepping; but if I just let it run, the code 'hangs' quickly. It does not 'trap' in the HAL anywhere, but rather, if you 'pause' the debugger it's sitting at x8000_07D4 which suggest that an interrupt (probably the SysTick) got vectored there instead of into x2000_0xxx. (Commenting out the interrupts allows 'the rest' of the 'application' to run correctly.) Reading the release notes, I don't see anything that suggests that the interrupt controller would NOT be re-initialized by the 'second build'. Am I approaching this incorrectly ?
Beta Was this translation helpful? Give feedback.
All reactions