A few days ago, I managed to sort out some shipping issues, and I finally got my hands on a SiFive HiFive1 board. This is something new, open source hardware, thanks to RISC-V. No, really. The MCU is open source, just go and grab the RTL files from their GitHub.
Anyway, I’ve been playing around with it for a few days, and I’m not ready for a review yet, but I thought I’d let you know how it is going.
Short version – it rocks!
Long version, I love it. It is a “Pioneer Edition”, and as such, you can expect a few problems here and there, and indeed, there are a few. Nothing major, but this board isn’t ready for production systems. Not yet, at least.
There are two ways of using the board; Arduino, or the native code. Using the Arduino IDE is simple enough, it only takes a few steps, and you are good to go with what has to be the fastest Arduino ever.
Using native development tools does take a little more work, but nothing too much. Put simply, get the source code from GitHib, run a make command, and let your PC churn out object files for 10 minutes or so. Afterwards, you get all the tools you need to compile, flash and debug.
One of the example programs is called “Dhrystone”, and you can guess what it does – a benchmark. So, my HiFive1 is running at a core frequency of 259,863,347 Hz. The result is 724637.6 Dhrystones per second, or to put it another way, 1.58DMIPS/MHz. My Nucleo F411RE, running on a STM32F411RET6 microcontroller (ARM Cortex-M4, 100MHz clock) achieves about 400k Dhrystones/second, or 2.27DMIPS/MHz. Let’s put that into perspective; the Cortex-M4 is a highly optimized core, with years of R&D, and far from being the first iteration of the Cortex series microcontrollers. The E300 is a very new chip, and one of the first RISC-V designs available. And it’s Open Source, it is only a question of time before people start suggesting improvements to the design. Oh, and it runs much faster. The 260MHz of this chip vastly outpowers the F411RE, and while I don’t have any tools capable of telling me the exact power consumption, I can say that it runs ice cold; during the few minutes that the benchmark runs, the chip doesn’t even get warm.