Linux内核中断子系统

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 handler, unsigned long flags,
     const char *name, void *dev)
功能:注册中断
参数:
    @irq:软中断号
    @handler:指向中断处理函数
     irqreturn_t irq_handle(int irqno, void *dev)
     {
         
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

小徐的记事本

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

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

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

打赏作者

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

抵扣说明:

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

余额充值