Versal®
デバイスでは、PS(a72) が qemu-system-aarch64
で、PMC が qemu-system-microblazeel
でエミュレートされます。PS の一般的なコマンド ライン オプションのほとんどは、qemu_args.txt に、PMC コマンド ライン オプションは pmc_args.txt に記述されます。
引数名 | 値 | 説明 | Source | 情報の抽出方法 |
---|---|---|---|---|
-boot |
mode=<boot-number> sd1 の例: |
プラットフォームでブート モードを指定します。
|
v++ -p | CIPS イネーブルのブート モードと v++ -p 選択の間に必要な DRC |
-display | none | デフォルトでは、QEMU はユーザー I/O のディスプレイを作成します。このオプションは、ディスプレイを無効にします。 | スタティック | ディスプレイを無効にするには、none を指定します。 |
-hw-dtb | <ps-dtb-file> | PS (a72) を記述するデバイス ツリー ファイル。Vitis コンパイラの --package コマンドは dtb ファイルを生成して qemu-args.txt に追加します。 |
v++ -p | |
-M | arm-generic-fdt |
作成する QEMU マシンを指定します。 |
デバイス固有 | Versal 用にハード コードされています。 |
-serial | -serial null -serial null -serial mon:stdio |
デフォルトでは、QEMU は起動ターミナルを UART0 に接続してユーザー I/O を操作します。このオプションを指定すると、この動作を変更できます。Versal プラットフォームには、位置引数を使用して 4 つの UART が指定されています。最初の 2 つはデバッグ用で、最後の 2 つは UART0 と UART1 です。 ターミナルに UART0 を接続するには、デバッグ関連の UART を無視し、UART 0 をターミナルに接続する 同様に、ターミナルに UART1 だけを接続する場合は、 |
CIPS コンフィギュレーションでイネーブルになっている UART に基づきます。 |
Versal デバイスには 4 つの UART があります。最初の 2 つは、デバッグ関連の UART です。 UART0 をイネーブルにする場合:
次に UART1 のみをイネーブルにする場合:
次に |
-sync-quantum | 時間 (ミリ秒) | QEMU が RTL シミュレータと同期する頻度を指定します。これを変更すると、シミュレーションの速度に影響する可能性があります。 | スタティック | Versal デバイス用にハード コードされています (ユーザーが変更する必要あり)。 |
Versal CIPS には 2 つのイーサネット インターフェイスがあります。ザイリンクス
Versal CIPS ボードのほとんどで eth0 がイネーブルになっています。-net
または -netdev
が指定されない場合、QEMU はデフォルトで eth0 をイネーブルにし、ユーザー モード バックエンドにマップします。
オプション名 | 値 | 説明 | コンフィギュレーションのソース | 情報の抽出方法 |
---|---|---|---|---|
-M | microblaze-fdt | 作成する QEMU マシンを指定します。QEMU は dtb からノードを使用して MicroBlaze を作成します。 | スタティック | Versal デバイス用にハード コードされています。 |
-display | none | デフォルトでは、QEMU はユーザー I/O のディスプレイを作成します。このオプションは、QEMU にディスプレイの必要がないことを指示します。 | スタティック | Versal デバイス用にハード コードされています。 |
-device | loader,file=<BOOT_bh.bin>,addr=0xf201e000,force-raw | ロード アドレスを含むブート ヘッダー ファイルを 0xF201E000 に指定します (BOOT_bh.bin がアドレス 0xF201E000 でロードされる)。これは pmc_args.txt で固定された引数で、BOOT_bh.bin ファイルの絶対パスを持つ最終引数用に v++ -p で処理されます。BOOT_bh.bin は最終 PDI から v++ -p で生成されます。BOOT_bh.bin は QEMU に直接ロードされます。これは、QEMU が PDI からブート ヘッダーをロードするための BOOT ROM アクセスがないためです。 |
v++ -pack | v++ pack は BOOT_bh.bin を抽出して次のオプションを生成します。 |
-device | loader,file=<pmc_cdo.bin>,addr=0xF2000000,force-raw | ロード アドレスを含む pmc_cdo.bin を 0xF2000000 に指定します。これは pmc_args.txt で固定された引数です。これは pmc_cdo.bin ファイルの絶対パスを持つ最終引数用に v++ -p で処理されます。 |
v++ -pack | v++ pack は pmc_cdo.bin を抽出して次のオプションを生成します。 |
-device | loader,file=<plm.bin>,addr=0xF0200000,force-raw | ロード アドレスを含む PLM バイナリ ファームウェアを 0xF0200000 に指定します。これは pmc_args.txt で固定された引数で、最終引数用に v++ -p で処理されます。これには plm.bin ファイルの絶対パスが含まれます。この PLM は、リセットされていないときに PPU1 で実行されます。 |
v++ -pack | v++ pack は plm.bin を抽出して次のオプションを生成します。 |
-device | loader,addr=0xf0000000,data=0xba020004,data-len=4 -device loader,addr=0xf0000004,data=0xb800fffc,data-len=4 | PPU0 プロセスがブート ループになるように指定します。QEMU には BOOTROM アクセスがないため、PPU0 がブートループに置かれ、通常は PDI からメモリにブート ヘッダーをロードします。 | スタティック | Versal デバイス用にハード コードされています。 |
-device | loader,addr=0xF1110624,data=0x0,data-len=4 -device loader,addr=0xF1110620,data=0x1,data-len=4 | PPU1 をリセットから解除し、実行モードにします。 | スタティック | Versal デバイス用にハード コードされています。 |
-hw-dtb | <ps-dtb-file> | aout PS(a72) を記述する dtb ファイルです。v++ pack はこの dtb ファイルを生成し、qemu-args.txt に追加します。 | v++ pack | v++ pack はデバイスの DDR コンフィギュレーションに基づいて dtb ファイルを生成します。 |