QEMUのインストール…64ビットArm仮想ボードでC言語プログラムの挙動を見る

Interface2022年7月号特集第3部第3章 64ビットArm仮想ボードでC言語プログラムの挙動を見る サポートページです.ここでは,macOSでQEMUを利用したArm仮想ボード開発環境の構築方法を紹介します.

※本例では,macOS Catalina(10.15.7)を使用しています.

 

●以下のコマンドで,パッケージ・マネージャHomebrewをインストールします.

$ /bin/bash -c “$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)”

※実行

 

●以下のコマンドで,QEMUをインストールします.

$ brew install qemu

●以下のコマンドで,DTB Device Tree Blob の表示のためdtcコマンドも使用しますのでインストールします.

$ brew install dtc

●以下のコマンドで,64ビット向けのコンパイラをインストールします .

$ brew tap SergioBenitez/osxct

$ brew install aarch64-none-elf

 

●ここまででQEMUおよびArm向け開発ツールのインストールが完了したので,以下のコマンドを実行してQEMUの起動とQEMU virt環境のデバイス情報の確認を行います.

$ qemu-system-aarch64 -cpu cortex -a57 -machine virt,dumpdtb=virt.dtb

$ dtc virt.dtb

 

●以下の手順で,プログラムをビルドします.

※プログラムリストtest.c (リスト1), start.S(リスト2)はこちらからダウンロード可能です.プログラムリストを以下のコマンドを実行するディレクトリに配置してください.

$ aarch64-none-elf-gcc -g -c -static start.S -o start.o

$ aarch64-none-elf-gcc -g -c -static test.c -o test.o

$ aarch64-none-elf-ld -Ttext 0x40080000 -o out.elf start.o test.o

$ aarch64-none-elf-objcopy -O binary out.elf out.img

 

●以下のコマンドでQEMUの立ち上げとプログラムの実行を行います.

$ qemu-system-aarch64 -cpu cortex-a57 -machine virt -kernel out.img -monitor stdio

実行中の画面(Hello worldが表示されている)