嵌入式实时操作系统教程5.pdf
上传人:qw****27 上传时间:2024-09-12 格式:PDF 页数:22 大小:197KB 金币:15 举报 版权申诉
预览加载中,请您耐心等待几秒...

嵌入式实时操作系统教程5.pdf

嵌入式实时操作系统教程5.pdf

预览

免费试读已结束,剩余 12 页请下载文档后查看

15 金币

下载此文档

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

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

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

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

μTenuxTM开源实时嵌入式操作系统原理和实践程序员篇(5)品质是价值和TM尊严的体现1课程目的„介绍μTenuxRTOS的基本原理„掌握μTenux的主要系统调用„学会基本的实时多任务设计方法悠龙咨询版权所有©TM22面向对象„有志于从事嵌入式软件设计人员„有C语言基础„掌握μTenuxEclipse/GCC开发知识„有一定操作系统原理基础知识悠龙咨询版权所有©TM33课程设计思路„理论和实践结合„练习紧密结合μTenux套件„讲解和练习囊括主要的系统调用悠龙咨询版权所有©TM44课程内容概述„Tenux概要,包括:„iTron的历史„T-Kernel的现状„μTenux的未来„μT/OS基本功能,包括:„任务管理„同步管理„内存管理„时间管理悠龙咨询版权所有©TM55议程„1.Tenux的概要„2.μT/OS的任务管理„3.μT/OS的任务间同步和通信„4.μT/OS的内存管理„5.μT/OS的时间管理悠龙咨询版权所有©TM66μT/OS的功能„μT/OS:μT-KernelOperatingSystem„任务管理功能„任务附属同步功能„任务例外处理功能„同步通信功能„扩展同步通信功能„内存池功能„时间管理功能„中断管理功能„系统状态管理功能„子系统管理功能悠龙咨询版权所有©TM77术语相对时间(RELTIM):„用作系统调用超时、定时等计时使用„时间基准为1ms,是32bit的无符号整数typedefUINTRELTIM;系统时间(SYSTIM):„用作表示系统当前时间,改变系统时间不会影响相对时间„以1985年1月1日0:00:00(GMT)开始以ms为单位的累加„时间基准为1ms,64bit带符号整数typedefstructsystim{Whi;UWlo;}SYSTIM;超时的时限(TMO):„用作系统调用的超时处理„时间基准为1ms,是32bit的无符号整数typedefINTTMO;„无限制等待可使用TMO_FEVR(=-1)悠龙咨询版权所有©TM88系统时间管理设置系统时间:ERercd=tk_set_tim(SYSTIM*pk_tim)„将系统时间设置成SYSTIM*pk_tim指定的值获得系统时间:ERercd=tk_get_tim(SYSTIM*pk_tim)„读取系统时钟的当前值,并在SYSTIM*pk_tim中返回获得系统工作时间:ERercd=tk_get_otm(SYSTIM*pk_tim)„系统工作时间是从系统启动开始已经过去的时间长度悠龙咨询版权所有©TM99思考题„什么时间会使用系统时间?„测量任务执行时间用哪种时间?悠龙咨询版权所有©TM1010周期性处理的图解表示了一个系统以某个固定的周期来执行动作周期性程序在运行时是属于任务无关部分„分派延迟:涉及到任务状态切换的请求不会立即执行,延迟到程序结束悠龙咨询版权所有©TM1111周期性处理的术语„周期时间和周期相位:„cyctim(周期时间):从上一次激活到下一次激活的时间间隔,是相对时间„cycphs(周期相位):从创建到第一次激活的时间间隔,是相对时间„在没有指定TA_STA的情况下,TA_PHS指定或者不指定的示意图:悠龙咨询版权所有©TM1212周期性处理的术语„周期性处理程序属性„cycatr:=„说明如下:„„„:悠龙咨询版权所有©TM1313周期性处理的SVC创建周期性处理:IDcycid=tk_cre_cyc(T_CCYC*pk_ccyc)„建立一个周期性处理程序,分配周期性处理cycid„如果指定TA_STA属性,周期性处理程序立即进入有效状态„参数pk_ccyc:„VPexinf扩展信息„ATRcycatr=(TA_ASM||TA_HLNG)|[TA_STA]|[TA_PHS]|[TA_DSNAME],属性,常用的属性有:„TA_ASM汇编语言„TA_HLNG高级语言„TA_STA在周期性处理程序建立时立即激活„TA_PHS保存周期相位„TA_DSNAME指定了用户对象名„FPcychdr周期性处理程序地址„RELTIMcyctim周期时间„RELTIMcycphs周期相位„UBdsname[8]DS对象名称„周期性处理程序形式(采用C语言编写,属性指定TA_HLNG)Void