第一范文网 - 专业文章范例文档资料分享平台

uC - OS-II实验指导书2014

来源:用户分享 时间:2025/6/5 14:43:17 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

第一部分 实验系统简介及入门

1 实验系统的目的

通过此实验系统,读者可以了解嵌入式实时操作系统μC_OS-II的内核机制和运行原理。本实验系统展示了μCOS-II各方面的管理功能,包括信号量、队列、内存、时钟等。在各个实验中具体介绍了μCOS-II的相关函数。读者在做实验的同时能够结合理论知识加以分析,了解各个函数的作用和嵌入式应用程序的设计方法,最终对整个μCos和嵌入式操作系统的应用有较为清楚的认识。

2 实验系统的构成

本实验系统由以下各部分组成:

1. μCOS-II嵌入式实时操作系统。这个操作系统是开放源代码的; 2. LambdaTOOL。一个开发嵌入式软件的集成开发环境;

3. BSP。针对特定嵌入式硬件平台的板级支持包,提供板级初始化代码和一些基本的驱动程序; 4. 实验用例程序。基于特定的嵌入式操作系统(在本实验系统中是μCOS-II)的应用程序代码。

3 操作系统简介 3.1 μC/OS-II概述

μC/OS-II是一个抢占式实时多任务内核。μC/OS-II是用ANSI的C语言编写的,包含一小部分汇编语言代码,使之可以提供给不同架构的微处理器使用。至今,从8位到64位,μC/OS-II已经在40多种不同架构的微处理器上使用。世界上已经有数千人在各个领域中使用μC/OS,这些领域包括:照相机行业、航空业、医疗器械、网络设备、自动提款机以及工业机器人等。

μC/OS-II全部以源代码的方式提供给读者,大约有5500行。CPU相关的部分使用的是针对Intel80x86微处理器的代码。虽然μC/OS-II可以在PC机上开发和测试,但是可以很容易地移植到不同架构的嵌入式微处理器上。

5

3.2 μC/OS-II的特点

1、源代码:μC/OS-II全部以源代码的方式提供给使用者(约5500行)。该源码清晰易读,结构协调,且注解详尽,组织有序;

2、可移植(portable): μC/OS-II的源代码绝大部分是用移植性很强的ANSI C写的,与微处理器硬件相关的部分是用汇编语言写的。μC/OS-II可以移植到许许多多不同的微处理器上,条件是:该微处理器具有堆栈指针,具有CPU内部寄存器入栈、出栈指令,使用的C编译器必须支持内嵌汇编,或者该C语言可扩展和可链接汇编模块,使得关中断和开中断能在C语言程序中实现;

3、可固化(ROMable): μC/OS-II是为嵌入式应用而设计的,意味着只要具备合适的系列软件工具(C编译、汇编、链接以及下载/固化)就可以将μC/OS-II嵌入到产品中作为产品的一部分;

4、可裁减(scalable): 可以只使用μC/OS-II中应用程序需要的系统服务。可裁减性是靠条件编译实现的,只需要在用户的应用程序中定义那些μC/OS-II中的功能应用程序需要的部分就可以了;

5、可抢占性(preemptive): μC/OS-II是完全可抢占型的实时内核,即μC/OS-II总是运行就绪条件下优先级最高的任务;

6、多任务: μC/OS-II可以管理64个任务。赋予每个任务的优先级必须是不相同的,这就是说μC/OS-II不支持时间片轮转调度法(该调度法适用于调度优先级平等的任务);

7、可确定性: 绝大多数μC/OS-II的函数调用和服务的执行时间具有可确定性。也就是说用户能知道μC/OS-II的函数调用与服务执行了多长时间。进而可以说,除了函数OSTimeTick()和某些事件标志服务,μC/OS-II系统服务的执行时间不依赖于用户应用程序任务数目的多少;

8、任务栈: 每个任务都有自己单独的栈。μC/OS-II允许每个任务有不同的栈空间,以便降低应用程序对RAM的需求;

9、系统服务: μC/OS-II提供许多系统服务,比如信号量、互斥信号量、事件标志、消息邮箱、消息队列、时间管理等等;

10、中断管理: 中断可以使正在执行的任务暂时挂起。如果优先级更高的任务被该中断唤醒,则高优先级的任务在中断嵌套全部退出后立即执行,中断嵌套层数可以达255层;

11、稳定性和可靠性: μC/OS-II的每一种功能、每一个函数以及每一行代码都经过了考验和测试,具有足够的安全性与稳定性,能用于与人性命攸关、安全性条件极为苛刻的系统中。

6

3.3 μC/OS-II主要源代码文件介绍

μC/OS-II的源代码具体包括以下的文件: PC.C:

源文件PC.H包含了对函数和环境的一些定义。

OS_CORE.C OS_FLAG.C OS_MBOX.C OS_MEM.C OS_MUTEX.C OS_Q.C OS_SEM.C OS_TASK.C OS_TIME.C μCOS-II.C μCOS-II.H :

这些文件是μC/OS-II中所有与处理器类型无关部分的源代码。

OS_CPU_A.S OS_CPU_C.C

OS_CPU.H :

这些文件是与处理器类型相关部分的源代码,在本实验系统中是面向80x86处理器的。

INCLUDES.H

给整个内核库提供了总体的include文件。

OS_CFG..H:

μC/OS-II的配置文件,定义使用μC/OS-II中的哪些功能。

5 μC/OS-II实验内容简介 5.1 任务管理实验

此实验的目的是让读者理解嵌入式操作系统中任务管理的基本原理,了解任务的各个基本状态及其变迁过程;掌握μC/OS-II中任务管理的基本方法(创建、启动、挂起和解挂任务);熟练使用μC/OS-II任务管理的基本系统调用。

7

5.2 优先级反转实验

通过此实验读者可以了解在基于抢占式嵌入式实时操作系统并有共享资源的应用中,出现优先级反转现象的原理。优先级反转发生在有多个任务共享资源的情况下,高优先级任务被低优先级任务阻塞,并等待低优先级任务执行的现象。

5.3 优先级继承实验

通过此实验读者可以了解嵌入式实时操作系统μC/OS-II解决优先级反转的策略——优先级继承的原理,以此解决低优先级任务在占用了共享资源的情况下,被高优先级任务抢占了CPU使用权而导致的优先级反转的问题。

5.4 哲学家就餐实验

通过经典的哲学家就餐应用,读者可以了解如何利用嵌入式实时操作系统μC/OS-II的信号量机制来对共享资源进行互斥访问。

5.5 内存管理实验

通过此实验读者可以了解嵌入式实时操作系统μC/OS-II中的内存管理的原理,包括对内存的分配和回收。

5.6 时钟中断实验

通过此实验读者可以了解嵌入式实时操作系统μC/OS-II中,时钟中断的使用情况。

5.7 消息队列实验

通过此实验读者可以了解嵌入式实时操作系统μC/OS-II中的消息队列机制。读者可以了解一个应用中的任务是如何进行通信的,如何能使它们相互协调工作。

8

搜索更多关于: uC - OS-II实验指导书2014 的文档
uC - OS-II实验指导书2014.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c7v1os3skfc01k8200sna_2.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top