本文主要为广大网友提供“实时嵌入式系统uc/os-II内核分析”,希望对需要实时嵌入式系统uc/os-II内核分析网友有所帮助,学习一下!
客服咨询,网学网竭诚为您服务,本站永久域名:myeducs.cn |
1.1 uC/OS-II的系统服务函数 根据上面的研究,已经可以构造一个最简uc/OS-II系统,但是uc/OS-II的功能却远远不止与此,以下将对uc/OS-II提供的丰富的系统服务作一个简单的介绍,这些函数将是未来构造实际uc/OS-II系统常用的部分。 1.1.1 任务管理 任务管理服务包括以下基本函数: 1. OSTaskCreat()该函数用来建立一个任务; 2. OSTaskCreatExt() 该函数同样是用来建立一个任务,但是相比于函数OSTaskCreat(),OSTaskCreatExt()提供了更多的参数; 3. OSTaskStkChk() 该函数可以检查任务实际占用的堆栈情况; 4. OSTaskDel() 该函数可以删除一个指定的任务; 5. OSTaskDelReq() 该函数可以删除一个处在运行态的任务; 6. OSTaskChangePrio() 该函数用来改变指定任务的优先级; 7. OSTaskSuspend() 该函数可以将一个处在运行态或者就绪态的任务挂起,使其处于挂起态; 8. OSTaskResume() 该函数可以将一个处在挂起态的任务恢复为运行态或者就绪态; 9. OSTaskQuery() 该函数用来获得任务的一些相关信息。 1.1.2 时间管理 时间管理包括以下基本函数: 1. OSTimeDly() 该函数用来给任务延时指定的时钟节拍数; 2. OSTimeDlyHMSM() 该函数用来给任务延时指定的时、分、秒; 3. OSTimeDlyResume() 该函数可以将一个被延时的任务不等延时期满酒取消该任务的延时,从而使该任务进入就绪态。 4. OSTimeGet()和OSTimeSet() 利用OSTimeSet()函数可以设置系统时间,OSTimeSet()可以获得系统时间。 1.1.3 信号量管理 信号量管理包括以下基本函数: 1. OSSemCreate() 该函数用来建立一个信号量; 2. OSSemDel() 该函数用来删除一个信号量; 3. OSSemPend() 该函数用来等待其它任务释放一个信号量; 4. OSSemPost() 该函数用来释放一个信号量; 5. OSSemAccept() 该函数用来无等待的请求一个信号量,如果该信号量暂时无效,则任务不是进入睡眠状态而是简单的返回; 6. OSSemQuery() 该函数用来查询一个信号量的当前状态。 1.1.4 消息邮箱管理 消息邮箱管理包括以下基本函数; 1. OSMboxCreate() 该函数用来建立一个消息邮箱; 2. OSMboxPend() 该函数用来等待其它任务释放一个消息邮箱; 3. OSMboxPost() 该函数用来释放一个消息邮箱; 4. OSMboxAccept() 该函数可以使应用程序以无等待的方式从邮箱中得到消息; 5. OSMboxQuery() 该函数用来查询一个邮箱的当前状态。 1.1.5 消息队列管理 消息队列可以看作是多个消息邮箱的叠加,消息队列管理包括以下几基本函数: 1. OSQCreate() 该函数用来建立一个消息队列; 2. OSQPend() 该函数用来等待其它任务释放一个消息队列; 3. OSQPost() 该函数用来向消息队列发送一个消息; 4. OSQPostFront() 该函数用来向消息队列发送一个消息; 5. OSQAccept() 该函数可以无等待地从一个消息队列中取得消息; 6. OSQFlush() 该函数用来清空一个消息队列 7. OSQQuery() 该函数用来查询一个消息队列的状态。 1.2 本章小结 本章介绍了实时嵌入式操作系统uc/OS-II的性能特点,然后详细阐述了uc/OS-II的内核结构,剖析了uc/OS-II在内核实时性及多任务调度的实现机理,最后对uc/OS-II常用的功能函数作了简要的介绍,为进一步的研究打下了坚实的基础。 |
本站发布的计算机毕业设计均是完整无错的全套作品,包含开题报告+程序+论文+源代码+翻译+答辩稿PPT |
本文选自计算机毕业设计http://myeducs.cn |