- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
面向嵌入式linux 系统的软中断设计与实现
面向嵌入式 Linux 系统的软中断设计与实现
Design and Implementation of Embedded Linux System Oriented Soft Interrupt
1 2 1 2 2
(中石化管道储运公司潍坊输油处 ;北京联合大学 )李雪莉 张兆莉 史晓龙
Li,Xueli Zhang,Zhaoli Shi,Xiaolong
摘 要 本文在分析标准 Linux 内核的软中断机制的演化以及实现原理的基础上,提出并实
现了一个面前嵌入式 Linux 系统的软中断技术。该技术为嵌入式系统开发提供一个统一的中
断处理框架。该框架易于扩展,并可以降低嵌入式系统开发难度,缩短开发周期以及提高系
统质量。
关键词 嵌入式 Linux 软中断 实时系统
中图分类号:TP368.1 文献标识码:B
Abstract :Based on the analysis of evolvement and implementation principle of soft interrupt
mechanism in standard Linux kernel, this paper proposes and implements an embedded Linux
system oriented soft interrupt technology. This technology contributes a general framework for
developing interrupt routine in embedded system and can reduce the difficulty and shorten the life
circle of system development, and meanwhile, increase the quality of the embedded system.
Keywords :Embedded Linux, Soft Interrupt ,Real Time System
1. 引言
计算机技术应用领域的不断扩大,要求计算机不但能自动运行程序,而且能够及时处理
运行过程中随机出现的异常情况和特殊要求,并实现主机和外设之间的并行工作。实现该项
功能的典型技术就是“中断”。在嵌入式系统中,中断及中断处理程序在嵌入式系统开发中
十分重要,它们直接影响到嵌入式系统的性能、安全性及稳定性。基于 Linux 的嵌入式系统
开发同样如此,嵌入式 Linux 系统多为“软实时”系统,其中断处理方式会与“硬实时”系
统有所区别,其更关注于系统的处理效率、稳定性而并非严格的中断响应时间。为此,本文
提出了面向中断处理的软中断技术,该技术可以显著提高系统处理效率,提高设备吞吐率,
增强系统稳定性。
2 .软中断技术的提出
中断服务程序一般都是在将中断请求关闭的条件下执行的,以避免嵌套而使控制复杂
化。可是,如果关中断的时间持续太长就可能因为 CPU 不能及时响应其他的中断请求而使
中断(请求)丢失执行。分析“软实时”系统的中断服务的过程,我们可以将其分成两个部
分,开头的部分往往是必须在关中断条件下执行的。这样才能在不受干扰的条件下“原子地
完成一些关键性操作。同时,这部分操作的时间性又往往很强,必须在中断请求发生后“立
即”或至少在一定的时间限制中完成,而且相继的多次中断请求也不能在一起来处理。而后
半部分,则通常可以、而且应该在开中断的条件下执行,这样才不至于因将中断关闭过久而
造成其他中断的丢失。本文将其中的后半部分就称为“bottom half ”,缩写为bh 。本文将这
些 bh 纳入到一个统一的框架中,称之为软中断,并广泛应用到嵌入式 Linux 系统开发中。
3 .软中机制原理
3.1 后半部(bottom half )
在以前的内核(如 2.0 版)中设置了一个函数指针数组 bh_base[] ,其大小为 32,数组
中的每个指针可以用来指向一个具体的bh 函数,该函数指针的赋值通过 init_bh()函数进行。
同时又设置了两个 32 位无符号整数 bh_active
文档评论(0)