multithreading - 我们可以在多核CPU中的特定内核上运行linux内核吗?

标签 multithreading linux-kernel embedded-linux multicore

我正在制造一个脑电波检测设备。
我将使用八核ARM处理器进行软件处理。
为了管理CPU内核,我可以对Linux内核进行编码以严格在一组特定的内核上运行吗?假设核心1、2和3。
但这并不太严格,因为我还需要在单独的内核上生成设备驱动程序(以内核4为例)。
那么有可能这样做吗?

最佳答案

做到这一点的方法之一就是使用设备树。如您所知,内核对硬件一无所知,因此在启动时,它会从描述硬件的设备树中检索信息。
Here,您可以找到一些基本信息。但是,在设备树中,应该有一个类似以下的部分:

/dts-v1/;

/ {
    compatible = "acme,coyotes-revenge";

    cpus {
        cpu@0 {
            compatible = "arm,cortex-a9";
        };
        cpu@1 {
            compatible = "arm,cortex-a9";
        };
    };
};

通过添加/删除设备树中的节点,尝试描述要使用的硬件。

关于multithreading - 我们可以在多核CPU中的特定内核上运行linux内核吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50313703/

相关文章:

c - 如何在 U-Boot 中添加用户自定义函数?

multithreading - Spring-AOP和多线程

Linux 内核 : Kernel version string appended with either '' +"or "-dirty"

使用 device_create() 创建多个节点

linux - 无法处理虚拟地址处的内核分页请求 - 内核 OOPS

c - 从不同的 UART 驱动读取数据

具有多个对象/锁的 Java 同步

multithreading - 骡子用尽行动运行与等待。选择哪一个以及何时

c# - 如何检查信号量的状态

c - BUG : unable to handle kernel paging request