読者です 読者をやめる 読者になる 読者になる

日曜技術者のメモ

趣味でやった事のメモ書きです。

qemu2svを試してみた-1-

QEMU SystemVerilog

qemuとSystemVerilogを接続してシミュレーションをするqemu2svがgithubにて公開されていたので試してみた

qemu2sv

qemu2svの入手&ビルド

git clone https://github.com/SVHackathon2014B/qemu2sv.git

qemu2svのビルドは付属しているREADME.mdの通りやればビルドできた。
ただ、qemuをビルドする為にいくつかのパッケージをインストールした。

sudo yum install pixman-devel
sudo yum install flex bison
sudo yum install glib

Linux

ソースコードの入手

zynq qemu用のLinuxxilinxが公開している。

http://www.xilinx.com/member/zynq_linux/zynq_linux.tar.gz *1
Xilinx Wiki - QEMUに書いてある手順で実行したがブートしなかったのでカーネルをビルドした。
zynq用のLinuxgithubにあるのでclone

Windowsでcloneする場合
cloneする際に改行コードをCRLFに変える設定があり有効であればlinuxをビルドできない
(defconfigでエラーになる)
git config --list | grep autocrlfを実行してtrueであれば
git config --global core.autocrlf inputを実行する。

最新のコードだと動かなかったのでタグを指定して古いバージョンにする。
(xilinx-v2014.2.01で動作を確認) checkoutで良いがソースコードを別PCでビルドしたかったのでarchiveにした。

git archive --format tar --prefix=export/ xilinx-v2014.2.01 | gzip > export.tar.gz

ビルド

export.tar.gzを解凍後ビルドする。
gccはxilinxSDKに付属しているarm-xilinx-linux-gnueabi-gccを使った。

make ARCH=arm xilinx_zynq_defconfig 
export CROSS_COMPILE=/opt/Xilinx/SDK/2014.2/gnu/arm/lin/bin/arm-xilinx-linux-gnueabi-
make ARCH=arm

ビルド後以下ファイルを使う。

  • arch/arm/boot/dts/zynq-zed.dts
  • arch/arm/boot/zImage

続きは次回

*1:

ブログ書いてる途中で見つけましたがxilinxのフォーラムに新しいQEMULinuxが公開されている様です。
(これで動くかは試してません)

Getting started with Zynq 14.5 and QEMU - Xilinx User Community Forums