現実に利用できるRISV-V環境

では現時点で利用できるRISC-V環境は? というと、今のところシリコンで提供されている開発ボードとしては、SiFiVeのHiFive1(Photo07)とHiFive Unleashed(Photo08)が一番メジャーで、他にGreenWaves TechnologiesのGAP8を搭載するGAPuinoや、KendryteのRV64ベースのK210を搭載するK210 AI Board、NXPのRV32ベースMCUを搭載するVEGAボードなどいくつかあるほか、FPGAベースで言えば10を超えるプロジェクトが存在している。

何しろXilinx/Lattice/Microchip(Microsemi)/QuickLogicの各社がRISC-Vに対応しており、この辺りを選べば色々と出来る…はずなのだが、実際には「GitHubからソース一式落としてきてXilinxのFPGA向けにBuildしたけどさっぱり動かない」などという話が多い。

これらの中には研究プロジェクトに近いものも含まれていることもあり、そうそう簡単に動く訳もないのだが、ソフトウェア開発者としては、もう少し簡単にRISC-Vの環境を試したいところではある。となると現状では冒頭に書いたHiFive1が一番手っ取り早いのだが、こちらもまだ国内では買えないということで、ArmベースのMCUボードがいくらでも買える現状と比べると不便さは否めない。

この状況は、IARにとっても「学習用に手軽な開発ボードが無い」と言う点で、不便を感じていたようで、「無いなら作ってしまえ」ということで、今回発表されたのが「IAR DevCon Evaluation board」(Photo09,10)である。

  • RISC-V

    Photo09:「現時点では」外販の予定は無いらしいのだが、DevConでも「これ教材に使いたい」といった問い合わせが多かったとか

  • RISC-V

    Photo10:右上にはSTMicroのSTM32F405、右下にはSiFiveのFE310が搭載されており、JTAGプローブを取り付けてそれぞれ利用する(2つ使えば両方を同時に使えるか、までは確認しなかった)。左にはArduino Shield用のパターンまで用意されている

このEvaluation board、オンボードでのJTAG機能(というかJTAGチップ)は搭載しておらず、必然的にIARのJTAGプローブであるI-Jetが必要になる(ちなみにお値段は40000円)のだが、Photo09の説明にある様に簡易型のI-Jet Liteが付属。さらに評価用のIAREWのライセンスも付属しており、評価や学習はこれ単体で完結する様になっている(ちなみにI-JetはArm用とRISC-V用は共通で、ただしRISC-Vに関してはまだPower Debuggingが出来ないのが唯一の違いとの事)。これを利用することで、ArmとRISC-Vの両方の環境の学習とかテストも出来るし、コードの比較なども容易になるだろう。

余談だがこのボード、I/O制御の評価用に(Photo09にもあるが)RGB LEDやスイッチ、光/温度/3軸加速度センサー/マイク/ポテンショメータといった周辺機器が搭載されている。

これらはSTM32F405とEF310の両方からアクセス可能なのだが、STM32F405はともかくEF310の方はそもそもGPIOだけでアナログI/Oを搭載していない。そこでわざわざADC/DACチップとしてAD5592Rを搭載、これを経由して周辺回路をEF310に接続するという手間の掛け様である(なんとなく、やはりAnalog I/Oを持たないのでI2C経由でADC/DACをつないでいたIntelのGalileoを思い出すが、こちらはSPI経由なのでずっと高速である)。もっとも先に紹介したHiFive 1も状況は同じであり、こちらはそもそもアナログI/Oを持っていない。それもあってマニュアルにはハッキリと「Shields with Analog input requirements will need an adapter as the FE310-G000 does not include analog components(FE310-G000にはアナログ回路が含まれていないので、アナログ入力が必要なシールドを使うにはアダプタを介する必要がある)」と明記されている。その意味では、アナログ入出力が可能なIARのEvaluation boardの方が使い出があるかもしれない。