预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共71页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

第六章中断处理与定时机制第六章中断处理与定时机制引言 对于嵌入式系统开发者来说,中断、异常和定时都是要必须面对的工作,它们不仅是实时操作系统(RTOS)中非常重要的概念,也是利用RTOS开发正确、高效应用程序的重要基础。因此,正确理解中断和定时机制,对于用户开发操作系统和设计应用程序都是十分有意义的。 本章主要介绍操作系统内核的两个主要功能:中断和定时。6.1中断管理6.1.1异常的定义由内部事件(像处理器指令运行产生的异常)称为同步异常。同步异常的例子如下:6.1.1异常的定义在某些处理器体系结构中,对于确定的数据尺寸必须从内存的偶数地址进行读或写操作。从一个奇数内存地址的读或写操作将引起一个错误事件并且引起一个异常。6.1.1异常的定义 由外部事件(与处理器指令执行不相关的事件)引发的异常,称为异步异常。一般,这些外部事件与硬件信号相关。这些硬件信号典型地来源于外部硬件装置。异步异常的例子包括:6.1.1异常的定义造成被零除、溢出或其他数学错误的算术运算引起一个异常6.1.1异常的定义按下嵌入式板子上的复位按钮,触发一个异步的异常,即系统复位。另外一个外部设备的例子是,通信处理器模块接收到数据包时引发的异步异常。6.1.2中断的类型6.1.2中断的类型6.1.1异常的定义6.1.2中断的类型根据终端的是否被屏蔽,中断分为可屏蔽中断和不可屏蔽中断。6.1.2中断的类型6.1.2中断的类型6.1.2中断的类型软件中断也称为同步中断或是自陷,通过处理器的软件指令来实现,产生中断的时机是预知的,可根据需要在程序中进行设定。软件中断的处理程序以同步方式进行执行,其处理方式同硬件中断处理程序类似。软件中断是一种非常重要的机制,系统可根据该机制在用户模式执行特权模式下的操作。软件中断也是软件调试的一个重要手段,在许多嵌入式操作系统的开发环境中都使用可设置的软件中断点来调试程序。6.1.2中断的类型6.1.2中断的类型6.1.2中断的类型 在边缘触发方式中,中断线从低变到高,或者是从高变到低时,中断信号就被发送出去,并只有在下一次的从低变到高,或者是从高变到低时才会再次触发中断。由于该事件发生的时间非常短,有可能出现中断控制器丢失中断的情况,并且,如果有多个设备连接到同一个中断线,即使只有一个设备产生了中断信号,也必须调用中断线对应的所有中断服务程序来进行匹配,否则会出现中断的软件丢失的情况 6.1.2中断的类型6.1.2中断的类型6.1.3中断处理的过程6.1.3中断处理的过程6.1.3中断处理的过程6.1.3中断处理的过程6.1.4实时内核的中断管理6.1.4实时内核的中断管理6.1.4实时内核的中断管理6.1.4实时内核的中断处理6.1.4实时内核的中断处理6.1.4实时内核的中断处理6.1.4实时内核的中断处理6.1.5中断服务程序6.1.4实时内核的中断处理实时内核提供的中断管理功能:提供对高优先级中断的预留机制这些中断的处理由用户中断服务程序独立完成,不经过中断接管程序的处理。挂接中断服务程序把用户中断服务程序同一个虚拟中断向量表的中断向量联系在一起。获得中断服务程序入口地址根据中断向量,获得挂接在该中断向量上的中断服务程序的入口地址。获取中断嵌套层次在允许中断嵌套的处理中,获取当前的中断嵌套层次信息。开中断使能中断关中断屏蔽中断6.1.5中断服务程序6.1.5中断服务程序6.1.5中断服务程序6.1.5中断服务程序6.1.5中断服务程序6.1.5中断服务程序6.1.5中断服务程序6.1.5中断服务程序6.1.5中断服务程序6.1.5中断服务程序6.1.5中断服务程序6.1.5中断服务程序6.2时间管理6.2.1硬件时钟设备6.2.1硬件时钟设备6.2.1硬件时钟设备6.2.1硬件时钟设备6.2.1硬件时钟设备6.2.1硬件时钟设备6.2.2时间管理6.2.2时间管理6.2.2时间管理6.2.2时间管理6.2.2时间管理6.2.2时间管理6.2.2时间管理6.2.2时间管理6.2.2时间管理6.2.2时间管理6.2.2时间管理6.2.2时间管理6.2.2时间管理6.2.2时间管理End