Linux内核中断子系统

本文详细介绍了Linux内核中断子系统的异常处理流程、中断执行步骤,以及如何使用API和设备树配置中断。读者将学习到从画原理图、查找控制器设备树,到编写设备树节点的具体操作,并通过实例了解中断子系统的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.异常处理流程(4大步,3小步)

  1. 将cpsr保存到spsr中

  2. 设置cpsr

    2.1设置到ARM的状态

    2.2设置异常模式

    2.3如果有必要就禁止中断

  3. 保存PC到LR中

  4. 设置PC跳转到对应的位置执行

2.中断执行的流程

3.linux内核中断子系统的API

#include <linux/interrupt.h>

unsigned int irq_of_parse_and_map(struct device_node *dev, int index)
功能:解析并映射中断号得到软中断号
参数:
    @dev:节点的结构体指针
    @index:下标(interrupts成员的下标)
返回值:成功返回软中断号,失败返回0
        
int request_irq(unsigned int irq, irq_handler_t h
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小徐的记事本

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值