550|1

441

帖子

3

TA的资源

纯净的硅(高级)

楼主
 

《奔跑吧Linux内核(第2版)卷2:调试与案例分析》 中断管理 [复制链接]

本帖最后由 TL-LED 于 2024-5-5 22:24 编辑

 

    一、中断控制器

 

    Linux内核支持众多的处理器架构,从系统角度来看,Linux内核的中断管理可以分成下面4层。

    1、硬件层,如CPU和中断控制器的连接。

    2、处理器架构管理层,如CPU中断异常处理。

    3、中断控制器管理层,如IRQ号的映射。

    4、Linux内核通用中断处理器层,如中断注册和中断处理。

 

     二、硬件中断号和linux中断号的映射

 

     Linux驱动程序开发过程中,常用request_irq()函数注册中断接口,使用linux内核软件中断号。硬件中断号是如何映射到linux内核的IRQ号,芯片技术的发展,现在一个SOC内部有多个中断控制器,并且每个中断控制器管理的中断源的数量变得越来越多,在一些复杂的SOC中,多个中断控制器还可以级联成一个树状结构,面对如此复制的硬件,linux引入了irq_domain管理架构,可以支持多个中断控制器,完美地支持设备树机制,解决硬件中断号映射到linux内核的IRQ号的问题。

 

    三、注册中断

 

    一个外设中断发生后,内核会执行一个函数来响应中断,这个函数称为中断处理程序,中断处理程序是内核用于响应中断的,并且运行在中断上下文中,中断处理程序最基本的工作是通知硬件设备中断已经被接收,不同的硬件设备的中断处理程序是不同的,有的常常需要做很多的处理工作,这也是linux内核把中断处理程序分成上半部分和下半部分的原因。中断处理程序要求快速完成并退出中断。

 

    四、软中断和tasklet

 

    中断管理中有一个重要的设计理念,上下半部机制。中断上半部有一个很重要的原则,硬件中断处理程序应该执行的越快越好,希望它尽快离开并从硬件返回。

上半部分通常是完成整个中断处理任务中的一小部分。中断处理任务有一些计算任务,如数据的复制、数据包封装和转发,计算时间较长的数据处理等,这个任务中断可以放到中断下半部分来执行。

        tasklet是基于软中断的一种下半部机制。

        

此帖出自Linux开发论坛

最新回复

感谢楼主分享的有关linux操作系统中有关中断的基本知识,理解中断的概念,是学习操作系统与各种硬件设备通信的基础   详情 回复 发表于 2024-5-6 06:19
点赞 关注

回复
举报

756

帖子

4

TA的资源

纯净的硅(高级)

沙发
 

感谢楼主分享的有关linux操作系统中有关中断的基本知识,理解中断的概念,是学习操作系统与各种硬件设备通信的基础

此帖出自Linux开发论坛
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表