前言
cpu在执行程序时,如果有外部中断触发时,如定时器中断、串行总线中断等,cpu停止当前任务从而转去响应中断处理。对于中断函数的处理,原则是尽快处理完事务并退出中断,这一点也比较好理解,尽快处理中断并返回,保证正常任务的执行,并q且能否响应其他事务的中断,保证实时性和并发性。
其实,在单片机逻辑编程中已经使用过Linux中断“上下部分”的思维,或者说,Linux中断“上下半部”设计者灵感即源自最初的裸机编程。例如,在单片机裸机编程中,需要通过串口(UART)进行数据通信,对于接收数据情况下,在采用中断方式接收时,我们一般会先将数据存放在一个缓存(buf)中,中断函数只负责将数据存入缓存,而在主函数中获取缓存数据并处理。在这个过程中,中断处理部分即将数据存入缓存的动作为“中断上半部”,当然还包括从寄存器获取数据,改变寄存器状态等。“中断下半部”则是获取缓存数据并处理。
RTOS中断处理
从裸机编程上升到系统层面,单片机运行实时系统(RTOS)。RTOS一般以线程为调度任务,没有进程概念,但都会提供一套
【Linux驱动编程】Linux中断上半部和下半部
最新推荐文章于 2024-08-01 16:15:20 发布
本文介绍了Linux中断处理中的上半部和下半部概念,旨在提高系统的实时性和并发性。中断上半部主要处理硬件交互、时间敏感任务,而下半部则处理耗时任务。Linux中断设计原则包括将硬件操作、实时任务放在上半部,非实时、耗时任务放在下半部。下半部的实现机制包括软中断、tasklet和工作队列。
摘要由CSDN通过智能技术生成