ソースコードをRISC-V向けにコンパイルしてSpikeシミュレータで実行する

Last update: 2024/12/15


環境

前提

RISC-V GNU Compiler ToolchainとSpikeがインストールされていること。インストール方法は以下を参照。

RISC-V GNU Compiler Toolchainとツール群をインストールする

ソースコードをコンパイルする

RISC-V GNU Compiler ToolchainとSpikeをインストールしたので、動作確認がてらC言語のコードをコンパイルして、Spikeで実行してみる。まず以下のコードを作成してhello_world.cという名前で保存する。

#include <stdio.h>

int main ()
{
        printf("Hello World\n");

        return 0;
}

以下のコマンドでコンパイルすると、hello_world.riscvという名前でELFファイルができる。

$ riscv64-unknown-elf-gcc hello_world.c -o hello_world.riscv

Spikeでシミュレーションする

使用しているPCのアーキテクチャはx86_64なのでRISC-V向けにコンパイルしたプログラムを実行することはできないが、Spikeを使うことでシミュレーションすることができる。

以下のコマンドを実行すると、さきほど作成したファイルを実行することができる。ちなみに、pkというのはProxy Kernelの略称で、OSのシステムコールで呼び出される処理(printfなど)をOSの代わりに実行するプログラムのこと。

$ spike pk hello_world.riscv
Hello World

Copyright (c) 2024 kd