Bao 正在参加 2021 年度 OSC 中国开源项目评选,请投票支持!
Bao 在 2021 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
2021 年度 OSC 中国开源项目评选 正在火热进行中,快来投票支持你喜欢的开源项目!
2021 年度 OSC 中国开源项目评选 >>> 中场回顾
Bao 获得 2021 年度 OSC 中国开源项目评选「最佳人气项目」 !

软件简介

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
展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论 (0)

加载中
更多评论
暂无内容
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
暂无内容
0 评论
3 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部