ひょんな理由でM1 Macを使う必要が生じたので、M1 Mac上で自分のRISC-Vコアをシミュレーションする方法について模索している。
M1 MacはベースがArmなのでいろんな環境がLinuxと異なっているのだが、そのへんをどのように調整すればいいのか四苦八苦することが多い(そもそも自分はMacOSを使うのが人生で初めて)。
MacOS用にプレビルドされたツールセットをインストールできるらしい。
$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" $ brew tap riscv-software-src/riscv $ brew install riscv-tools
それぞれのコマンドの意味はよくわからない。
これで一応、riscv-gnu-toolchainと命令セットシミュレータくらいは使えるようになる。
$ which riscv64-unknown-elf-gcc /opt/homebrew/bin/riscv64-unknown-elf-gcc$ riscv64-unknown-elf-gcc --version riscv64-unknown-elf-gcc (g5964b5cd727-dirty) 11.1.0 Copyright (C) 2021 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. $ which spike /opt/homebrew/bin/spike
ちなみに、必要に迫られてriscv-isa-simの自前でのビルドを試行したが、一応うまくいくようだ。
$ git clone https://github.com/riscv-software-src/riscv-isa-sim.git $ cd riscv-isa-sim $ ./configure $ make -j10