1. 首页
  2. 文档大全

ucos中断和时钟

上传者:20****2 2022-06-23 10:27:32上传 PPT文件 693.50KB
ucos中断和时钟_第1页 ucos中断和时钟_第2页 ucos中断和时钟_第3页

《ucos中断和时钟》由会员分享,可在线阅读,更多相关《ucos中断和时钟(22页珍藏版)》请在文档大全上搜索。

1、中断和时钟王华斌Wanghuabin-v中断是计算机系统处理异常事件的重要机制!vuC/OS-II的时钟是通过硬件定时器产生定时中断实现的。v任务在运行过程中,应内部或外部异常事件的请求中止当前任务,而去处理异常事件所要求的任务的过程叫做中断中断。应中断请求而运行的程序叫做中断服务子程序(中断服务子程序(ISRISR);中断服务子程序的入口地址入口地址叫做中断向量。中断向量。1、中断vC/OS中,中断服务子程序要用汇编语言来写中断服务子程序要用汇编语言来写。然而,如果用户使用的C语言编译器支持在线汇编语言的话,用户可以直接将中断服务子程序代码放在C语言的程序文件中。系统接收到中断请求后,如果这

2、时CPU处于中断允许状态,系统就会中止正在运行的任务,而按照中断向量的指向转而去运行中断服务子程序;而中断服务子程序的运行结束后,系统将会根据情况返回到被中止的任务继续执行,或者转向运行另一个具有更高优先级别的就绪任务。(任务的调度)总结v中断是一种硬件机制,用于通知CPU有个异常事件发生了。中断一旦被识别,CPU保存部分(或全部)现场(Context)即部分或全部寄存器的值,跳转到专门的子程序,称为中断服务子程序(ISR)。中断服务子程序做事件处理,处理完成后,程序回到:处理完成后,程序回到:(1)在前后台系统中,程序回到后台程序(2)对不可剥夺型内核而言,程序回到被中断了的任务(3)对可剥

3、夺型内核而言,让进入就绪态的优先级最高的任务开始运行中断嵌套vUC/OS-II系统运行中断嵌套,即:高优先级别的中断源的中断请求可以中断可以中断低优先级别的中断服务程序的运行。v为了记录中断嵌套的层数为了记录中断嵌套的层数,定义了一个全局变量OSIntNesting。(1)进入中断函数:)进入中断函数:void OSIntEnter (void) if(OSRunning=TRUE)if(OSIntNesting255) OSIntNesting+; /中断嵌套层数计数器加1调用情况:调用情况:此函数在中断服务程序保护断点数据后,运行用户中断服务代码之前来调用,所以通常把它叫做进入中断服务函数

4、。(2)退出中断服务函数)退出中断服务函数中断嵌套层数=0?调度器未被锁任务是被中断的任务入口获得最高优先级别就绪任务的prio获得任务TCB的指针执行中断级任务切换返回中断服务程序NoNoNoYesYesYesv说明:这个函数在中断嵌套层数计数器为0、调度器未被锁定、从任务就绪表中查找到的最高级就绪任务不是被中断的任务的条件下将要进行任务切换,否则就返回被中断的服务子程序v源代码见下页vvoid OSIntExit (void)vv OS_ENTER_CRITICAL();v if (-OSIntNesting & OSLockNesting) = = 0) v OSIntExitY

5、 = OSUnMapTblOSRdyGrp;v OSPrioHighRdy = (INT8U)(OSIntExitY OSTCBStkPtr = SP/V2.04以上新增4、清中断源5、重新开中断6、执行用户代码做中断服务; 7、调用OSIntExit();8、恢复所有CPU寄存器;9、执行中断返回指令;中断级任务切换函数中断级任务切换函数vuC/OS-II在运行完中断服务程序之后,并不一定返回到被中断的任务上去,而是要进行一次任务调度来决定是返回被中断的任务还是运行一个具有更高优先级别的任务,因此系统需要一个中断级任务调度器中断级任务调度器。v由函数OSIntExit()的源代码可以知道,通

6、过调用函数OSIntCtxSw()来进行中断级的任务切换。在中断服务程序中调用的负责任务切换的函数OSIntCtxSw()叫做中断级任务切换叫做中断级任务切换函数函数。2、时钟v时钟:时钟:任何操作系统都要提供一个周期性的信号源,以供系统处理与时间相关的事件,这个周期性的信号源叫做时钟。v时钟节拍:时钟节拍:UC/OS-II用硬件定时器产生一个周期为毫秒级的周期性中断来实现系统时钟。最小的时钟就是两次中断之间间隔的时间,这个最小时钟单位叫做时钟节拍。vOSTickISR() :硬件定时器以时钟节拍为周期定时地产生中断,该中断的中断服务程序就是它。中断中断服务程序服务程序通过调用函数通过调用函数


文档来源:https://www.renrendoc.com/paper/212634027.html

文档标签:

下载地址