南京航空航天大学自动化学院嵌入式实验一任务的基本管理实验报告

南京航空航天大学
研究生实验报告
          项目名称:   任务的基本管理 
学生姓名:              防喷器试压
班级学号:           
专业名称:  导航,制导与控制 
    日期:2016年5月20号
实验1 任务的基本管理
一、实验目的及要求
目的:
1、理解任务管理的基本原理,了解任务的各个基本状态及其变迁过程;
2、掌握µC/OS-II中任务管理的基本方法(创建、启动、挂起、解挂任务);
3、熟练使用µC/OS-II任务管理的基本系统调用。
要求:
    一、运行实验指导书上的程序,理解任务管理的基本原理。
    二、修改程序:
    1. 将Task0与Task1的优先级交换,运行结果是怎样的?分析结果。
2. 在原有程序的Task0中,增加延时功能,并调整Task0与Task1的延时时间,会对运行结果有什么影响并分析。
二、实验内容及原理
1、μC/OS-Ⅱ中的任务描述
一个任务通常是一个无限的循环 ,由于任务的执行是由操作系统内核调度的,因此任务是绝不会返回的,其返回参数必须定义成void。μC/OS-Ⅱ,当一个运行着的任务使一个比它优先级高的任务进入了就绪态,当前任务的CPU使用权就会被占,高优先级任务会立刻得到CPU的控制权(在系统允许调度和任务切换的前提下)。μC/OS-Ⅱ可以管理多达64个任务,但目前版本的μC/OS-Ⅱ有两个任务已经被系统占用了(即空闲任务和统计任务)。必须给每个任务赋以不同的优先级,任务的优先级号就是任务编号(ID),优先级可以从0到OS_LOWEST_PR10-2。优先级号越低,任务的优先级越高。μC/OS-Ⅱ总是运行进入就绪态的优先级最高的任务。
2、操作系统的配置
操作系统配置的目的在于根据应用的需要,对操作系统的功能和规模进行设置,以便优化对系统存储空间的使用。配置的方法为修改uC_OS-II源代码目录中的OS_CFG.h文件:
#define OS_MAX_EVENTS      10          /*最多可以有10个事件*/
#define OS_MAX_FLAGS        5          /*最多可以有5个事件标志*/
#define OS_MAX_MEM_PART    5          /*最多可以划分5个内存块*/
#define OS_MAX_QS            2          /*最多可以使用2个队列*/
#define OS_MAX_TASKS      3          /*最多可以创建3个任务*/
#define OS_LOWEST_PRIO      14          /*任务优先级不可以大于14*/
#define OS_TASK_IDLE_STK_SIZE    1024    /*空闲任务堆栈大小*/
#define OS_TASK_STAT_EN          1       /*是否允许使用统计任务*/
#define OS_TASK_STAT_STK_SIZE    1024    /*统计任务堆栈大小*/
#define OS_FLAG_EN          亨润成型机炮筒公司      0      /*是否允许使用事件标志功能*/
#define OS_FLAG_WAIT_CLR_EN        /*是否允许等待清除事件标志*/
#define OS_FLAG_ACCEPT_EN          /*是否允许使用OSFlagAccept()*/
#define OS_FLAG_DEL_EN            /*是否允许使用OSFlagDel()*/
#define OS_FLAG_QUERY_EN    玻璃门夹    1     /*是否允许使用OSFlagQuery()*/
#define OS_MBOX_EN              0      /*是否允许使用邮功能*/
#define OS_MBOX_ACCEPT_EN          /*是否允许使用 OSMboxAccept() */
#define OS_MBOX_DEL_EN                /*是否允许使用 OSMboxDel()*/
#define OS_MBOX_POST_EN        1        /*是否允许使用OSMboxPost()*/
#define OS_MBOX_POST_OPT_EN          /*是否允许使用OSMboxPostOpt() */
#define OS_MBOX_QUERY_EN      1        /*是否允许使用OSMboxQuery()*/
#define OS_MEM_EN                0        /*是否允许使用内存管理的功能*/
#define OS_MEM_QUERY_EN      1        /*是否允许使用OSMemQuery()*/
#define OS_MUTEX_EN                    /*是否允许使用互斥信号量的功能*/
#define OS_MUTEX_ACCEPT_EN  工地降尘  1        /*是否允许使用OSMutexAccept()*/
#define OS_MUTEX_DEL_EN        1        /*是否允许使用OSMutexDel()*/
#define OS_MUTEX_QUERY_EN      1        /*是否允许使用OSMutexQuery()*/
#define OS_Q_EN                    0        /*是否允许使用队列功能*/
#define OS_Q_ACCEPT_EN          1        /*是否允许使用OSQAccept()*/
#define OS_Q_DEL_EN                1        /*是否允许使用OSQDel()*/
#define OS_Q_FLUSH_EN            1        /*是否允许使用 OSQFlush()*/
#define OS_Q_POST_EN              1        /*是否允许使用 OSQPost()*/
#define OS_Q_POST_FRONT_EN       1        /*是否允许使用OSQPostFront()*/
#define OS_Q_POST_OPT_EN        1        /*是否允许使用OSQPostOpt()*/
#define OS_Q_QUERY_EN          1        /*是否允许使用OSQQuery()*/
#define OS_SEM_EN                0        /*是否允许使用信号量功能*/
#define OS_SEM_ACCEPT_EN        1        /*是否允许使用OSSemAccept()*/
#define OS_SEM_DEL_EN            1        /*是否允许使用 OSSemDel() */
#define OS_SEM_QUERY_EN          1        /*是否允许使用 OSSemQuery()*/
细水雾喷头
#define OS_TASK_CHANGE_PRIO_EN  0        /*是否允许使用 OSTaskChangePrio()*/
#define OS_TASK_CREATE_EN        1      /*是否允许使用OSTaskCreate()*/
#define OS_TASK_CREATE_EXT_EN    1  无机抗菌剂    /*是否允许使用OSTaskCreateExt()*/

本文发布于:2024-09-22 23:17:19,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/3/154947.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:任务   允许   使用   是否   管理   基本   运行   实验
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议