1 The Hardware
For years I have heard stories about the legendary open-source RISC-V core. Is it just a toy for geeks locked in the ivory towers? Haven’t we got enough CPU cores already? Don’t they work reliably?
To be honest, it rankled me that I failed to de-activate Intel’s management engine which is most certainly an easier prey for malicious hackers than speculative execution bugs (Meltdown, Spectre).
It’s time to think about a more transparent core design. And that’s, where RISC-V steps in.
Recently I came across a 10 € board.
![]() |
| Debugging the SeeedStudio GD32 RISC-V Dev Board |
2 The Course Of Action
2.1 An Overview
Where do we begin? Let’s have a look at a development system for embedded systems.
![]() |
| Developing Embedded Systems |
Greyed-out objects are terra incognita that we will have to discover. At this time the only known thing is the PC which should have a recent Linux variant installed. Blog by blog we will see how the objects will be colored.
The objectives of this blog series are to set up a practicable development system and to benchmark RISC-V. Therefore, the implementations of the subsystems will be kept as simple as possible. But still, they will be expandable and an appropriate starting point for production-quality code.
2.2 IDEs
“Stop. Keep it simple!” you might argue. “SeeedStudio delivers not only the board, but it also provides a display and a software example. And Seeedstudio recommends platformIO as
an IDE.”
- IDEs (Integrated Development Environment) — like platformIO or Eclipse — just run the tools under the hood. Wrapping up stand-alone binaries hardly increases the functionality but add complexity and ruin efficiency.
- As we will see, some tools are not mature yet. The documented example (see https://wiki.seeedstudio.com/SeeedStudio-GD32-RISC-V-Dev-Board/#platforms-supported) downloads the binaries via the DFU (Device Firmware Upgrade) interface. However, DFU was never designed for development and does only conceal a flaw in FLASH handling. Common practice today is to use the debug probe for flashing and debugging the application.
- Eventually, we need the knowledge for more advanced uses.


No comments:
Post a Comment