RISC-Vチップで動作するプログラムを開発する場合、いくつか方法が存在する。
これらの方法はどちらとも、本ブログを通じで紹介してきた。Arduino IDEは他のArduinoプラットフォームとの親和性が良く、Arduinoチップとして楽しむならば十分な環境だ。 Freedom-E-SDKはコンソールを使ってプログラムのコンパイルやアップロードを行う環境で、初心者にはややハードルが高いが、柔軟なプログラムを開発することができる。 Freedom-E-SDKでもデバッグはできるみたいだが、あまり調査していないしちょっとハードルが高い。 もう少し初心者向けのツールとして、EclipseをベースとしたGUIツールとして、SiFiveから"Freedom Studio"というものが公開されている。 これの使い心地はどうだろう。
注: このキャプチャ画面は試行中に取得したもので、指定したツールチェインのパスは間違っている。下記の設定項目を確認してください。
Freedom StudioのダウンロードはSiFiveのホームページから誰でもダウンロードすることができる。 実際、マニュアルだけ読めば、ほかの資料を一切当たらなくても、HiFive1で簡単なプログラムを動作させることができた。 Windowsで開発できるというのはとても便利だ。
少し注意点なのは、Freedom StudioにRISC-VのWindows用GCCやOpenOCD、ツールチェインの場所を教えてやらなければならない。 この設定を最初に間違えていて、エラーの原因が分からずに苦労した。
Freedom Studioの画面から、[Window]→[Preferences]をクリックして、[MCU]の項目を設定していく。
- Global Build Tool Path :
$(Freedom Studioのパッケージ場所)\FreedomStudio\build-tools\bin
- Global OpenOCD Path :
$(Freedom Studioのパッケージ場所)\FreedomStudio\SiFive\riscv-openocd-20170612-x86_64-w64-mingw32\bin
- Global RISC-V Toolchain Path :
$(Freedom Studioのパッケージ場所)\FreedomStudio\SiFive\riscv64-unknown-elf-gcc-20170612-x86_64-w64-mingw32\bin
を指定する。さらに、HiFive1をWindows上でデバッグするためには、Windowsにドライバをインストールする必要がある。
$(Freedom Studioのパッケージ場所)\FreedomStudio\SiFive\Misc
に格納されている、対応しているボードのドライバを指定する。
予めパッケージに含まれているサンプルプログラムをFreedom Studioにインポートし、その中でdemo_gpioを動作させた。ビルドを実行し、「Debug Run」を実行するとデバッグモードに移行する。 Tera Termからシリアルコンソールを観測すると、無事にコンソールが表示された。
このFreedom Studio、何がうれしいって、Windows上で動作するGCCが含まれていることだ。 これまでRISC-VのツールチェインはLinuxかMacOSあたりでしか動作していなかったようだが、Windows用のビルドツールチェインが用意されていることは大きい。
これからは、HiFive1のアプリケーション開発はWindowsでやろうかな。