- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第2章嵌入式操作系统中的基本概念祥解.ppt
图2.20中断延迟、响应和恢复(前后台模式) 图2.21中断延迟、响应和恢复(不可剥夺型内核) 图2.22中断延迟、响应和恢复(可剥夺型内核) 2.30 中断处理时间 基本原则: 中断服务的处理时间应该尽可能的短,但是对处理时间并没有绝对的限制 2.31 非屏蔽中断(NMI) 应用场合: 有时,中断服务必须来得尽可能地快,内核引起的延时变得不可忍受。在这种情况下可以使用非屏蔽中断。 非屏蔽中断留做紧急处理用,如断电时保存重要的信息。 注意事项: 非屏蔽中断的中断服务子程序中,不能使用内核提供的服务,因为非屏蔽中断是关不掉的,故不能在非屏蔽中断处理中处理临界区代码。 参数使用原则: 全程变量的位数必须是一次读或写能完成的,即不应该是两个分离的字节,要两次读或写才能完成。 参数的传递必须使用全程变量 若需要在非屏蔽中断中使用内核服务,可对其进行改造 两种方法:可以向非屏蔽中断传送参数或从非屏蔽中断获取参数。 非屏蔽中断可以用增加外部电路的方法禁止 图2.23非屏蔽中断的禁止 在非屏蔽中断服务子程序中,不能使用内核服务给任务发信号。但可以使用如图2.24所示的中断机制,即用非屏蔽中断产生普通可屏蔽中断的机制。 图2.24非屏蔽中断产生普通可屏蔽中断 中断延迟时间 = 指令执行时间中最长的那个时间 + 开始做非屏蔽中断服务的时间 中断响应时间 = 中断延迟时间 + 保存CPU寄存器花的时间 中断恢复时间 = 恢复CPU寄存器的时间 + 执行中断返回指令的时间。 2.32 时钟节拍(Clock Tick) 时钟节拍是特定的周期性中断。 这个中断可以看作是系统心脏的脉动。 中断之间的时间间隔取决于不同的应用。 一般在10mS到200mS之间。 主要作用: 每个时钟到来的时候为任务提供一次裁决 时钟节拍是内核的最小计时单位 可以将任务延时若干个整数时钟节拍; 当任务等待事件发生时,提供等待超时的依据。 时钟节拍率越快,系统的额外开销就越大。 使用时钟节拍计时存在抖动。 抖动的三种情况 第一种情况,优先级高的任务和中断服务超前于要求延时一个时钟节拍的任务运行。这就引起了任务执行时间的抖动。 图2.25将任务延迟一个时钟节拍(第一种情况) 第二种情况,所有高优先级的任务和中断服务的执行时间略微小于一个时钟节拍。 图2.26将任务延迟一个时钟节拍(第二种情况) 第三种情况,所有高优先级的任务加上中断服务的执行时间长于一个时钟节拍。 图2.27将任务延迟一个时钟节拍(第三种情况) 上述情况在所有的实时内核中都会出现,这与CPU负荷有关,也可能与系统设计不正确有关。以下是这类问题可能的解决方案: (1)增加微处理器的时钟频率; (2)增加时钟节拍的频率; (3)重新安排任务的优先级; (4)避免使用浮点运算(如果非使用不可,尽量用单精度数) (5)使用能较好地优化程序代码的编译器; (6)时间要求苛刻的代码用汇编语言写; (7)如果可能,用同一家族的更快的微处理器做系统升级。如从8086向80186升级,从68000向68020升级等; 不管怎么样,抖动总是存在的 2.30 对存储器的需求 前后台系统,对存储器容量的需求仅仅取决于应用程序代码。 多任务代码空间总需求量 总代码量 = 应用程序代码 + 内核代码 因为每个任务都是独立运行的,必须给每个任务提供单独的栈空间(RAM)。 内核不支持单独的中断用栈 RAM总需求 = 应用程序的RAM需求 + (任务栈需求 + 最大中断嵌套栈需求) * 任务数 内核支持中断用栈分离 RAM总需求 = 应用程序的RAM需求 + 内核数据区的RAM需求 + 各任务栈需求之总和 + 最多中断嵌套之栈需求分配给每个任务多少栈空间时,应该尽可能使之接近实际需求量 除非有特别大的RAM空间可以所用,对栈空间的分配与使用要非常小心。 特别要注意以下几点: 定义函数和中断服务子程序中的局部变量,特别是定义大型数组和数据结构 函数(即子程序)的嵌套 中断嵌套 库函数需要的栈空间 多变元的函数调用 2.34 使用实时内核的优缺点 实时内核也称为实时操作系统或RTOS,其优点: 应用的设计和扩展变得容易,不需要大的改动就可以增加新的功能。 通过将应用程序分割成若干独立的任务,RTOS使得应用程序的设计过程大为减化。 使用可剥夺性内核时,所有时间要求苛刻的事件都得到了尽可能快捷、有效的处理。通过有效的服务,如信号量、邮箱、队列、延时、超时等,RTOS使得资源得到更好的利用。 缺点: 增加了应用的额外需求 内核的价格 额外的ROM/RAM开销; 2到4百分点的CPU额外负荷。 2.35 实时系统小结 . 表2.2 实时系统小结 Foreground/Back
您可能关注的文档
最近下载
- ASTMA182-2015中文.PDF VIP
- 2025云南玉溪红塔实业有限责任公司员工招聘25人笔试备考试题及答案解析.docx VIP
- 2018湖北省施工机具使用费定额.pdf
- 25公安冲刺110考点 -更新版.pdf VIP
- 第三届全国生态环境监测专业技术人员大比武吉林省赛试题库资料(含答案).pdf
- (正式版)DB23∕T 3711-2024 《市县级矿产资源总体规划编制技术规程》.pdf VIP
- 工业设计审计报告范文.pdf VIP
- 丸红株式会社电子材料介绍.ppt VIP
- 2025年西式面点师(高级)实操技能与理论知识考核试题.docx VIP
- JBL_MS202 迷你桌面音响 说明书.pdf VIP
原创力文档


文档评论(0)