FPGA開発日記

FPGAというより、コンピュータアーキテクチャかもね! カテゴリ別記事インデックス https://sites.google.com/site/fpgadevelopindex/

Windowsで動作するRISC-Vプログラム開発環境"Freedom Studio"

RISC-Vチップで動作するプログラムを開発する場合、いくつか方法が存在する。

  • Arduino IDEを使って開発する
  • Freedom-E-SDK を使って開発する

これらの方法はどちらとも、本ブログを通じで紹介してきた。Arduino IDEは他のArduinoプラットフォームとの親和性が良く、Arduinoチップとして楽しむならば十分な環境だ。 Freedom-E-SDKはコンソールを使ってプログラムのコンパイルやアップロードを行う環境で、初心者にはややハードルが高いが、柔軟なプログラムを開発することができる。 Freedom-E-SDKでもデバッグはできるみたいだが、あまり調査していないしちょっとハードルが高い。 もう少し初心者向けのツールとして、EclipseをベースとしたGUIツールとして、SiFiveから"Freedom Studio"というものが公開されている。 これの使い心地はどうだろう。

www.sifive.com

www.sifive.com

注: このキャプチャ画面は試行中に取得したもので、指定したツールチェインのパスは間違っている。下記の設定項目を確認してください。

f:id:msyksphinz:20170911012523p:plain

Freedom StudioのダウンロードはSiFiveのホームページから誰でもダウンロードすることができる。 実際、マニュアルだけ読めば、ほかの資料を一切当たらなくても、HiFive1で簡単なプログラムを動作させることができた。 Windowsで開発できるというのはとても便利だ。

少し注意点なのは、Freedom StudioにRISC-VのWindowsGCCや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に格納されている、対応しているボードのドライバを指定する。

f:id:msyksphinz:20170911021230p:plain

予めパッケージに含まれているサンプルプログラムをFreedom Studioにインポートし、その中でdemo_gpioを動作させた。ビルドを実行し、「Debug Run」を実行するとデバッグモードに移行する。 Tera Termからシリアルコンソールを観測すると、無事にコンソールが表示された。

このFreedom Studio、何がうれしいって、Windows上で動作するGCCが含まれていることだ。 これまでRISC-VのツールチェインはLinuxMacOSあたりでしか動作していなかったようだが、Windows用のビルドツールチェインが用意されていることは大きい。

これからは、HiFive1のアプリケーション開発はWindowsでやろうかな。