【ARM】中断的处理

ARM的异常向量表

  1. 如果发生异常后并没有exception level切换,并且发生异常之
    前使用的栈指针是SP_EL0,那么使用第一组异常向量表。
  2. 如果发生异常后并没有exception level切换,并且发生异常之
    前使用的栈指针是SP_EL1/2/3,那么使用第二组异常向量表。
  3. 如果发生异常导致了exception level切换,并且发生异常之前
    的exception level运行在AARCH64模式,那么使用第三组异常
    向量表。
  4. 如果发生异常导致了exception level切换,并且发生异常之前
    的exception level运行在AARCH32模式,那么使用第四组异常
    向量表。

Linux Kernel的中断处理

Linux Kernel中的异常向量表的实现

在设置异常向量表基地址时填的虚拟地址

Linux kernel对中断的处理

ATF(TF-A)的中断处理

ATF(TF-A)中的中断向量表
BL31 runtime_exceptions

程序在EL3时来一个IRQ中断target到EL3来实现时,是不支持的,因为是没有实现的。

程序在EL3一下时来一个中断,此时是支持的,直接target到EL3。

optee的中断处理

optee os中异常向量表的实现

第二组不用

做了两件事

1,写了一个异常向量表

2,把异常向量表的基地址写入VBAR_EL1寄存器中

optee os中对中断的处理
optee中中断的使用示例

写一个结构体声明一下,调用itr_add和itr_enable,当中断一来,就会自动调用中断处理函数

相关推荐
每天进步一点点️40 分钟前
透视 SOC 内部:APU Cluster 如何驱动 DB15 的 CAN/ETH 信号输出
arm开发·soc·芯片
xiaoyaohou111 小时前
032、部署优化(三):OpenVINO与ARM平台(NCNN、TNN)部署
arm开发·人工智能·openvino
路溪非溪3 小时前
抓取手机的蓝牙HCI日志并分析
linux·arm开发·驱动开发·智能手机
somi721 小时前
ARM-05-Platform + DTS + GPIO子系统 + 中断 + 等待队列 + 错误处理
linux·运维·arm开发
互联科技报1 天前
好用稳定的5G网络仿真软件如何选?— 深度对比与选型指南
网络·arm开发·5g
web守墓人1 天前
【linux】Mubuntu发布,将完整的ubuntu arm装进手机应用中
linux·arm开发·ubuntu
咸鱼不用加盐1 天前
HC32F460 USB CDC通信异常:非对齐访问异常排查
单片机·arm·c·cm4
EnglishJun2 天前
ARM嵌入式学习(十九)--- 字符设备驱动的注册与调用流程
arm开发·学习
Bohemian—Rhapsody2 天前
银河麒麟(ky10.aarch64)操作系统安装部署mysql5.7.26
mysql·arm
顾喵2 天前
ARM处理器体系结构
linux·arm