rk3588 大小核启动

news2024/11/20 6:14:20

setenv ipaddr 10.12.1.205;setenv serverip 10.12.1.200;tftp 0x800000 bsprk3588_owl_ai_box_plus_v10_x64.bin;go 0x800000

rk3588 启动 4 核无问题,启动 8 核出现乱码以及死机问题。
在这里插入图片描述

分析代码,对 psci 接口进行更新,启动 4 核,系统成功启动
在这里插入图片描述

修改设备树文件,启动 5 核,第 5 核输出回应,但随后出现死机现象
在这里插入图片描述

修改汇编启动代码和多核启动入口代码,添加打印,测试结果如下:
在这里插入图片描述

理论上,5 核应跳转至 reset 处开始执行,打印 “cpu++” 以及二级入口等字符串。但是,实际结果并未有输出。猜测 5 核接收 SMC 指令后,固件进行了响应,但是 5 核出现问题,无法启动,导致主核出现死循环现象,现象由 bsp 代码结构造成。

主核与从核配置均由内核代码提供,从其他角度考虑。5 核启动后没有任何输出,怀疑 5 核启动时,供电是否正常,打印电压状态寄存器排查。结果如下:
在这里插入图片描述
结果表明,多核启动时供电正常,故排除因供电问题导致的多核启动失败。

修改汇编启动代码,进行测试,发现 5 核发生执行动作,并进入二级启动入口,结果如下:
在这里插入图片描述

测试 6 核:
在这里插入图片描述

测试 7 核:
在这里插入图片描述
测试 8 核:
在这里插入图片描述
多核启动方式
ARM 目前提供的多核启动有两种,分别为 spin-table 和 psci。rk3588 采用 psci 模式启动多核,该模式涉及 ARM-V8 异常等级,SMC 指令以及 ATF 固件等内容。执行过程如下:

  1. 上电后,ATF 固件会将从核在 bootloader 阶段陷入挂起的状态;
  2. 操作系统启动后,通过 SMC 指令陷入 EL3 异常并产生 EL3 中断;
  3. ATF 固件配置了 EL3 异常处理,因此,对 EL3 中断进行响应并处理,从而启动从核。
    (注:关于 ATF 的具体执行, 不做分析)
    (注:spin_table 在 u-boot 中可进行操作, 因此不需要 ATF 固件)

psci 实现 (参考 Linux)
Linux 通过设备树获取 psic 信息,并以驱动形式注册 psci 操作接口。随后,psci 接口将被全局变量 cpu_ops 关联。多核启动则是 Linux 通过 cpu_ops 简介调用 psci 的操作接口,从而执行从核的启动与关闭等操作,这些操作均和 SMC 指令有所关联。

ARM-V8 架构的启动
上电后,硬件复位,开始启动内置 boot rom 中的 1级 bootloadr;
1级 bootloader 加载 2级可信固件并启动;
2级加载并启动 3级可信固件并为操作系统的启动提供接口.

启动流程图
在这里插入图片描述
(注: BL – bootloader)
BL1 位于 ROM 中,在 EL3 等级下从 1 级引导的 reset 位置开始运行,并将 2 级引导镜像加载到 SRAM 中。
BL2 位于 SRAM 中,在 secure EL1 等级下运行,依次加载 BL31、BL32、BL33 镜像。
BL2 将控制权交给 BL1,BL1 关闭 MMU 和 CACHE,随后,BL1 将控制权交给 BL31;BL31 交给 BL32;BL32 交给给 BL33。

上述过程所说的异常等级为:
EL0:普通用户应用程序;
EL1:操作系统;
EL2:虚拟化管理程序;
EL3:低级别的固件。

上述 BL31 和 BL32 实际为 ATF 固件。ATF 中包含了不同的组件,查阅资料,目前可确定多核启动相关的组件有 TF-A 和 OP-TEE。
TF-A 和 OP-TEE 将中断划分为本地中断和是外部中断,将 SMC 指令产生的中断默认为本地中断。整体的执行书讯如下图所示:
在这里插入图片描述
(注:这里可将 TF-A 默认为 secure monitor,ATF 固件包含的东西较多)

附件:arm-v8 64 位寄存器
通用寄存器
在这里插入图片描述

特殊寄存器
在这里插入图片描述

系统寄存器
在这里插入图片描述

系统控制寄存器
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/562529.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【服务器数据恢复】EXT3文件系统下raid数据恢复案例

服务器数据恢复环境: 华为OceanStor某型号存储,10块硬盘组成raid6磁盘阵列。 上层操作系统采用EXT3文件系统,划分2个lun。 服务器故障&分析: 在巡检中发现存储中的raid不可用,管理员进行了重新分配并初始化raid的操…

VS2019 error LNK2001: 无法解析的外部符号 解决方法

今天编译一个项目的时候,用debug模式编译时可以通过并生成exe的。 换成release模式,直接报链接错误,如下: 1>libeay32.lib(pem_lib.obj) : error LNK2019: 无法解析的外部符号 ___iob_func,函数 _PEM_def_callback…

微信小程序| AIGC之动手实现ChatGPT法律顾问小程序

一、需求背景 在资本退去后,现如今的互联网行情很差劲,很多创新业务都不得不砍除。再加上国内互联网时代进入到了一个增量犹显疲态,增量杀红了眼!阶段,各大互联网公司均有一种断臂求生的态势!各位互联网同…

hadoop3.2.4集成flink 1.17.0

前言 flink安装部署有三种方式 local:单机模式,尽量不使用 standalone: flink自带集群,资源管理由flink集群管理,开发环境测试使用,不需要hadoop集群 flink on yarn: 把资源管理交给yarn实现,计算机资源统一由Haoop…

PCIe 载板设计资料原理图:382-基于FMC+的XCVU3P高性能 PCIe 载板

基于FMC的XCVU3P高性能 PCIe 载板 一、板卡概述 板卡主控芯片采用Xilinx UltraScale16 nm VU3P芯片(XCVU3P-2FFVC1517I)。板载 2 组 64bit 的DDR4 SDRAM,支持 IOX16或者 JTAG 口,支持PCIe X 16 ReV3.0以及 FMC 扩展接口。…

Hadoop基础学习---6、MapReduce框架原理

1、MapReduce框架原理 1.1 InputFormat数据输入 1.1.1 切片与MapTask并行度决定机制 1、问题引出 MapTask的并行度决定Map阶段的任务处理并发度,进而影响到整个job的处理速度。 2、MapTask并行度决定机制 数据块:Block是HDFS物理上吧数据分成一块一块。…

3D CAD模型的体素化

你有没有搜索过如何将 Cad 模型转换为 python 就绪的 numpy 数组,但没有得到任何明确的答案? 我也是。 经过长时间的研究并尝试了很多软件和 python 库,我终于能够将 3D STEP 文件转换为 3 维 numpy 数组。 如果你想做同样的事情或只是想知道…

线性表的总结

逻辑结构 逻辑结构 具有相同特性的数据元素的有限序列 特性 有穷性:一个线性表的元素个数是有限的 一致性:一个线性表的所有元素的性质相同,也就是具有相同的数据类型 序列性:所有元素之间的相对…

OJ练习第114题——T 秒后青蛙的位置

T 秒后青蛙的位置 力扣链接:1377. T 秒后青蛙的位置 题目描述 给你一棵由 n 个顶点组成的无向树,顶点编号从 1 到 n。青蛙从 顶点 1 开始起跳。规则如下: 在一秒内,青蛙从它所在的当前顶点跳到另一个 未访问 过的顶点&#xf…

十、数据仓库详细介绍(数据质量)流程与工具

上篇我们主要介绍了以下三部分内容。 第一部分,介绍了五种常见的数据管理知识体系,数据质量在所有的知识体系中都有非常重要的地位,数据应用体现数据价值,数据质量为应用提供支撑。 第二部分,我们介绍了数据质量评判的…

程序优化 - ABAP并行处理

SAP的并行方式有很多种: SPTA框架,参考debug可以看出这个核心也是异步bgRFC 异步RFC,使用CALL FUNCTION “XXXXXX” STARTING NEW TASK XXXX CALLING XXXX ON END OF TASK BANK_PP_JOBCTRL框架 拆分成多个后台JOB执行 这里只说SPTA框架…

【高危】Linux Kernel OverlayFS 权限提升漏洞(POC公开)

漏洞描述 Linux Kernel OverlayFS 是 Linux 内核提供的一种文件系统,允许将多个文件系统合并为一个单一的虚拟文件系统。 在 Linux Kernel OverlayFS 受影响版本中,当用户将具备特权的文件从 nosuid 的挂载点复制到另一个挂载点时,未授权的…

【严重】ejs 存在服务端模板注入漏洞(存在POC)

漏洞描述 EJS 是开源的 JavaScript 模板引擎,允许在HTML代码中使用JavaScript代码块,closeDelimiter 参数是 EJS 模板中的结束标记,用于指定结束分隔符。 由于对 CVE-2022-29078 漏洞修复不完全,当应用程序使用 EJS 模板引擎&am…

如何恢复已删除或丢失的音乐文件

您是否遇到过您或其他人不小心删除了您的音乐文件的情况?作为我自己的音乐爱好者,我知道这种感觉有多么毁灭性。听音乐让我们平静和放松,它可以帮助一些人在工作时提高工作效率或缓解他们感受到的压力。 这就是为什么如果您不小心丢失了您心…

springcloud-alibaba (04)Gateway与Nacos结合使用

Gateway与Nacos结合使用 🎉欢迎来到这里,今天我将为大家介绍如何将Spring Cloud Gateway和Nacos结合使用,实现一个高效稳定的服务网关!在微服务架构中,API网关是必不可少的一部分,它提供了路由请求、负载均…

java版企业工程项目管理系统源代码-功能清单 图文解析

Java版工程项目管理系统 Spring CloudSpring BootMybatisVueElementUI前后端分离 功能清单如下: 首页 工作台:待办工作、消息通知、预警信息,点击可进入相应的列表 项目进度图表:选择(总体或单个)项目显示…

新手如何写新闻稿?一文带你了解记者稿的写作步骤与技巧

作为一名新手记者,写稿件是必须掌握的基本技能。记者稿的写作方式有很多种,但基本的步骤和技巧是相同的。在这篇文章中,我将向大家介绍记者稿的写作步骤和技巧,希望能对想要成为一名优秀记者的你有所帮助。 一、确定新闻价值 在写…

代码随想录训练营Day50| 123.买卖股票的最佳时机III 188.买卖股票的最佳时机IV

目录 学习目标 学习内容 123.买卖股票的最佳时机III 188.买卖股票的最佳时机IV 学习目标 123.买卖股票的最佳时机III 188.买卖股票的最佳时机IV 学习内容 123.买卖股票的最佳时机III 123. 买卖股票的最佳时机 III - 力扣(LeetCode)https://lee…

深度分析:智能照明百亿赛道,Yeelight易来如何做到智能照明和定制照明双C位

日前,艾瑞咨询发布了《2023年中国家用智能照明行业研究报告》,报告显示,中国家用智能照明市场迎来爆发式增长,市场占有率从2016年仅2.0%上升到2022年的20.4%,7年间占比增长20%。预计2023年家用智能照明市场规模将突破1…

千呼万唤始出来!从源码到架构的Spring全系列笔记,已全部分享

因粉丝强烈要求小编整理一套spring全系列资料集合,不然就要集体给小编寄刀片了,今天终于是千呼万唤始出来,给大家连夜整理这一套可以说是全网最全最细的Spring全系列资料,今天毫无保留的给大家分享出来一起学习!一起牛…