我正在开发 Imx6 sabre SD 自由缩放板,我们为该板编译了 u-boot,还从 u-boot 运行独立 API(简单的 hello_world 程序)。但现在我想在任何指定核心(核心 0 除外)中加载和运行此独立应用程序。默认情况下,u-boot 在处理器的核心 0 中运行。
初始化新核心和切换到新核心的步骤是什么。
有人可以帮助我或建议一些可用的参考资料吗?
答案1
U-Boot 本身始终在单个 CPU 核心上单线程运行。对于大多数系统,U-Boot 不支持 SMP。此时启动更多 CPU 核心的任务留给操作系统。x86 架构是个例外。
您可以将 Linux SMP 代码的一部分复制到您的 U-Boot 应用程序中以启动额外的核心。