Cortex-A510——内核及汇编

news2024/11/20 2:26:03

Cortex-A510——内核及汇编

小狼@http://blog.csdn.net/xiaolangyangyang


1、异常等级

2、异常等级切换

        同步异常:
                1、SVC/HVC/SMC;
                2、MMU引发的异常(内核态EL1发生,发生后不会进行异常等级切换);
                3、SP和PC对齐检查;
                4、未分配或者没有权限的指令。

        异步异常(ERET/ERETAA/ERETAB):
                1、SError: 通常是由硬件导致的,没办法修复;
                2、IRQ:如从EL0->EL1,如在EL1发生IRQ,不会切换异常等级;
                3、FIQ:如从EL0->EL1,如在EL1发生FIQ,不会切换异常等级。

3、异常进入

        硬件执行:
                1、把PSTATE寄存器保存到对应的目标等级的SPSR_ELx;
                2、把返回地址保存到目标异常等级的ELR_ELx;
                3、把PSTATE的D/A/I/F标志置1;
                4、同步异常将异常原因写入ESR_ELx;
                5、切换SP为SP_ELx或SP_EL0。
        软件执行:
                1、软件压栈。

4、异常退出

        硬件执行:
                1、从ELR_ELx中恢复PC指针;
                2、从SPSR_ELx中恢复PSTATE,其中SPSR.M[3:0]记录了返回哪个异常等级,SPSR.M[4]记录了返回哪个执行状态。
        软件执行:
                1、软件出栈;
                2、执行ERET指令退出异常。
        这里异常返回与函数返回不一样,函数返回使用ret指令,返回使用的LR是X30(LR)。

5、安全模式切换

        安全模式切换只能在EL3进行,步骤如下(EL1_S->EL1_NS)
                1、使用SMC指令,进入到EL3;
                2、改变SCR_EL3.NS的值,将NS位写1;
                3、然后从EL3返回(ERET)到EL1。

6、栈帧

7、异常向量

8、内核寄存器


013 - ARM64的异常处理(Exception)机制
ARM64基础12:ARM64的异常模式及异常向量表
ARMv8的异常等级(Exception Level)以及执行状态(AArch64/AArch32)
异常等级切换
ARM处理器的secure 和 Non-secure模式切换方法:SMC指令和SCR.NS

http://tee.hehezhou.cn/register/AArch64-regindex.html

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

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

相关文章

边界无限陈佩文:红蓝对抗安全演练常态化的各方分析

虽然常态化演练尚未正式开始,但我们仍然希望对各方的表现进行一些分析和预测,以辅助我们对市场的判断和决策。同时,也希望通过这些初步的见解,抛砖引玉,引发更多有价值的讨论和观点。 “船停在码头是最安全的&#xf…

深度学习1

1.支持向量机Support Vector Machine(SVM)是一种对数据二分类的线性分类器,目的是寻找一个超平面对样本进行分割,广泛应用人像识别,手写数字识别,生物信息识别。 二维空间分割界是一条直线,在三…

骨传导耳机哪个牌子好?总结五款好用骨传导耳机推荐!

在健康意识日益增强的今天,运动健身已成为连接身心健康的桥梁,而音乐则是这座桥上最动人的风景。然而,对于热衷于运动的人们而言,传统耳机往往难以胜任,其稳定性与卫生性问题成为一大痛点。 正当此时,骨传…

【机器学习】连续字段的特征变换

介绍 除了离散变量的重编码外,有的时候我们也需要对连续变量进行转化,以提升模型表现或模型训练效率。在之前的内容中我们曾介绍了关于连续变量标准化和归一化的相关内容,对连续变量而言,标准化可以消除量纲影响并且加快梯度下降…

vue 中 使用腾讯地图 (动态引用腾讯地图及使用签名验证)

在设置定位的时候使用 腾讯地图 选择地址 在 mounted中引入腾讯地图: this.website.mapKey 为地图的 key // 异步加载腾讯地图APIconst script document.createElement(script);script.type text/javascript;script.src https://map.qq.com/api/js?v2.exp&…

Android的课程学习助手APP-计算机毕业设计源码19307

基于Android的课程学习助手APP 摘 要 在数字化、信息化的时代背景下,移动学习已成为现代教育发展的重要趋势。为了满足广大学生对高效、便捷学习方式的迫切需求,一款基于Android平台的课程学习助手APP应运而生。这款APP巧妙地将先进的信息技术与学习体验…

养老院生活管理系统

摘要 随着全球范围内人口老龄化趋势的日益加剧,养老院作为老年人生活的重要场所,其生活管理问题也显得愈发突出和重要。为了满足养老院在日常生活管理、老人健康监护、服务人员管理等多方面的需求,提高管理效率和服务质量。决定设计并实现了…

模拟5亿年自然进化史,全新蛋白质大模型ESM3诞生!前Meta老将力作LeCun转赞

模拟5亿年自然进化史,全新蛋白质大模型ESM3诞生!前Meta老将力作LeCun转赞。 能抗衡AlphaFold 3的生命科学大模型终于出现了。初创公司Evolutionary Scale AI发布了他们最新的98B参数蛋白质语言模型ESM3。不仅支持序列、结构、功能的all-to-all推理&#…

搞了个 WEB 串口终端,简单分享下

每次换电脑总要找各种串口终端软件,很烦。 有的软件要付费,有的软件要注册,很烦。 找到免费的,还得先下载下来,很烦。 开源的软件下载速度不稳定,很烦。 公司电脑有监控还得让 IT 同事来安装&#xff0…

基于FreeRTOS+STM32CubeMX+LCD1602+AD5621(SPI接口)的DAC控制输出Proteus仿真

一、仿真原理图: 二、运行效果: 三、STM32CubeMX配置: 1)、GPIO配置: 2)、freertos配置: 四、软件部分: 1)、main主函数: /* USER CODE BEGIN Header */ /** ****************************************************************************** * @file …

华为ENSP防火墙+路由器+交换机的常规配置

(防火墙区域DHCP基于接口DHCP中继服务器区域有线区域无线区域)配置 一、适用场景: 1、普通企业级网络无冗余网络环境,防火墙作为边界安全设备,分trust(内部网络信任区域)、untrust(外部网络非信…

算法思想总结:优先级队列

一、最后一块石头的重量 . - 力扣(LeetCode) 我们每次都要快速找到前两个最大的石头进行抵消,这个时候用优先级队列(建大堆),不断取堆顶元素是最好的!每次删除堆顶元素后,可以自动调整&#xf…

前端面试题10(js多位数组变一维数组)

1. 使用concat()和递归 function flatten(arr) {return arr.reduce((acc, val) > Array.isArray(val) ? acc.concat(flatten(val)) : acc.concat(val), []); }let multiDimArray [[1, 2, [3]], 4]; let flatArray flatten(multiDimArray); console.log(flatArray); // 输…

GTest和Catch2单元测试学习(附Cmake测试代码库)

kevin_CTest CTest 单元测试学习 Gitee库: https://gitee.com/bigearrabbit/kevin_ctest.git 示例多是从网页文章上摘取的,大部分记录在下面,或者源码内。供学习参考。 CTest 学习Catch2 框架 单个文档的测试架构,使用方便&am…

【SQL】已解决:SQL错误(15048): 数据兼容级别有效值为100、110或120

文章目录 一、分析问题背景二、可能出错的原因三、错误代码示例四、正确代码示例五、注意事项 已解决SQL错误(15048): 数据兼容级别有效值为100、110或120 在数据库开发和管理过程中,我们经常会遇到各种各样的错误。本文将详细分析SQL错误(15048)的背景、可能原因、…

转型AI产品经理前需要搞懂的9个问题

笔者近10年来一直工作于AI领域技术和产品一线,今天分享9个大家普遍关注却少有人系统回答的问题。 1.下一个10年,AI产业在国内的发展和职业发展的机遇如何? 从四方面看: (1)技术角度:逐步成熟…

将代码转为Mac窗口风格的图片

前言 在写博客的时候总觉得默认的代码样式不好看,希望用类似Mac窗口那种三个小圆点的风格转成图片贴出来,所以自己动手做了一个。 一、效果展示 二、在线使用 代码图片生成工具:有码高清 三、源码

【Python机器学习】算法链与管道——利用网格搜索选择使用哪个模型

我们可以进一步将GridSearchCV和Pipeline结合起来:还可以搜索管道中正在执行的实际步骤(比如用StandardScaler还是用MinMaxScaler)。这样会导致更大的搜索空间,应该予以仔细考虑。 尝试所有可能的解决方案,通常并不是…

MySQL—创建查看删除备份恢复数据库

创建数据库 创建数据库 LLF_DB01CREATE DATABASE LLF_DB01删除数据库DROP DATABASE LLF_DB01创建一个使用utf8字符集的数据库并带校对规则的数据库CREATE DATABASE hsp_db03 CHARACTER SET utf8 COLLATE utf8_bin 查看、删除数据库 显示所有的数据库SHOW DATABASES显示数据库…