首 页       用户登录  |  用户注册
设为首页
加入收藏
联系我们
按字母检索 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
按声母检索 A B C D E F G H J K L M N O P Q R S T W X Y Z 数字 符号
您的位置: 5VAR论文频道论文中心理工论文电子通信
   嵌入式实时系统中断管理技术研究      ★★★ 【字体: 】  
嵌入式实时系统中断管理技术研究
收集整理:佚名    来源:本站整理  时间:2009-01-10 22:40:27   点击数:[]    

关调度要深,要细。开关中断主要是为实时性提供各种可能的中断时机,允许响应外部中断。中断里也可以执行调度和系统调用,但中断的上下文与任务的上下文是不一样的,因此在中断里只能执行一些特定的系统调用。这些特定系统调用是不会引起调用阻塞的,不要试图在中断里执行获取信号量,执行I/O操作等这些很容易引起调用阻塞的系统调用。

2 中断管理模型

    2.1 中断前-后段处理模型

  在前面嵌入式内核中断管理模式分析中,嵌入式内核一般采用中断统一接管思想,在中断统一接管中调用用户的中断服务程序。中断管理模式中的中断处理部分又可以细化,如嵌入式Linux系统中关于中断管理机制中提出了“前半部”和“后半部”的处理思想。其实这种中断管理的思想把中断处理部分按照重要性分两部分,将必须要做的中断处理部分归为“前半部”,即这部分在中断处理部分实施;而将中断处理中可以延迟操作且影响不大的部分归为“后半部”,这部分在退出中断服务程序后实施。通过这样的中断管理思想减少的中断服务时间,为其它外部事件的中断响应提供了更多的时机。在实时内核中还有其它的中断处理机制,它们的思想都是尽量减少中断处理的时间。如在一些I/O处理部分,I/O操作所引起的中断处理部分只做标记功能,即只设一个标志或者发一个消息说明外部中断来了,而具体的I/O传输操作放在中断外部实施。根据上面的分析,将前面的中断处理思想归结为:中断“前-后”段处理模型,其模型如图4。

  在图4中,“中断前部”主要完成外部事件发生中断请求时,系统对其响应所完成的必要功能,如中断现场保护、数据预取和预放等;“置标”部分主要通知某个任务或者线程已有一个中断发生,且中断的前部已完成;“中断后部”并不是在中断服务程序里执行,而是由接收到标记或者通知的任务或者线程来完成的,主要是完成本应在中断服务里完成的后继工作。举个例子,当网络接口卡报告新的数据包到达时,“中断前部”主要将数据包送到协议层;“中断后部”完成对数据包的具体处理。

  在此“中断前-后段处理模型”中,应该注意两个方面:

  ① 如何划分“中断前部”和“中断后部”。基本的划分标准是,应该立即处理的和必要的功能部分放在“中断前部”完成,可以推迟处理或者可以在中断外处理的功能部分放在“中断后部”完成。

  ②“中断后部”何时执行,取决于用于完成“中断后部”功能的任务或者线程的优先级。如果要让中断的后继部分较快地执行,则可以通过提高获得标记的任务或者线程的优先级。从极限角度思维,当获得标记的任务或者优先级很高时,在“中断前部”完成退出中断后,立即就执行获得标记的任务或者线程,这相当于获得标记的任务或者线程执行部分就在中断里执行。如果中断的后继部分并不要求较快的执行,则可以赋给获得标记的任务或者线程为普通的优先级。

2.2 单向量多中断处理映射技术

(1)问题的提出

  在前面的嵌入式内核中断管理模式图中,中断向量表部分也属于模式图的一部分,不同嵌入式处理器体系中断向量的支持也不同。在PowerPC 8xx 系列的处理器中,所有外部中断对应的向量都是0x500。为了处理这种多个外部中断共用一个向量的情况,本节提出了单向量多中断处理技术。此技术的思想如下:

  当外设中断触发时,首先定位到实向量位置,调用中断统一接口函数,中断统一接口函数对外设中断触发的参数进行测试,寻找到其对应的虚向量,从而触发虚向量处的回调函数,从而实现多个外部中断通过同一的实向量到多个虚向量的映射,解决了单向量多中断处理的问题。

  单向量多中断处理映射技术的示意图如图5。

  在上面的单向量多中断处理映射图中,V表示多个外设共享的中断请求向量号,V1,V2,…,Vn-1,Vn表示不同外设对应的虚向量号;Fi表示与Vi对应的回调函数(i=1…n)。

    (2)实现方法

  基于前面的分析,将单向量多中断处理映射技术运用于Delta OS 移植到PowerPC MPC860平台上。PowerPC MPC860处理器的外部中断向量号为0x500。在单向量多中断处理模型图中,V=0x500。设有n个外部设备分别为D1,D2,D3,…,Dn,这些外部设备中断触发时的中断标志分别为 PPC_D1,PPC_D2,PPC_D3,…,PPC_Dn;Delta OS 内核为这些外部设备分配的虚向量号分别为V_D1,V_D2,V_D3,…,V_Dn,在实现中分别取值:0x2000、0x2100、0x2200等,即每个虚向量号间距256个字节。在Delta OS内核中声明了一个全局虚向量表_ISR_VECTOR_TABLE,通过系统调用delta_interrupt_catch,将用户的中断服务程序安装到指定的虚向量号处。Delta OS 用统一的中断接口函数_ISR_Handler 来处理外部中断。在模型实现中有两个重要的功能模块:用户中断安装模块和中断处理模块。下面分别用伪代码描述这两个模块的功能。

  用户中断安装模块delta_interrupt_catch 的伪代码实现如下:

delta_interrupt_catch(vector, new_isr_handler,old_isr_handler){

① 检查向量号的有效性

② 检查新中断服务程序的有效性

③ 保存旧的中断服务程序指针

④ 安装用户指定的新中断服

上一页  [1] [2] [3]  下一页


Tags:


文章转载请注明来源于:5VAR论文频道 http://paper.5var.com。本站内容整理自互联网,如有问题或合作请Email至:support@5var.com
或联系QQ37750965
提供人:佚名
  • 上一篇文章:用于便携式产品的低成本音频方案

  • 下一篇文章:MPC8250处理器及其在宽带接入中的应用
  • 返回上一页】【打 印】【关闭窗口
    中查找“嵌入式实时系统中断管理技术研究”更多相关内容 5VAR论文频道
    中查找“嵌入式实时系统中断管理技术研究”更多相关内容 5VAR论文频道
    最新热点 最新推荐 相关新闻
  • ››嵌入式系统的通信规约管理平台设计...
  • ››一种基于七号信令的局间话单采集系...
  • ››对于变频器的制动技术分析
  • ››电子文件管理元数据宏观结构多维分...
  • ››浅论卫星电视接收机的常见故障的检...
  • ››信息时代网络用户信息检索焦虑的心...
  • ››论GIS在高校房产管理中的实际应用
  • ››关于电力通信发展战略的思考 金李莎...
  • ››2G、3G切换精细化优化分析思路探讨...
  • ››光纤自动化生产的需求与时机
  • ››嵌入式实时操作系统μC/OS-II与eCo...
  • ››嵌入式实时系统中断管理技术研究
  • ››嵌入式实时系统中的优先级反转问题...
  •   文章-网友评论:(评论内容只代表网友观点,与本站立场无关!)
    关于本站 - 网站帮助 - 广告合作 - 下载声明 - 网站地图
    Copyright © 2006-2033 5Var.Com. All Rights Reserved .