RISC-V Spike のインストール
投稿日:2025年03月27日 最終更新日:2025年04月04日
1. はじめに
これから、RISCV の自作CPUに挑戦しようと考えています。そのために、まずは検証環境を整えます。今回は、RISC-V toolchain、Spike と RISC-V Proxy Kernel (PK) をインストールします。
4. 準備
以下のコマンドを実行して、ツールのインストール先を作成します。
cd <任意のディレクトリ>
mkdir riscv
export RISCV=/path/to/riscv
export PATH=$RISCV/bin:$PATH
export RISCV=/path/to/riscv
export PATH=$RISCV/bin:$PATH
は、 .bashrc
に追加しておくと便利です。さもなくば、ターミナルを開くたびに実行する必要があります。
5. riscv-gnu-toolchain
まずは、riscv-gnu-toolchain をインストールします。これは、RISC-V用のクロスコンパイラです。
READMEに従ってインストールします。
まず、必要なパッケージをインストールします。
$ sudo apt-get install autoconf automake autotools-dev curl python3 python3-pip python3-tomli libmpc-dev libmpfr-dev libgmp-dev gawk build-essential bison flex texinfo gperf libtool patchutils bc zlib1g-dev libexpat-dev ninja-build git cmake libglib2.0-dev libslirp-dev
次に、ツールをインストールします。
$ cd <任意のディレクトリ>
$ git clone https://github.com/riscv/riscv-gnu-toolchain
$ cd riscv-gnu-toolchain/
$ ./configure --prefix=$RISCV
$ make -j$(nproc)
make linux
ではなく、 make
であることに注意してください。riscv-tests のビルドに影響します。
特にエラーが出力されなければ、おそらく無事に完了していると思います。(警告は大量にでた)
下記コマンドで、インストールされたツール群を確認してみます。
$ ls $RISCV/bin
6. Spike
次に、Spikeをインストールします。
こちらも、READMEに従ってインストールします。
$ sudo apt install device-tree-compiler libboost-regex-dev libboost-system-dev
$ cd <任意のディレクトリ>
$ git clone https://github.com/riscv-software-src/riscv-isa-sim.git
$ cd riscv-isa-sim/
$ mkdir build
$ cd build
$ ../configure --prefix=$RISCV
$ make
$ make install
注意: make は -j オプションを使用すると、エラーが出ました。おそらく、依存関係がうまく解決できていないのだと思われます。
インストールが完了したら、 ls $RISCV/bin
を実行してみてください。 新たに spike がインストールされていることが確認できます。
7. RISC-V Proxy Kernel (PK)
次に、RISC-V Proxy Kernel (PK) をインストールします。
下記のコマンドを実行してください。
$ cd <任意のディレクトリ>
$ git clone https://github.com/riscv-software-src/riscv-pk
$ cd riscv-pk
$ mkdir build
$ cd build
$ ../configure --prefix=$RISCV --host=riscv64-unknown-elf
$ make
$ make install
完了後、以下のディレクトリに、PK がインストールされます。
$ ls $RISCV/riscv64-unknown-elf/bin/
ar as bbl dummy_payload ld ld.bfd nm objcopy objdump pk ranlib readelf strip
9. おわりに
さて、今回は、RISC-V toolchain、Spike と RISC-V Proxy Kernel (PK) をインストールしました。といっても、ほぼ参考ページとREADMEに従って進めただけで、エラーなく完了したため、難しいことはなかったです。
次回は、この環境に riscv-testsをインストールして、テストを実行してみたいと思います。