Bao 轻量级嵌入式虚拟机管理程序开源项目

我要开发同款
匿名用户2021年10月26日
47阅读
开发技术C/C++
所属分类服务器软件、虚拟机
授权协议GPLv2

作品详情

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

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

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

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

Armv8-A

XilinxZynqUltraScale+MPSoCZCU102XilinxZynqUltraScale+MPSoCZCU104Ultra96ZynqUltraScale+ZU3EGNXPMCIMX8QM-CPUNVIDIAJetsonTX296BoardsHiKey960树莓派4QEMU虚拟机RISC-V

QEMUvirt(rv64)下载并设置工具链为目标架构下载最新的编译工具链:

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

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

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

从 SiFive的FreedomTools GitHub仓库下载它。

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

exportCROSS_COMPILE=/path/to/toolchain/install/dir/bin/your-toolchain-prefix-搭建基础环境克隆这个repo并cd到它:

gitclonehttps://github.com/bao-project/bao-demoscdbao-demos根据目标平台和演示, 使用附录I中的ID设置 PLATFORM 和 DEMO 环境变量。

exportPLATFORM=zcu102exportDEMO=linux+freertos
声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论