BSP(Board Support Package)学习之中断的机制

本文介绍了Linux操作系统中BSP(Board Support Package)的中断处理机制,探讨了为何需要中断,如何确保中断处理不占用CPU,以及中断从硬件到应用程序的传递路径。文章详细分析了中断响应延迟、中断处理程序执行时间以及调度程序处理时间,揭示了Linux内核在多任务环境下的中断处理策略。
摘要由CSDN通过智能技术生成

Linux流中断处理的基础

为什么需要中断

最近的微型计算机内置了一个高性能中断控制器,可以将许多中断事件传输到每个CPU核心,包括内部中断,触发内置定时器等,以及捕获外部信号变化的外部中断等。那么,到底为什么微型计算机需要中断处理呢?

如果定序器只专注于捕捉一个外部信号的变化,只需继续读取该信号,并立即执行必要的处理,如果信号发生变化,则不需要中断。以这种方式,周期性地读取信号的过程被称为轮询。如果您能够通过轮询一直专注于监控信号变化,则可以最短的时间内响应中断事件。为了充分利用这一特点,将专用CPU核心分配给捕获变化的一部分外部信号,即可在软件轮询过程中实现与专用硬件完全相同的性能。
  但是,在现实中,CPU的核心数是有限的,一个核心必须同时并行地做很多的工作,因此,CPU有时间限制的处理优先实行的中断的结构。
  为了在不同的环境中运行相同的应用程序,Linux也实现了处理芯片内部和外部中断事件的机制,该Linux具有抽象单个硬件规格并将其展示给应用程序的功能。

巧妙地使用诀窍确保中断处理不占用CPU

在中断实现中,重要的是在一定的限制时间内结束从中断因素发生到实际中断处理执行的延迟时间。因此,在装有RTOS的嵌入式设备中,一般在中断处理程序中完成中断处理。
  通常,在中断处理程序执行期间,中断禁止模式不接受另一个中断。当中断处理长时间占用CPU时,通常的主程序几乎不再运行。如果是简单的内置设备,这样的实现也可以取得一致性,但是在Linux的情况下,以多用户为前提&#x

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值