含代码uc_os-ii实验指导书

含代码uc_os-ii实验指导书

ID:9994222

大小:847.00 KB

页数:38页

时间:2018-05-20

含代码uc_os-ii实验指导书_第1页
含代码uc_os-ii实验指导书_第2页
含代码uc_os-ii实验指导书_第3页
含代码uc_os-ii实验指导书_第4页
含代码uc_os-ii实验指导书_第5页
资源描述:

《含代码uc_os-ii实验指导书》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、µC_OS-II实验指导书µC/OS-II实验内容简介1任务管理实验此实验的目的是让读者理解嵌入式操作系统中任务管理的基本原理,了解任务的各个基本状态及其变迁过程;掌握µC/OS-II中任务管理的基本方法(创建、启动、挂起和解挂任务);熟练使用µC/OS-II任务管理的基本系统调用。2优先级反转实验通过此实验读者可以了解在基于抢占式嵌入式实时操作系统并有共享资源的应用中,出现优先级反转现象的原理。优先级反转发生在有多个任务共享资源的情况下,高优先级任务被低优先级任务阻塞,并等待低优先级任务执行的现象。3优先级继承实验通过此实验读者可以了解嵌入式实时操作系统µC/OS-II解

2、决优先级反转的策略——优先级继承的原理,以此解决低优先级任务在占用了共享资源的情况下,被高优先级任务抢占了CPU使用权而导致的优先级反转的问题。4哲学家就餐实验通过经典的哲学家就餐应用,读者可以了解如何利用嵌入式实时操作系统µC/OS-II的信号量机制来对共享资源进行互斥访问。5内存管理实验通过此实验读者可以了解嵌入式实时操作系统µC/OS-II中的内存管理的原理,包括对内存的分配和回收。6时钟中断实验通过此实验读者可以了解嵌入式实时操作系统µC/OS-II中,时钟中断的使用情况。7消息队列实验通过此实验读者可以了解嵌入式实时操作系统µC/OS-II中的消息队列机制。读者可

3、以了解一个应用中的任务是如何进行通信的,如何能使它们相互协调工作。实验1任务的基本管理1实验目的ü理解任务管理的基本原理,了解任务的各个基本状态及其变迁过程;ü掌握µC/OS-II中任务管理的基本方法(创建、启动、挂起、解挂任务);ü熟练使用µC/OS-II任务管理的基本系统调用。2实验原理及程序结构2.1实验设计为了展现任务的各种基本状态及其变迁过程,本实验设计了Task0、Task1两个任务:任务Task0不断地挂起自己,再被任务Task1解挂,两个任务不断地切换执行。通过本实验,读者可以清晰地了解到任务在各个时刻的状态以及状态变迁的原因。起始任务Task0Task1T

4、ask0Task0Task1Task1t0t1t2t3t4t5t6t7t8图1-1图1注意:图中的栅格并不代表严格的时间刻度,而仅仅表现各任务启动和执行的相对先后关系。2.1.1运行流程整个应用的运行流程如图1所示,其描述如下:(1)系统经历一系列的初始化过程后进入boot_card()函数,在其中调用ucBsp_init()进行板级初始化后,调用main()函数;(2)main()函数调用OSInit()函数对µC/OS-II内核进行初始化,调用OSTaskCreate创建起始任务TaskStart;(3)main()函数调用函数OSStart()启动µC/OS-II内核

5、的运行,开始多任务的调度,执行当前优先级最高的就绪任务TaskStart;(4)TaskStart完成如下工作:a、安装时钟中断并初始化时钟,创建2个应用任务;b、挂起自己(不再被其它任务唤醒),系统切换到当前优先级最高的就绪任务Task0。之后整个系统的运行流程如下:lt1时刻,Task0开始执行,它运行到t2时刻挂起自己;lt2时刻,系统调度处于就绪状态的优先级最高任务Task1执行,它在t3时刻唤醒Task0,后者由于优先级较高而抢占CPU;lTask0执行到t4时刻又挂起自己,内核调度Task1执行;lTask1运行至t5时刻再度唤醒Task0;l……2.1.2μC

6、/OS-Ⅱ中的任务描述一个任务通常是一个无限的循环,由于任务的执行是由操作系统内核调度的,因此任务是绝不会返回的,其返回参数必须定义成void。在μC/OS-Ⅱ中,当一个运行着的任务使一个比它优先级高的任务进入了就绪态,当前任务的CPU使用权就会被抢占,高优先级任务会立刻得到CPU的控制权(在系统允许调度和任务切换的前提下)。μC/OS-Ⅱ可以管理多达64个任务,但目前版本的μC/OS-Ⅱ有两个任务已经被系统占用了(即空闲任务和统计任务)。必须给每个任务赋以不同的优先级,任务的优先级号就是任务编号(ID),优先级可以从0到OS_LOWEST_PR10-2。优先级号越低,任务

7、的优先级越高。μC/OS-Ⅱ总是运行进入就绪态的优先级最高的任务。2.2操作系统配置操作系统配置的目的在于根据应用的需要,对操作系统的功能和规模进行设置,以便优化对系统存储空间的使用。配置的方法为修改uC_OS-II源代码目录中的OS_CFG.h文件:#defineOS_MAX_EVENTS10/*最多可以有10个事件*/#defineOS_MAX_FLAGS5/*最多可以有5个事件标志*/#defineOS_MAX_MEM_PART5/*最多可以划分5个内存块*/#defineOS_MAX_QS2/*最多可以使用

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。