組み込み

RISC-VをFreedom Studioでビルド・デバッグする方法

見習いタロー
見習いタロー
RISC-Vが気になるんで、ちょっと動かしたいんだけど…
見習いタロー
見習いタロー
RISC-Vが気になるあなたに、RISC-VをArty A7ボードで動かす方法を解説しますよ!

オープンソースのISAとして注目を集め始めているRISC-V、ハードでLinuxのような革命が起こせるのかと期待されています。

RISC-Vはオープンソースでコードも公開されているため、誰でもFPGAにRISC-Vコアをビルドして動作させることができます。

前回、開発環境を構築してXilinx Artix FPGAを搭載したDigilentのArty A7ボード用にFPGAデータをSPI Flashに書き込みました。

電源を入れるとFlashに格納したFPGAデータがFPGAに書き込まれ、RISC-Vコアが起動します。

RISC-VをArty A7 FPGAに実際に書き込む オープンソースのISAとして注目を集め始めているRISC-V、ハードでLinuxのような革命が起こせるのかと期待されてい...

 

今回は、RISC-Vコアにサンプルプログラムを書き込みます。

たいと思います。

 

準備

環境構築前の準備

必要なもの

Digilent Arty A7

Xilinx Artix A7を搭載したDigilentの開発ボードです。

 

Olimex

ARM-USB-TINY-H JTAGアダプタです。デバッグで必要となります。

 

ジャンパケーブル

Arty A7とOlimexを接続するために使用します。

端の茶色から使用すると、色が合うため配線の時に楽です。

 

ケーブルの作成や実機との接続方法は、前回の記事を見てください。

RISC-VをArty A7 FPGAに実際に書き込む オープンソースのISAとして注目を集め始めているRISC-V、ハードでLinuxのような革命が起こせるのかと期待されてい...

 

Freedom-e-sdkを使ったソフト開発

RISC-Vのソフト開発には、Freedom-e-sdkというソフトウェア開発キットが用意されています。

Freedom-e-sdkを使用したソフト書き込み方法をここでは解説します。

Freedom E SDKの取得

テストプログラム・デバッグ環境・コンパイラなどが入ったソフトウェア開発キットです。

Gitでクローンしてきます。

 

環境変数の設定

ソフトウェアをビルドするために環境変数を設定します。

.bashrcに記載しておくことで次回起動時も変数が保存されます

 

ソフトウェアのビルド

FREEDOM E SDKを取得したディレクトリに移動して、makeコマンドを実行します。

softwareコマンドでビルドし、uploadで実機に転送しています。

 

以下は成功した時のコマンド実行ログです。

 

プログラムの動作確認

UARTで確認します。

tioがインストールされていない場合はsudo apt install tioでインストールしてください。

 

Freedom Studioを使ったソフト開発

Freedom E SDKは、コマンドベースで作業しなければなりませんので、初心者には少し敷居が高いです。

でも、安心してください。

SiFiveからEclipseベースの統合開発環境であるFreedom Studioが用意されています。

Freedom Studioでソフト開発する方法を解説します。

 

Freedom Studioの準備

SiFiveのサイトから「Freedom Studio」をダウンロードします。

Ubuntuで動作させているため、Linuxを選択します。

 

ダウンロード完了後、tar.gzを任意のディレクトリに解凍してください。

Freedom Studioでの

解凍したディレクトリにあるFreedomStudioを実行してください。

Freedom Studioが起動します。

 

使い方はEclipseと同じです。

Workspaceの設定はデフォルトで問題ないです。変えたい場合は好きなディレクトリを選択してください。

Welcome画面が出てきます。

ソフトの書き込みは「I want to create a new Freedom E SDK Project」を選択してください。

もし出てこない場合は、Helpの「Let’s Get Started」から表示できます。

ちなみに、SPI FlashにFPGAデータのmcsファイル書き込みは「I want to flash an MCS file to my Arty board」で行えます。

事前にVivadoのインストールは必要です。

RISC-V FPGA ビルド編の記事を参考にしてください。

RISC-VをArty A7 FPGA用にビルドする方法 オープンソースのISAとして注目を集め始めているRISC-V、ハードでLinuxのような革命が起こせるのかと期待されてい...

 

サンプルプロジェクトの作成

サンプルプロジェクトの作成画面が出てきますので、設定します。

今回はUARTで確認するhelloを使用します。

 

Select Target(開発ボードの選択):freedom-e310-arty

Select Example Program(サンプルプログラムの選択):hello

詳細設定はデフォルトのままで問題ありません。Debugをクリックします。

使い方はEclipseと同じです。

ビルドボタンでビルドができます。

デバッグ開始でターゲットボードへプログラムを転送してmain関数でブレークします。

そこからはブレークポイントを設定したり、ステップをしたりといった基本的なデバッグが可能です。

 

ターミナル設定を

プログラムを一部修正してデバッグ開始。

Resume(F8)で再実行するとターミナルに表示されました。

まとめ

Freedom Studioを用いてRISC-Vの開発ができるようになりました。

GUIでデバッグもできるようになるため、開発効率はコマンドラインよりも向上すると思います。

FPGAでハードを作ってソフトをその上で動かす。ソフトウェアだけで無くハードウェアも学ぶ組み込みの教育プログラムとしてもいい題材だと思います。

この環境でRISC-Vについて、引き続き調査したいと思います。

 

RISC-Vに興味がある方はこの本を読んでみてください。

著者は、RISC-Vに実際に参画しているCPUアーキテクチャの権威 パターソン先生です。

ABOUT ME
プロコアラ
プロコアラ
RPAコンサルタントのプロコアラです。長年のエンジニア経験を活かしてして外資系コンサルファームでRPAコンサルしてます。 転職ノウハウ、プログラミング、英語の勉強方法など分かりやすいように解説していきます。