You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

29 lines
878 B

4 years ago
4 years ago
4 years ago
  1. # vexriscv_mem_mapped_example
  2. ### Tools:
  3. Use the Virtual Machine 1.5 from:
  4. https://random-oracles.org/risc-v/
  5. [GitHub](https://random-oracles.org/risc-v/)
  6. ### Starting the Vexriscv Simulation
  7. Open console, change to folder 'vexriscv' and run
  8. '''
  9. sbt "runMain mupq.PQVexRiscvSim"
  10. '''
  11. ### Connecting openocd-vexriscv
  12. Open new console, change to folder 'vexriscv' and run
  13. '''
  14. openocd-vexriscv -f vexriscvsim.cfg
  15. '''
  16. ### Compile and run the C code
  17. Open new console (the third one), change to folder 'c_project' and compile the project:
  18. '''
  19. make
  20. '''
  21. Then load the created ELF file into the simulation via GDB:
  22. '''
  23. riscv64-unknown-elf-gdb -tui -ex 'set remotetimeout 15' -ex 'target remote :3333' -ex 'load' -ex 'break main' -ex 'continue' main
  24. '''
  25. Set some more breakpoints and step through the code with 'c' (continue). You will see the UART output in console 1 (vexriscv sim).