《UCOSII移植》课件
- 格式:ppt
- 大小:4.58 MB
- 文档页数:8


转:⼀步⼀步教你使⽤uCOS-II
第⼀篇 UCOS介绍
第⼀篇 UCOS介绍
这个⼤家都知道。呵呵。考虑到咱们学习的完整性还是在这⾥唠叨⼀下。让⼤家再熟悉⼀下。⾼⼿们忍耐⼀下吧! uC/OS II(Micro ControlOperation System Two)是⼀个可以基于ROM运⾏的、可裁减的、抢占式、实时多任务内核,具有⾼度可移植性,特别适合于微处理器和控
制器,是和很多商业操作系统性能相当的实时操作系统(RTOS)。为了提供最好的移植性能,uC/OS II最⼤程度上使⽤ANSI C语⾔进⾏开
发,并且已经移植到近40多种处理器体系上,涵盖了从8位到64位各种CPU(包括DSP)。
uC/OS II可以简单的视为⼀个多任务调度器,在这个任务调度器之上完善并添加了和多任务操作系统相关的系统服务,如信号量、邮箱等。
其主要特点有公开源代码,代码结构清晰、明了,注释详尽,组织有条理,可移植性好,可裁剪,可固化。内核属于抢占式,最多可以管理60个任务。
µC/OS-II 的前⾝是µC/OS,最早出⾃于1992 年美国嵌⼊式系统专家Jean brosse 在《嵌⼊式系统编程》杂志的5 ⽉和6 ⽉刊上刊登的⽂
章连载,并把µC/OS 的源码发布在该杂志的B B S 上。
µC/OS 和µC/OS-II 是专门为计算机的嵌⼊式应⽤设计的, 绝⼤部分代码是⽤C语⾔编写的。CPU 硬件相关部分是⽤汇编语⾔编写的、总量
约200⾏的汇编语⾔部分被压缩到最低限度,为的是便于移植到任何⼀种其它的CPU 上。⽤户只要有标准的ANSI 的C交叉编译器,有汇编
器、连接器等软件⼯具,就可以将µC/OS-II嵌⼈到开发的产品中。µC/OS-II 具有执⾏效率⾼、占⽤空间⼩、实时性能优良和可扩展性强等特
点, 最⼩内核可编译⾄ 2KB 。µC/OS-II 已经移植到了⼏乎所有知名的CPU 上。
严格地说uC/OS-II只是⼀个实时操作系统内核,它仅仅包含了任务调度,任务管理,时间管理,内存管理和任务间的通信和同步等基本功
使用uCOS-II嵌入式系统的短信息电话机
1、背景
后PC时代的到来,使人们开始越来越多地接触到一个新的概念——嵌入式产品。手机、PDA(如商务通)等均属于手持式嵌入式产品,VCD机、机顶盒等也属于嵌入式产品,而车载GPS系统、数控机床、网络冰箱等同样都属于嵌入式产品。信息电器具有信息服务功能,如网络浏览、视频点播、文字处理、电子邮件、个人数字助理等。后PC时代,家用电器将向数字化和网络化发展,计算机都将嵌入到电视机、冰箱、微波炉、电话等中,并通过家庭控制中心与Internet连接,转变为智能网络家电;还可以实现远程医疗、远程教育等。据估计未来十年间,信息家电(网络冰箱、机顶盒、家庭网关、数字机顶盒等)总量可达到1~1.5亿台,总市场需求将达到900~1500亿元。
Short Messages Phone(短信息电话机)是一种操作简便、成本低廉的固定电话信息终端产品。它集成了网络和智能电话的优点,是一种基于信息网络的,具有交互功能的信息终端产品,可以通过固定电话网络与信息中心进行数据双向传送。
2、系统功能及其实现方案
2.1 功能特点
短信息电话机除了实现普通电话机的通用功能外,还增加了短消息收/发、信息浏览与查阅、信息点播、信息订阅、电话簿、来电号码显示与存储、通话记录、来电转移、呼叫等待、呼叫限制、对屏幕的灰度进行设置、对回执进行设置以及时钟和日历功能、闹钟功能、特色铃声功能、记事本功能等。
短信息电话机还可以和信息中心在线交互,查看信息中心提供的信息(例如天气预报、电视预告、电影预告、股价查询、话费查询、区号邮编查询、新闻栏目、彩票信息等等),还可以订阅一些自己喜欢的信息。在线浏览的信息取决于信息中心提供的信息。短信息电话机就像是一个固定的手机。手机的功能几乎它都具备。
2.2 硬件方案
(1)MCU的选择
MCU是整个方案的核心,由它来处理CPE(客户端设备)与IIS(集成信息系统),控制整个电话机的各个功能部件。由于人机界面对速度的要求不是很高,数据通信速度也相对较低,一般的8位MCU就能够满足方案的要求。我们选择EPSON 的EOC88系列的E0C88104芯片。
笔记一:µC/OS-II的特点
µC/OS-II系统是专门为计算机的嵌入式应用而设计的。µC/OS-II系统中90%的代码是用C语言编写的,CPU硬件相关部分是用汇编语言编写的。总量约200行的汇编语言部分被压缩到最低限度,便于移植到任何一种其他CPU上,用户只需要有标准的ANSI的C交叉编译器,有汇编器、连接器等软件工具就可以将µC/OS-II系统嵌入到所要开发的产品中。µC/OS-II系统具有执行效率高、占用空间小、实时性能优良和可扩展性强等特点。其主要特点如下:
1) 开源性。
µC/OS-II系统的源代码全部公开,用户可以直接登录µC/OS-II的官方网站下载,官方网站公布了针对不同微处理器的移植代码。这样就使系统变得开放、透明,极大地方便了µC/OS-II系统的开发,提高了开发效率。
2) 可移植性。
绝大部分µC/OS-II系统的源码是用移植性很强的ANSI C语句写的,和微处理器硬件部分相关的是用汇编语言写的。
µC/OS-II系统能够移植到多种微处理器的条件是只要该微处理器具有堆栈指针,有CPU内部寄存器入栈、出栈指令。另外,使用的C编译器必须支持内嵌汇编(inline assembly)或者该C语言可扩展、可连接汇编模块,使得关中断、开中断能够在C语言程序中执行。
3) 可固化。
µC/OS-II系统是为嵌入式应用而设计的,只要具备合适的软、硬件工具,µC/OS-II系统就可以嵌入到用户的产品中,成为产品的一部分。
4) 可裁剪。
用户可以根据自身需求只使用µC/OS-II系统中应用程序中需要的系统服务,而且这种可裁剪性是依靠条件编译实现的,处理较方便。
5) 抢占试。
µC/OS-II系统是完全抢占式的实时内核。µC/OS-II系统总是运行就绪条件下优先级最高的任务。
6) 多任务。
µC/OS-II系统可以管理64个任务,其中预留8个给系统,因此应用程序最多可以有56个任务,系统赋予每个任务的优先级是不同的,µC/OS-II系统不支持时间片轮转调度法。
µC/OS-II在80x86上的移植
本章将介绍如何将µC/OS-II移植到Intel 80x86系列CPU上,本章所介绍的移植和代码都是
针对80x86的实模式的,且编译器在大模式下编译和连接。本章的内容同样适用于下述CPU:
80186
80286
80386
80486
Pentium
Pentium II
实际上,将要介绍的移植过程适用于所有与80x86兼容的CPU,如AMD,Cyrix,NEC (V-系列)
等等。以Intel的为例只是一种更典型的情况。80x86 CPU每年的产量有数百万,大部分用于个
人计算机,但用于嵌入式系统的数量也在不断增加。最快的处理器(Pentium系列)将在2000年
达到1G的工作频率。
大部分支持80x86(实模式)的C编译器都提供了不同的内存使用模式,每一种都有不同的内
存组织方式,适用于不同规模的应用程序。在大模式下,应用程序和数据最大寻址空间为1Mb,
程序指针为32位。下一节将介绍为什么32位指针只用到了其中的20位来寻址(1Mb)。
本章所介绍的内容也适用于8086处理器,但由于8086没有PUSHA指令,移植的时候要用几条
PUSH指令来代替。
图F9.1显示了工作在实模式下的80x86处理器的编程模式。所有的寄存器都是16位,在任务切换时
需要保存寄存器内容。
图F9.1 80x86 实模式内部寄存器图.
80x86提供了一种特殊的机制,使得用16位寄存器可以寻址1Mb地址空间,这就是存储器分段
的方法。内存的物理地址用段地址寄存器和偏移量寄存器共同表示。计算方法是:段地址寄存
器的内容左移4位(乘以16),再加上偏移量寄存器(其他6个寄存器中的一个,AX,BP,SP,
SI,DI或IP)的内容,产生可寻址1Mb的20位物理地址。图F9.2表明了寄存器是如何组合的。段
寄存器可以指向一个内存块,称为一个段。一个16位的段寄存器可以表示65,536个不同的段,因