BOOMメーリングリストで正式リリースのあった、BOOMコアのFPGA対応、ビルドが完了したのでFPGA(ZedBoard)で動かしてみる。
Windows Subsystem on Linux上で作業しているのだが、SDカードへの書き込みなどの作業は問題なく行うことができる。 DドライブにSDカードがマウントされたので、以下のQiitaの記事を参考にSDカードにデータを書き込む。
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
なんだこりゃ?起動が遅いなー。こんなもんなのか?
/proc/cpuinfo/
を見るとRV64Gと書いてあるので、とりあえずはBOOMの気がする。これでよいのだろうか?