uCOS-II原理及应用--3解读.ppt

  1. 1、本文档共32页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
uCOS-II原理及应用--3解读

西安邮电学院 计算机系 第3章 uC/OS-II 的中断和时钟 第3章 目录 1、 uC/OS-II的中断 2、 uC/OS-II的时钟 3、时间管理 第3章 目录 1、 uC/OS-II的中断 2、 uC/OS-II的时钟 3、时间管理 补充:ARM中的中断优先级资源 补充:ARM中的中断优先级资源 第3章 目录 1、 uC/OS-II的中断 2、 uC/OS-II的时钟 3、时间管理 第3章 目录 1、 uC/OS-II的中断 2、 uC/OS-II的时钟 3、时间管理 * page * page 嵌入式实时操作系统 μC/OS-II 西安邮电学院计算机系 Tel: (ZQL) Email: zql@xiyou.edu.cn 3.1 uC/OS-II 的中断 基本概念 中断 任务正在执行过程中被某紧要事件打断运 行,而去处理该紧迫事件的过程; 中断源 中断信号的申请者; 中断响应 CPU对中断信号相应处理的机制; 中断嵌套 优先级高的中断可以再中断低级的ISR; ISR (某紧要事件的)中断服务处理程序; 中断向量 ISR 的入口地址。 ARM 处理器中断控制原理: VICIntSelect 中断选择寄存器,配置32个中断源的F/I属性。1FIQ; VICIntEnable 中断使能寄存器,控制相应通道中断申请屏蔽否。 1使能; ;异常向量表 Reset LDR PC, ResetAddr LDR PC, UndefinedAddr LDR PC, SWI_Addr LDR PC, PrefetchAddr LDR PC, DataAbortAddr DCD 0xb9205f80 LDR PC, [PC, #-0xff0] LDR PC, FIQ_Addr ResetAddr DCD ResetInit UndefinedAddr DCD Undefined SWI_Addr DCD SoftwareInterrupt PrefetchAddr DCD PrefetchAbort DataAbortAddr DCD DataAbort Nouse DCD 0 IRQ_Addr DCD 0 FIQ_Addr DCD FIQ_Handler 8个字单元,每单元存放一条转移指令; 8个字单元,每单元存放一条目标地址; 0x00 0x04 0x08 0x0c 0x10 0x14 0x18 0x1c FIQ 中断的响应: IRQ 中断的响应: 在存储器 0x1c 单元 安排有指令: LDR PC, FIQ_Addr 在存储器 0x18 单元 安排有指令: LDR PC, [PC, #-0xff0] 备注:执行本指令时,PC = 0x0000,0020; 0x0000,0020 – 0x0000,0ff0 = 0x0000,0020 + 0xffff,f010 = 0xffff,f030(即VICVectAddr寄存器) IRQ_ISR地址映射关系图 备注 VIC涉及到43个相关寄存器 1、硬件自动过程; 2、ISR过程; 无高级任务激活返回 有高级任务激活返回 3.1 uC/OS-II 的中断 uC/OS-II 的中断过程 在应用系统设计中编写uC/OS-II的中断服务程序(ISR)时,要用到两个重要的系统函数。 OSIntEnter()、OSIntExit() uC/OS-II 允许中断嵌套,最多可嵌套 255 层;系统全局变量 OSIntNesting 记录中断嵌套层数。 3.1 uC/OS-II 的中断 系统函数 OSIntEnter( )、OSIntExit( ) OSIntEnter( ) OSIntExit( ) 函数原型:void OSIntEnter( void ) 主要功能:系统变量 OSIntNesting 自加1,目的告诉uC/OS-II系统记录中断的嵌套层数。 函数原型:void OSIntExit( void ) 主要功能:系统变量 OSIntNesting 自减1,目的告诉uC/OS-II系统中断的嵌套层数,OSIntNesting==0时,则进行一次中断级的任务调度 OSIntCtxSw()。 3.1 uC/OS-II 的中断 应用程序中的临界段 临界段的基本概念

文档评论(0)

22ffbqq + 关注
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档