在
Versal®
器件中,PS(a72) 由 qemu-system-aarch64
进行仿真,PMC 由 qemu-system-microblazeel
进行仿真。在 qemu_args.txt 中捕获大部分常用的 PS 命令行开关,在 pmc_args.txt 中捕获 PMC 命令行开关。
实参名称 | 值 | 描述 | 源 | 如何提取信息 |
---|---|---|---|---|
-boot |
mode=<boot-number> 例如,对于 sd1: |
指定平台上的启动模式:
|
v++ -p | 在 CIPS 启用的启动模式与 v++ -p 选择之间需 DRC |
-display | none | 默认情况下,QEMU 会为用户 I/O 创建 display。该选项用于禁用 display | 静态 | 指定 none 即可禁用 display |
-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 连接到终端,请指定 同样,要仅将 UART1 连接到终端,请指定 |
基于 CIPS 配置上启用的 UART。 |
Versal 器件具有 4 个 UART。前 2 个为调试相关 UART。 启用 UART0 时:
则指定 仅启用 UART1 时:
则指定: |
-sync-quantum | 时间(以毫秒为单位) | 指定 QEMU 与 RTL 仿真器 (simulator) 同步的频率。对此项进行修改可能影响仿真 (simulation) 速度。 | 静态 | 针对 Versal 器件进行硬编码(需用户更改) |
Versal CIPS 具有 2 个以太网接口。大部分赛灵思
Versal CIPS 开发板均已启用 eth0。如不指定 -net
或 -netdev
,那么默认情况下 QEMU 启用 eth0 并映射到用户模式后端。
开关名称 | 值 | 描述 | 配置源 | 如何提取信息 |
---|---|---|---|---|
-M | microblaze-fdt | 指定要创建的 QEMU 机器。QEMU 以来自 dtb 的节点创建 MicroBlaze。 | 静态 | 针对 Versal 器件进行硬编码 |
-display | none | 默认情况下,QEMU 会为用户 I/O 创建 display。该选项指示 QEMU 无需显示 (display)。 | 静态 | 针对 Versal 器件进行硬编码 |
-device | loader,file=<BOOT_bh.bin>,addr=0xf201e000,force-raw | 指定启动头文件,其中加载地址指定为 0xF201E000 (BOOT_bh.bin 加载地址为 0xF201E000 )。这是 pmc_args.txt 中的固定实参,由 v++ -p 进行处理并用作为最终实参,其中包含 BOOT_bh.bin 文件的绝对路径。BOOT_bh.bin 是由 v++ -p 从最终 PDI 生成的。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 中的固定实参。它由 v++ -p 进行处理并用作为最终实参,其中包含 pmc_cdo.bin 文件的绝对路径。 |
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 将置于启动循环内,这样通常会将 BOOT 头文件从 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 文件 |