【发布时间】:2022-12-17 02:03:20
【问题描述】:
我尝试使用 QEMU 为具有服务核心的多核 CPU 建模。例如。一个 3 核 CPU,其中 Linux 在 2 个内核上运行,RTOS 在第 3 个内核上运行。通信应该基于共享内存。
目前我可以分别启动每个操作系统。
【问题讨论】:
-
您将如何在普通 PC 上执行此操作?
标签: linux qemu multicore freertos zephyr-rtos
我尝试使用 QEMU 为具有服务核心的多核 CPU 建模。例如。一个 3 核 CPU,其中 Linux 在 2 个内核上运行,RTOS 在第 3 个内核上运行。通信应该基于共享内存。
目前我可以分别启动每个操作系统。
【问题讨论】:
标签: linux qemu multicore freertos zephyr-rtos
Linux 内核有一个 isolcpus 选项,可以不在那里安排任务或让该内核处理中断,但我认为您无法启动期望拥有所有内存并直接与硬件对话的普通操作系统;它必须知道 Linux 允许它使用哪些内存区域。我认为isolcpus通常会让你跑用户空间无干扰的过程,例如用于微基准测试。
或许您可以在单独的 VM 中启动 Linux 和 RTOS,使用硬件虚拟化,使用在它们之间设置共享内存区域的管理程序。
或者可能只是将 RTOS 作为 VM 来宾运行,将 Linux 作为主机管理程序,但这可能会破坏实时保证,IDK。
【讨论】: