linux – U-boot在单独的核心上加载两个映像

linux – U-boot在单独的核心上加载两个映像,第1张

概述我有恩智浦/自由规模的Imx6 saber lite开发板.我的任务是以这样的方式刷新两个OS内核( Linux和RTOS),以便linux在core0上运行,而在core1上运行RTOS.我有1GB DDR3,我必须先为RTOS分配128MB,然后为LINUX映像分配. >在这种情况下如何配置U-boot? > core-0应该在> 128MB DDR3区域加载Linux内核,同时core1处于 我有恩智浦/自由规模的Imx6 saber lite开发板.我的任务是以这样的方式刷新两个OS内核( Linux和RTOS),以便linux在core0上运行,而在core1上运行RTOS.我有1GB DDR3,我必须先为RTOS分配128MB,然后为liNUX映像分配.

>在这种情况下如何配置U-boot?
> core-0应该在> 128MB DDR3区域加载linux内核,同时core1处于空闲状态.
> core-0应该加载RTOS并将控制转移到core-1.

如何使用u-boot实现这种情况?

如果有人解决了这个问题,请告诉我!

提前致谢!

解决方法 嗯,这是可能的,但我不认为uboot允许这是有一些例外.一些供应商提供修改后的uboot二进制文件及其支持此类功能的主板.例如,Xilinx为ZCU102提供了u-boot,允许从同一SOC中存在的cortex-a53核心加载和提取皮质-R核心.

其中一个着名的开源框架OpenAMP可以完成这项工作.它允许远程的生命周期管理,并在不同核心上运行的多个OS之间建立通信.但据我记得,目前不支持saber-lite.

在您的情况下重要:
在您的情况下,您只需按照以下步骤完成工作即可.

步骤1:确保提供给RTOS的内存不可访问linux.为此,您需要修改dts文件,确切地说是内存节点.

步骤2:从要从RTOS访问的dts中删除设备.不要删除重要的像GIC.即使知道,RTOS也会与linux共享它.这是我知道在无人监督的环境中使用GIC的唯一方法.这也回答了@AndreJsCainikovs在评论中提出的问题.

第3步:修改dts的bootargs.在dts的bootargs中添加nosmp标志.

步骤4:构建dts并将已放置的dts替换为SD卡的启动分区.

Step5:在你的GIC代码中注释我们的reset和init代码.让GIC处于它所处的状态.启用cpu接口和您将使用的外围中断,并仅将它们的cpu亲和性设置为RTOS内核.现在修改链接器文件,构建并链接刚从linux内存区域中删除的内存区域的RTOS代码.

步骤6:将RTOS二进制文件复制到SD卡的启动分区.

步骤7:运行电路板并在自动启动时停止u-boot.运行以下命令以在内存中加载RTOS映像.

fatload mmc 0:1 0x10000000 rtos.bin;

显然,您需要根据RTOS地址更改加载地址,并且可能是mmc分区号.

Step8:使用boot命令运行linux内核,在linux内核中你需要使用一些寄存器.我会选择通过编写内核驱动程序并使用ioremap映射这些寄存器并访问它们来实现.但是你如何做到这一点,我在这里解释需要做些什么.

将核心1的SRC_GPR3寄存器中的RTOS起始地址写入核心2的SRC_GPR5或核心3的SRC_GPR7中写入RTOS起始地址.

现在使用SRC_SCR寄存器分别为core1 core2和core3的第22和第23位启用内核,这是您打算运行RTOS的.请注意,无法禁用或启用core0.

现在,使用SRC_SCR寄存器的core1 core1 core2和core3的第13个第14位和第16位将内核从复位中移出.您的RTOS将开始运行.

这种整体配置正式称为无监督系统,与运行管理程序进行严格资源分区的监督系统相反.这里每个 *** 作系统都谨慎运行,以免触及分配给其他 *** 作系统的任何资源.

您可以在i.MX 6Dual / 6Quad Applications处理器参考手册中找到这些寄存器的存储器地址.文件编号:IMX6DQRM

总结

以上是内存溢出为你收集整理的linux – U-boot在单独的核心上加载两个映像全部内容,希望文章能够帮你解决linux – U-boot在单独的核心上加载两个映像所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/1029581.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存