- 1、本文档共65页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第七讲异常与中断
课前回顾 线程的概念 线程的相关函数 线程的调度方法 位图调度法 多级列表调度法 学习目标 异常的概念 异常的相关函数 异常的工作流程 中断的概念 中断的相关函数 中断的工作流程 学习指南 异常和中断是硬件开发过程必须面对的问题 问题总是可能发生的 程序员必需事先按排异常的处理,以免发生系统崩溃 中断的处理是很有效的系统调用 难重点 异常和中断的工作流程 知识点 Exceptions Interrupts 异常 中断 处理接口 第4章 异常和中断大纲要求:当前关键词:难重点: 异常是线程运行时引起的同步事件。它包括硬件异常(如内存故障、非法指令等)和软件异常(如超时)。 第4章 异常和中断大纲要求:当前关键词:难重点: 最简单和最灵活的异常处理方法就是采用调用异常处理函数的方法 异常处理函数需要一个运行环境,要求对运行数据进行访问。 还需要一些有关异常的一些数据,包括异常信息数据指针、异常向量、错误码及其他一些与异常有关的信息。 第4章 异常和中断大纲要求:当前关键词:难重点: 异常处理程序 与中断处理一样,不同平台的异常处理有着很大的区别,因此异常处理程序的具体实现位于硬件抽象层 HAL内 对于每一个异常都分配一个与其相对应的向量,即异常向量。 当系统调用涉及到异常处理程序时,将使用该异常向量。 异常的发生在很大程度上取决于系统硬件,尤其是处理器。 处理器的相关说明文档有详细的异常说明,硬件抽象层中的头文件halintr.h中有异常的相关定义。 第4章 异常和中断大纲要求:当前关键词:难重点: 异常处理是一个可选项,可以通过配置选项 CYGPKG KERNEL EXCEPTIONS对其进行使能或禁止。 在应用程序经过严格的测试,并且能确信不会出现任何异常的情况下,可以禁止该选项,这样可以减少程序和数据的代码量。 第4章 异常和中断大纲要求:当前关键词:难重点: 第4章 异常和中断大纲要求:当前关键词:难重点: 第4章 异常和中断大纲要求:当前关键词:难重点: 如果异常处理被使能,系统将为各种异常提供默认的异常处理程序,但这些异常程序不做任何操作。 如果应用程序要安装自己的异常处理程序和了解异常的详细情况,则必须使能CYGSEM KERNEL EXCEPTIONS DECODE选项。 该选项使能内核对异常进行译码,并将异常交给与其相对应的异常处理程序进行处理。 第4章 异常和中断大纲要求:当前关键词:难重点: 第4章 异常和中断大纲要求:当前关键词:难重点: 如果要使用一个新的异常处理程序,可以使用 API函数cyg_exception_set_handler函数进行安装,它为异常程序产生一个异常句柄。 见下一页 第4章 异常和中断大纲要求:当前关键词:难重点: 异常处理程序所采用的格式如下: void My_exeception_handler(cyg_addrword_t data, cyg_code_t exception, cyg_addrword_t info) { ... } 异常处理程序的第一个参数data是已传递给cyg exception set handler函数的第三个参数;第二个参数是异常号;第三个参数与硬件及异常有关。 第4章 异常和中断大纲要求:当前关键词:难重点: 如果需要的话,可以使用cyg_exception_clear_handler函数来恢复默认的异常处理程序。 第4章 异常和中断大纲要求:当前关键词:难重点: 由于异常是同步发生的,因此有些时候以线程为单位对异常进行处理较为有效,这种情况下每一个线程都有一组不同的异常处理程序。 在配置工具中通过禁止CYGSEM KERNEL EXCEPTIONS GLOBAL选项可以实现这种基于以线程为单位的异常处理。 第4章 异常和中断大纲要求:当前关键词:难重点: 第4章 异常和中断大纲要求:当前关键词:难重点: 异常处理内核 API函数 第4章异常和中断大纲要求:当前关键词:难重点: /*该函数创建一个新的异常处理句柄,并取回原来的异常处理句柄。其中new_handler为新的异常处理程序的函数指针,new_data是异常发生时传递给异常处理程序的一个参数。原来的异常处理句柄的信息将由参数old_handler和old_data带回。*/ void cyg_exception_set_handler( cyg_code_t exception_number, cyg_exception_handler_t *new_handler, cyg_addrword_t new_data,
您可能关注的文档
- 离子热合成磷铝分子筛 - 烷烃转化新催化材料及新过程研究组.pdf
- 离子色谱法测定甲醇中甲酸含量.doc
- 科名前定@宋代科举制度下的社会心态.pdf
- 科学创意 - 国立政治大学.doc
- 科学冲刺决胜高考.ppt
- 福懋加油站.ppt
- 科研项目资金管理 - 四川省科技经费管理服务平台.ppt
- 积极探索实效服务推动建立高校毕业生就业见习长效工作机制(陕西省 .doc
- 积极国民心态的探究、测评与引导: 当代中国心理 - 上海师范大学学报.pdf
- 神经损伤.ppt
- 2018年社工考试《初级综合能力》真题及答案详解.pdf
- 《塑料制品中环己烷1,2-二甲酸二异壬基酯(DINCH)含量和迁移量的测定 》编制说明(征求意见稿).docx
- 《药品检验检测机构 凝胶检测技术鲎试剂质量标准(征求意见稿)》和《药品检验检测机构 光度检测技术鲎试剂质量标准(征求意见稿)》(编制说明).docx
- 个体工商户登记管理规定学习专题(小陈税务期刊2025年第5期).docx
- 不同风格提示词的样图(参考)2.0.pdf
- 1.2《肉与肉制品外源成分残留规范》编制说明(征求意见稿).pdf
- 政策春风下的吸入制剂:市场潜力、技术挑战、应用拓展与政策导向.docx
- 抖胆DD3118规格书,国产usb3.0读卡器方案.pdf
- 《塑料制品中1-己烯含量和迁移量的测定》编制说明(征求意见稿).docx
- 2024年秋新外研版英语三年级上册教学课件 Unit 1 第2课时.pptx
最近下载
- 膝关节置换术术后护理ppt.pptx
- 2025中考时政热点话题与知识链接.pdf VIP
- 国家开放大学电大《计算机应用基础(本)》终结性考试试题答案(格式已排好)任务二.pptx VIP
- 公诉人在法庭上讯问被告人应把握规则和方法.doc VIP
- JT_T 1499-2024 公路水运工程临时用电技术规程.pdf VIP
- DB32∕T 3160-2016 高等学校智慧校园建设与应用规范地方标准.pdf VIP
- 刑事诉讼法和公安机关办理刑事案件程序规定.ppt VIP
- 2025年最新国家开放大学电大《家畜解剖基础》期末题库及答案 .pdf VIP
- 工程投入的主要物资(材料)情况描述及进场计划.docx VIP
- 国开电大网络存储技术(福建)形考任务二参考答案.doc VIP
文档评论(0)