[RISC-V技術ブログ連載第18回]QEMUを使ってRISC-Vを試す②

SiFive技術ブログ・アイキャッチ画像 RISC-V

1.はじめに

 前回は、エミュレータ(QEMU)を用いることで、実機を用意せずともRISC-V版Linux(Fedora)の動作を簡単に確認できる様子をご紹介しました。今回も引き続きQEMUの情報をお伝えしていきます。今回は実機(開発ボード)を用いず、またOSも使用しないベアメタル開発環境を手軽に揃えることができる様子をお伝えします。

2.環境準備

 SiFiveはベアメタル開発環境として、Freedom StudioというEclipseベースのソフトウェア統合開発環境を用意しています。Freedom Studioは、過去の技術ブログでも何度か登場していますが、アセンブラ、コンパイラ、リンカー、QEMU、OpenOCD、GDBといったオープンソースツール群と、SiFive提供のベアメタル開発用SDKであるFreedom E SDK(FESDK)が同梱されており、これらを用いた開発をすぐにスタートすることができます。
 Freedom Studioは、こちら(https://www.sifive.com/software)から入手することができます。現在のバージョンはv2021.04.1となっており(※)、Windows、MacOS、Linuxで動作させることができます。今回はWindows版Freedom Studioを使います。

※SiFive社では引き続き継続的にバージョンアップを行っております。詳細についてはDTSインサイトまでお問い合わせください。

3.Freedom E SDK Software Project作成

 Freedom Studioを起動し、Freedom E SDKを利用したサンプルプログラムを作成します。

プロジェクトの作成

 上図のSelect Target欄で”qemu-sifive-u54″を選ぶことで、実機ではなくエミュレータであるQEMU上でプログラムを動かすためのプロジェクトが作成されます。最後に “Finish” をクリックすると、自動的にビルド(Cソースプログラムのコンパイル)が開始されます。

4.QEMUでベアメタルプログラムを動かす

 実際にQEMU上でベアメタルプログラムである”sifive-welcome”が動作する様子をYouTube動画で示します。以下の画像をクリックしてください。

SiFive RISC-V QEMU動作デモ

5.まとめ

 いかがでしたでしょうか。Freedom Studioによって、とても簡単にQEMUを用いたベアメタル開発が行えることがお分かりいただけたのではないでしょうか。実開発を行う前に、Freedom Studioを実際に触っていただくことでSiFive RISC-Vのソフトウェア開発について理解を深めることに役立つのではないかと思います。
 なお、SiFiveではFreedom StudioへのRISC-V のVector Extension(RVV)の対応も着々と進めています。2022年5月31日から6月2日まで開催されるRISC-V Days Tokyo 2022 SpringのオンラインRISC-Vパビリオン弊社ブースでは、Freedom StudioのQEMU上でRVVに対応したプログラムが動作する様子をデモ動画でお伝えする予定です。5月31日に公開となりますので、どうぞお楽しみに!

 次回はちょっと趣向を変えまして、就労継続支援事業を展開しているLife-izさんで、AIやプログラミングといったIT技術に積極的に取り組まれている利用者さんに、初めてのRISC-V体験記として、SiFive RISC-V搭載ボードを実際に触っていただく体験レポートをこちらでご紹介したいと考えています。

本ブログについてのより詳しい内容へのご質問等ございましたら、ぜひお気軽にお問合せください。
 お問い合わせはこちら
   info-lsi@dts-insight.co.jp

著作権および商標
Linux は、Linus Torvalds の米国およびその他の国における登録商標です。
MacOSは、米国および他の国々で登録されたApple Inc.の商標です。
その他本ブログに記載する製品名は、一般に各開発メーカーの商標または登録商標です。
なお、本文中には™ および ® マークは表記していません。

■■DTSインサイトの「システムLSI設計ソリューションサービス」■■
 DTSインサイトでは、システムLSI/FPGA設計の受託も行っています。
 当社のノウハウを活かした、ソフトウェアの移行(マイグレーション)
 サービスも提供しておりますので、お気軽にご相談ください。

システムLSI設計ソリューションサービス紹介は こちら