编译并部署示例工程

更新时间:
2024-01-10

编译并部署示例工程

本节将以 quickvisor_ls1046_sdk.zip 为例,介绍 QuickVisor 示例工程的编译和部署。

导入示例工程

注意:RealEvo-IDE 中 QuickVisor 相关工程的详细说明和使用方法,可以在 IDE 中 Help 菜单栏下的 《QuickVisor IDE 使用手册》中找到。

首先,创建一个空文件夹,并将 quickvisor_ls1046_sdk.zip 压缩包解压到新建的文件夹中。打开 RealEvo-IDE,设置 Workspace 的路径为 quickvisor_ls1046_sdk/workspace_quickvisor 目录。

然后,单击 RealEvo-IDE 菜单栏下的 File > Import... 选项,选择 QuickVisor Projects 工程类型,按照工程向导的提示,导入所有示例工程。

接着,查看所有示例工程根目录下的 README.md 文件,该文件描述了工程的基本信息和使用方法。

在 RealEvo-IDE 中,QuickVisor 相关的工程类型如下:

  • QuickVisor BSP:QuickVisor 板级支持包工程,包含在某个特定硬件平台上运行 QuickVisor 所必须的初始化程序和驱动程序。

  • QuickVisor Kernel Static Lib:QuickVisor 内核静态库工程,用于扩展 QuickVisor 内核的功能。

  • QuickVisor Scenario:QuickVisor 场景工程,用于配置 QuickVisor 内核、创建并配置 GuestVM 实例、创建并配置虚拟机间通信组件。

  • QuickVisor GuestOS:QuickVisor 客户机操作系统工程,当前仅提供裸机工程模板。

编译示例工程

注意:关于 QuickVisor BSP 工程和 Scenario 工程更详细的说明,请参考本文档的 QuickVisor BSP 开发章节和 QuickVisor Scenario 开发章节。

quickvisor_sdk 工程由已编译好的静态库和头文件组成。

  • libquickvisor:QuickVisor 内核组件库。
  • libqvemulator:QuickVisor 虚拟设备模拟器组件库。
  • libqvshell:QuickVisor 控制台组件库。
  • libqvvirtio:QuickVisor VirtIO 组件库。

04

然后,编译 bspls1046 工程,一般情况下不需要编译,在 Debug/Release 目录下已经生成 bspls1046.bin 镜像文件。

05

接着,编译需要使用的 Scenario 工程,如 test_sylixos 工程。编译完成后,将在 Debug/Release 目录下生成 quickvisor.rfs 镜像文件。用户可以尝试修改场景工程,或者修改 GuestOS 代码,以满足自身的业务需求。

06

部署示例工程

注意:场景工程的部署和启动方法,可以参考对应平台 BSP 工程下的 README.md 文件和 Scenario 工程下的 README.md 文件。接下来,将以 test_multi_vm_01 为例进行讲解。

首先,点击 RealEvo-IDE 菜单栏 Tools > TFTP Server 中的 TFTP 工具,选择 bspls1046/Debug 目录作为 TFTP 服务器的工作目录,最后点击 Start 按钮启动 TFTP 服务器,后续目标机的 uboot 将通过 TFTP 命令下载镜像文件。

06

然后,参照示例场景工程中 README.md 文件,将所需的镜像文件拷贝到 TFTP 服务器的文件目录下,并通过 uboot 的 tftpboot 命令将镜像文件部署到指定地址。 以 quickvisor_ls1046_sdk 中的 test_multi_vm_01 为例,首先将 test_multi_vm_01/Debug/quickvisor.rfs 拷贝至 bspls1046/Debug 目录,然后连接 LS1046 开发板的串口至 PC,确保 LS1046 能与 PC 的网络连通,在 PC 上通过 Putty 打开 LS1046 开发板的串口,在 LS1046 的 uboot 控制台下,输入以下命令:

# 加载 QuickVisor 镜像文件 `bspls1046.bin` 到
# 由 BSP 工程中的 `QV_CONFIG_BSP_TEXT_BASE` 指定的地址。
uboot> tftpboot 0x81000000 bspls1046.bin

# 加载 QuickVisor 的 ROMFS 镜像文件 `quickvisor.rfs` 到
# 由 BSP 工程中的 `QV_CONFIG_BSP_PARAM_BASE` 指定的地址。
uboot> tftpboot 0x87000000 quickvisor.rfs

# 跳转到 QuickVisor 执行,跳转地址
# 由 BSP 工程中的 `QV_CONFIG_BSP_TEXT_BASE` 指定。
uboot> go 0x81000000

接着,QuickVisor 将进入启动流程,启动成功后将进入 QuickVisor 的控制台。

在 QuickVisor 控制台中执行 help 命令,可以查看当前 QuickVisor 支持的所有命令。

通过 stdio 命令,将标准输入输出重定向到指定虚拟串口线,用于和虚拟机中的 GuestOS 通信。

在客户机的控制台中输入 Esc + q 组合键可以取消标准输入输出到虚拟串口的绑定,从而退回到 QuickVisor 的控制台。对于已配置好虚拟网桥和虚拟网卡,并通过物理网卡进行网络共享的虚拟场景,用户可以通过 telnet 登录到相应的虚拟机。

注意:涉及到 GuestOS(SylixOS、Linux) 配置和使用的问题,本文档不会过多介绍,用户可以查阅本文档提供的参考手册,或者通过浏览器搜索相关内容。

文档内容是否对您有所帮助?
有帮助
没帮助