FPGA開発日記

カテゴリ別記事インデックス https://msyksphinz.github.io/github_pages , English Version https://fpgadevdiary.hatenadiary.com/

FreeRTOSのRISC-V移植版

RISC-Vのメーリングリストを読んでいて知ったのだが、FreeRTOSという無償のリアルタイム向けOSがあるらしい。これをRISC-V向けに移植している人がいるそうだ。

www.freertos.org

RISC-Vへの移植が進められており、Privilege v.1.9への移植版が公開されていた。どんなもんなのか、ダウンロードして実行できるだろうか。

interactive.freertos.org

まず、上記の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!