可以在一台双核计算机上组合 Linux(一个核心)和准系统固件(第二个核心)吗?

It is possible to combine Linux (one core) and bare-bone firmware (second core) on one dual core computer?

我正在检查项目 Embedded ECG data acquisition system from instructables 并且提到了一个 TODO:

Combining the OS and bare-bone firmware 

UNDER CONSTRUCTION
** Since the bootloader only loads one firmware to the Core,
I need to modify the ELF file, to have Linux and bare-bone Core at the same time **

在我看来,如何在一块板上实现全功能 Linux 和关键实时 OS(例如 Raspberry PI)是一种有趣的方法。真的可能吗?我听说 Linux 可以设置为不使用某些内核。但我想 Linux 使用虚拟内存,而准系统固件通常不使用。这些 OS 之间可以共享内存吗?中断呢?这两个OS可以分别处理中断吗?引导加载程序可以同时将这两个系统加载到两个核心吗?我可以想象引导加载程序中的一个线程将跳转到准系统 OS 的地址。这是正确的做法吗?

是的,这是可能的,即使整个设置并不简单。 几个例子:

这些示例基于系统分区,通过硬编码将不同内核分配给不同操作系统。

如果您的系统能够进行硬件辅助虚拟化,您可以使用管理程序来进行(和强制执行)此类分区。例如,您可以使用 Siemen's Jailhouse, KVM or Xen.

有点。这就是人们已经在某种程度上使用网络堆栈/驱动程序所做的事情。例如 IsoStack 想法以类似的方式工作。有一个项目实际上通过将内核专用于网卡在 linux 上实现了这一点,但是我的 google-fu 使我失望了。