Creating a lab for HiFive1 rev b board

Good day to you!
I am a student from New Jersey Institute of Technology and long story short I found myself in charge of creating a new lab that would implement HiFive 1 rev b board all programmed in assembly. Now i found videos online for creating a simple blink program in assembly and managed to successfully run it. My next step is to figure out how to use GPIO for output and most importantly input. I have been struggling to find material that would be helpful for a regular college student to create these programs. I am currently using VSCode with PlatformIO.
It would be helpful if you guys can point me in direction of some material that might help or create a sample program that will take input.
Thank you!

If you’re making a led blink, you’re using GPIO. Can you be more specific on what’s causing difficulty?

As for general educational material, there isn’t much on RISC-V yet compared to common embedded architectures.

I am trying to get inputs from gpio. I have a button will pull down resistor that should activate the led on the board. It works… Most of the time. What sometimes happen is that when the button is pressed the LED stays on after buttons release. I don’t know if it my pulldown resistor or what. Also is there a sample program for utilizing the UART functions?