I’ve put together a series of posts on Medium covering bare-metal RISC-V development and C++.
- An overview of a simple bare-metal blinky application for the SiFive HiFive Rev-B
- Intro to PlatformIO for RISC-V
- Zero to
main()
for RISC-V, in (almost) pure C++. - The CSR system registers of RISC-V and zero cost C++ abstractions.
- The RISC-V machine mode timer and timing keeping using the C++ std::chrono library.
- The basics of RISC-V interrupt handling, and C++ lambda functions.
(These are also included in this blog.)