uCOS操作系统及其移植讲义.ppt

  1. 1、本文档共30页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
uCOS操作系统及其移植讲义

总结 上面只是一般套路,可以根据情况调整。比如有的编译器支持内嵌汇编,这种情况下,你完全可以不要os_cpu_a.s,而把OSStartHighRdy, OSCtxSw等函数全放在os_cpu_c.c中用C实现 不管做什么调整,核心的是实现下面几个东西: OSStartHighRdy OSCtxSw OSIntCtxSw OSTaskStkInit OS_ENTER_CRITICAL/ OS_EXIT_CRITICAL 确定时钟节拍如何产生,写一个isr,并在系统启动时候启动time tick * 它仅仅包含了任务调度,任务管理,时间管理,内存管理和任务间的通信和同步等基本功能。没有提供输入输出管理,文件系统,网络等额外的服务。 最小内核可编译至 2KB 。 * * 由于μC/OS-II是一个通用性的操作系统,所以对于关键问题上的实现,还是需要根据具体CPU的具体内容和要求作相应的移植。 * UCOS-ii操作系统及其移植 操作系统是一种为应用程序提供服务的系统软件,是一个完整计算机系统的有机组成部分。 从层次来看,操作系统位于计算机硬件之上,应用软件之下。所以也把它叫做应用软件的运行平台。 什么是计算机操作系统 (Operating System,OS) 它在计算机应用程序与计算机硬件系统之间,屏蔽了计算机硬件工作的一些细节,并对系统中的资源进行有效的管理。 通过提供函数(应用程序接口(API)),从而使应用程序的设计人员得以在一个友好的平台上进行应用程序的设计和开发,大大地提高了应用程序的开发效率。 计算机操作系统的作用 从用户的角度来看,它就是一大堆函数(API和系统函数),用户可以调用(普通调用或系统调用)它们来对系统资源进行操作。 计算机硬件 用汇编语言编写 的 硬件抽象层 高级语言的接口 应用软件 操作系统 操作系统 计算机操作系统的功能 处理器的管理 存储管理 网络和通信的管理 I/O设备管理 文件管理 任务管理 任务表 存储 分配表 文件 目录 设备表 总之,需要一大堆表 操作系统的分类 操作系统 实时系统 分时系统 ?C/OS简介 μC/OS-II是一种可移植的,可植入ROM的,可裁剪的,抢占式的,实时多任务操作系统内核。 严格地说uC/OS-II只是一个实时操作系统内核 μC/OS-II 具有执行效率高、占用空间小、实时性能优良和可扩展性强等特点。 μC/OS-II 的前身是μC/OS,最早由美国人Jean Labrosse 1992年完成。μC/OS-II已经移植到了几乎所有知名的CPU 上。2000年,得到美国航空管理局(FAA)的认证,可以用于飞行器中。 网站www.ucos-II.com() μC/OS-II的组成部分 核心部分(OSCore.c) 任务处理部分(OSTask.c) 时钟部分(OSTime.c) 任务同步和通信部分 与CPU的接口部分 μC/OS-II的组成部分(续) 核心部分是操作系统的处理核心,包括操作系统 初始化、操作系统运行、中断进出的前导、时钟 节拍、任务调度、事件处理等多部分。能够维持 系统基本工作的部分都在这里。 任务处理部分中的内容都是与任务的操作密切相 关的。包括任务的建立、删除、挂起、恢复等等 时钟部分即产生时钟节拍。任务延时等操作是在 这里完成的。 μC/OS-II的组成部分(续) 任务同步和通信部分为事件处理部分,包括信号 量、邮箱、邮箱队列、事件标志等部分;主要用 于任务间的互相联系和对临界资源的访问。 与CPU的接口部分是指μC/OS-II针对所使用的 CPU的移植部分。这部分内容由于牵涉到SP等系 统指针,所以通常用汇编语言编写。主要包括中 断级任务切换的底层实现、任务级任务切换的底 层实现、时钟节拍的产生和处理、中断的相关处 理部分等内容。 μC/OS-II的应用流程 开启多任务调度 , 操作系统启动 创建用户任务 设置系统节拍 删除初始任务 板级初始化 创建初始任务 μC/OS-II的初始 化,创建空闲任务 μC/OS-II的 初始化 在使用μC/OS-II的所有服务之前,必须要调用μC/OS-II的初始化函数OSInit( )对μC/OS-II自身的运行环境进行初始化。 函数OSInit( )将对μC/OS-II的所有的全局变量和数据结构进行初始化,同时创建空闲任务OSTaskIdle,并赋之以最低的优先级别和永远的就绪状态。如果用户应用程序还要使用统计任务的话(常数OS_TASK_STAT_EN=1),则OSInit( )还要以优先级别为OS_LOWEST_PRIO-1来创建统计任务 初始化函数OSInit( )对数据结构进行初始化时,主要要创建包括空任务控制

文档评论(0)

2299972 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档