FPGA開発日記

FPGAというより、コンピュータアーキテクチャかもね! カテゴリ別記事インデックス https://msyksphinz.github.io/github_pages

BOOM(Berkeley Out-Of Order) コアがfpga-zynqに対応したのでFPGAで動かしてみる(2. FPGAでの動作確認)

BOOMメーリングリストで正式リリースのあった、BOOMコアのFPGA対応、ビルドが完了したのでFPGA(ZedBoard)で動かしてみる。

github.com

Windows Subsystem on Linux上で作業しているのだが、SDカードへの書き込みなどの作業は問題なく行うことができる。 DドライブにSDカードがマウントされたので、以下のQiitaの記事を参考にSDカードにデータを書き込む。

qiita.com

sudo mkdir /mnt/d
sudo mount -t drvfs D: /mnt/d

SDカードに書き込む前に、Linuxのイメージもダウンロードしておく。 README.mdを参考に、Linuxのイメージをダウンロードする。

make fetch-riscv-linux-deliver

イメージをSDカードに書き込む。

cp -r fpga-images-zedboard/* /mnt/d
cp -r deliver_output/riscv /mnt/d

最後にSDカードをunmountする。

sudo umount /mnt/d

ZedBoardを起動し、SDカードからブートする。

ARM Linuxの起動は昔に書いた以下の記事を参考にする。

RISC-V FPGA-Zynq リポジトリのU-Bootの謎 - FPGA開発日記

fatload mmc 0 0x3000000 uImage
fatload mmc 0 0x2A00000 devicetree.dtb
fatload mmc 0 0x1000000 uramdisk.image.gz
bootm 0x3000000 0x1000000 0x2A00000

Linuxがブートしたら、まずはfesvr-zynq pk helloで様子見。




次に、BOOM上でLinuxを起動させる。起動の方法は以下の通り。

root@zynq:~# mkdir /sdcard
root@zynq:~# mount /dev/mmcblk0p1 /sdcard
root@zynq:~# ./fesvr-zynq +disk=/sdcard/riscv/root.bin bbl /sdcard/riscv/vmlinux

なんだこりゃ?起動が遅いなー。こんなもんなのか?

f:id:msyksphinz:20190306005223g:plain
ZedBoardでのBOOMの起動

/proc/cpuinfo/を見るとRV64Gと書いてあるので、とりあえずはBOOMの気がする。これでよいのだろうか?

f:id:msyksphinz:20190306003013p:plain