RISC-Vのメーリングリストを読んでいて知ったのだが、FreeRTOSという無償のリアルタイム向けOSがあるらしい。これをRISC-V向けに移植している人がいるそうだ。
RISC-Vへの移植が進められており、Privilege v.1.9への移植版が公開されていた。どんなもんなのか、ダウンロードして実行できるだろうか。
まず、上記のgithubからソースコードをダウンロードしてくる。
GitHub - illustris/FreeRTOS-RISCV
git clone https://github.com/illustris/FreeRTOS-RISCV
cd FreeRTOS-RISCV/Demo/riscv-spike
ちなみに、makeを実行するときはRISC-Vのツールセットの場所を指定しなければならないのに注意すること。
make RISCV=/home/vagrant/riscv
これで、riscv-spike.elf
というファイルが作成される。これを実行すれば何かしら表示とか出るのかなあ。。。
$ make sim spike riscv-spike.elf (反応なし)
とりあえず流しっぱなしにしているが、何も反応がない。次はRISCVEMUでも流してみるが、やはり反応がない。
$ ./riscvemu ~/work/FreeRTOS-RISCV/Demo/riscv-spike/riscv-spike.elf (反応なし)
一回FPGAで流してみるか。。。
2017/04/01追記
Spikeのバージョンアップをして流してみると動作した。ただし、ログを取ろうとするとやはり大きすぎてディスクを食い尽くしてしまう。
spike riscv-spike.elf PASS!