×

Bao轻量级嵌入式虚拟机管理程序

消耗积分:2 | 格式:zip | 大小:0.24 MB | 2022-06-16

张华

分享资料个

授权协议 GPLv2
开发语言 C/C++
操作系统 嵌入式
软件类型 开源软件
所属分类 服务器软件虚拟机

软件简介

Bao 是一个轻量级、开源的嵌入式虚拟机管理程序,旨在提供强大的隔离和实时保证。Bao 提供了分区管理程序架构的最小的实现。

Bao 主要针对混合临界系统而设计,非常注重隔离以实现故障遏制和实时行为。它的实现仅包括一个小的特权软件层,利用 ISA 虚拟化支持来实现静态分区管理程序架构:资源在 VM 实例化时被静态分区和分配;使用两阶段翻译静态分配内存;IO 仅为直通;虚拟中断直接映射到物理中断;它实现了虚拟 CPU 到物理 CPU 的 1-1 映射,无需调度程序。

Bao 没有外部依赖性,它包含一个小得多的 TCB。

支持的平台

支持的平台的完整列表如下所示:

Armv8-A

  • Xilinx Zynq UltraScale+ MPSoC ZCU102
  • Xilinx Zynq UltraScale+ MPSoC ZCU104
  • Ultra96 Zynq UltraScale+ ZU3EG
  • NXP MCIMX8QM-CPU
  • NVIDIA Jetson TX2
  • 96Boards HiKey 960
  • 树莓派 4
  • QEMU 虚拟机

RISC-V

  • QEMU virt (rv64)

下载并设置工具链

为目标架构下载最新的编译工具链:

a) 对于 Armv8-A,使用 aarch64-none-elf-工具链。

从 Arm 开发人员的网站下载它。

b) 对于 RISC-V,使用 riscv64-unknown-elf-工具链。

从 SiFive 的 Freedom Tools GitHub 仓库下载它。

安装工具链。然后,使用参考工具链前缀路径设置 CROSS_COMPILE 环境变量:

export CROSS_COMPILE=/path/to/toolchain/install/dir/bin/your-toolchain-prefix-

搭建基础环境

克隆这个 repo 并 cd 到它:

git clone https://github.com/bao-project/bao-demos
cd bao-demos

根据目标平台和演示, 使用附录 I 中的 ID设置 PLATFORM 和 DEMO 环境变量。

export PLATFORM=zcu102
export DEMO=linux+freertos
 

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !