Bao 是一个轻量级、开源的嵌入式虚拟机管理程序,旨在提供强大的隔离和实时保证。Bao提供了分区管理程序架构的最小的实现。
Bao主要针对混合临界系统而设计,非常注重隔离以实现故障遏制和实时行为。它的实现仅包括一个小的特权软件层,利用ISA虚拟化支持来实现静态分区管理程序架构:资源在VM实例化时被静态分区和分配;使用两阶段翻译静态分配内存;IO仅为直通;虚拟中断直接映射到物理中断;它实现了虚拟CPU到物理CPU的1-1映射,无需调度程序。Bao没有外部依赖性,它包含一个小得多的TCB。支持的平台支持的平台的完整列表如下所示:Armv8-AXilixZyqUltraScale+MPSoCZCU102XilixZyqUltraScale+MPSoCZCU104Ultra96ZyqUltraScale+ZU3EGNXPMCIMX8QM-CPUNVIDIAJetsoTX296BoardsHiKey960树莓派4QEMU虚拟机RISC-VQEMUvirt(rv64)下载并设置工具链为目标架构下载最新的编译工具链:a)对于Armv8-A,使用 aarch64-oe-elf-工具链。从 Arm开发人员的网站下载它。b)对于RISC-V,使用 riscv64-ukow-elf-工具链。从 SiFive的FreedomTools GitHub仓库下载它。安装工具链。然后,使用参考工具链前缀路径设置 CROSS_COMPILE 环境变量:exportCROSS_COMPILE=/path/to/toolchai/istall/dir/bi/your-toolchai-prefix-搭建基础环境克隆这个repo并cd到它:gitcloehttps://github.com/bao-project/bao-demoscdbao-demos根据目标平台和演示, 使用附录I中的ID设置 PLATFORM 和 DEMO 环境变量。exportPLATFORM=zcu102exportDEMO=liux+freertos点击空白处退出提示







评论