I bought a Longan Nano evaluation board equipped with a GD32VF103 Risc-V MCU.
I can run the video player demo, and compile and load working code using VS Code, PlatformIO and the DFU tool. Below a video of the board and the demo running.
What I want to do
I’m building a robot for a robot competition as an hobby. I used a Microchip 4809 8bit MCU for the motor controller, but I hit the limit of the MCU in running the PID controller at 2KHz and I have yet to add the current loops. I wanted to upgrade the motor controller and I decided to pick up the Longan Nano because of the LCD screen, the vastly superior CPU horsepower and to learn Risc-V.
I can run the pheriperals of the Longan Nano just fine in polling. I tried REALLY hard to make the interrupts work to no avail. I tried to read in polling the interrupt flags and they work that way, so I think its either a linker problem in linking the ISR handler to te Interrupt Vector table in Start.s or a configuration problem with the ECLIC.
This is a polling example that runs correctly. The red led blinks at 2Hz and pressing the boot button will toggle the blue led.
This is an interrupt example that doesn’t work. And I can’t figure out why.
I’d like help in making the interrupts on the Longan Nano GD32VF103 work