1、2嵌入式实时操作系统嵌入式实时操作系统嵌入式实时操作系统概述嵌入式实时操作系统概述OS、RTOS、Kernel、前后台系统、分层和模块化设计、微内核 操作系统原理操作系统原理任务管理、同步与通信、时钟管理、中断/异常管理、内存管理、I/O管理主流嵌入式操作系统主流嵌入式操作系统uClinux、Windows CE、VxWorks、ucOS、Symbian 3嵌入式实时操作系统嵌入式实时操作系统I/O系统的主要功能系统的主要功能p管理设备驱动程序通过驱动程序地址表实现,表中存放了设备驱动程序的入口p实现设备命名实现方式:主/次设备号、设备名表、文件描述符p向用户提供统一的调用设备初始化、打开、关
2、闭、读、写 4嵌入式实时操作系统嵌入式实时操作系统I/O访问的基本方法访问的基本方法p直接I/O方法 由CPU负责,采用轮询方式在机器内存与设备控制器中的数据寄存器间进行数据传送p中断驱动直接I/O方法 消除设备驱动程序不断轮询设备控制器中的状态寄存器产生的开销p存储映射I/O 利用设备编址简化访问接口p直接内存访问 采用DMA(Direct Memory Access)控制器,能够直接从某个内存地址读取信息,无需CPU干预5嵌入式实时操作系统嵌入式实时操作系统设备调用设备调用p应用层可以通过设备名来使用设备pI/O系统和驱动程序内部采用主/次设备号来操作设备pI/O系统还需要提供将设备名映射
3、到主/次设备号的方法,通常采用设备名表p采用文件描述符加快和统一设备访问6嵌入式实时操作系统嵌入式实时操作系统主设备号主设备号 访问驱动程序地址表的索引,用于区别不同的驱动程序次设备号次设备号 一个驱动程序可能管理多个同类设备,驱动程序内部用次设备号区别不同设备设备名表设备名表 设备名表含有设备名、主设备号和次设备号等内容,实现设备名到主/次设备号的映射7嵌入式实时操作系统嵌入式实时操作系统文件描述符文件描述符p应用程序如果每次都通过设备名使用设备并不方便,I/O系统采用文件描述符的机制简化这一过程p用户打开设备后为设备分配一个文件描述符,以后对设备的操作都通过这个文件描述符进行p把对设备的操
4、作同对文件的操作统一起来8嵌入式实时操作系统嵌入式实时操作系统串口(串口(Serial Port)p串口类型pRS-232、RS-422、RS-485pUSB(Universal Serial Bus)p常用RS-232串口设备 Modem、串口打印机、仿真器、工业用板卡9嵌入式实时操作系统嵌入式实时操作系统通用异步收发报机(通用异步收发报机(Universal Asynchronous Receiver/Transmitter,UART)p将计算机内部的并行数据转换为输出的串行数据流;将计算机外部的串行数据转换为字节,供计算机内部使用并行数据的器件使用p在输出的串行数据流中加入奇偶校验位;对
5、从外部接收的数据流进行奇偶校验p处理外部串行设备发出的中断信号1.处理计算机与外部串行设备的同步管理10嵌入式实时操作系统嵌入式实时操作系统文件系统文件系统p通用文件系统pEXT/EXT2/EXT3Linux普遍采用pFAT/FAT32(File Allocation Table)pNTFS(New Technology File System)pReiserFSpXFSp闪存文件系统(FFS)pYAFFS(Yet Another Flash File System)p内存文件系统11嵌入式实时操作系统嵌入式实时操作系统闪存器件闪存器件pROM(Read-Only Memory)pPROM(P
6、rogrammable ROM)pEPROM(Erasable PROM)pEEPROM(Electrically EEPROM)12嵌入式实时操作系统嵌入式实时操作系统NOR闪存闪存pXIP(eXecute In Place),芯片内执行,即应用程序可以直接在Flash闪存内运行p主要应用在代码存储介质中,比如手机存储13嵌入式实时操作系统嵌入式实时操作系统NAND闪存闪存p高存储密度,写入/擦除速度快,成本低p适合纯数据存储和文件存储p应用pCompact FlashpMulti Media CardpSecure DigitalpMemory Stick pSmart MediapSol
7、id State DiskpIntel Turbo Memory14嵌入式实时操作系统嵌入式实时操作系统用户图形界面用户图形界面pQT:从桌面系统移植过来,适合高端CPUpMiniGUI:语言支持好,代码短小,容易上手TCP/IP协议栈协议栈Java虚拟机虚拟机嵌入式数据库嵌入式数据库15嵌入式实时操作系统嵌入式实时操作系统主流嵌入式操作系统主流嵌入式操作系统puClinuxpWindows CEpVxWorkspuC/OS、uC/OS-IIpSymbian16嵌入式实时操作系统嵌入式实时操作系统uClinuxpPronounced you-see-linux,the name uClinux
8、 comes from combining the greek letter mu and the English capital C.Mu stands for micro,and the C is for controller.pThe Linux/Microcontroller project is a port of Linux to systems without a Memory Management Unit(MMU).p内存管理单元(MMU)是处理器中用来管理虚拟存储器、物理存储器的控制线路,负责虚拟地址映射为物理地址,以及提供硬件机制的内存访问授权17嵌入式实时操作系统嵌入式
9、实时操作系统uClinuxp优点p不需要MMU支持,有利于降低硬件成本p良好的移植性p优秀的网络功能p多种文件系统的支持p标准丰富的APIp免费、开源,符合GNU/GPL公约p缺点p实时性不佳p集成开发环境较为欠缺p版本较多,不统一,开发文档混乱18嵌入式实时操作系统嵌入式实时操作系统GNU(GNUs Not Unix)自由软件之父自由软件之父 Richard Stallman自由软件(自由软件(Free Software)p“Free software”is a matter of liberty,not price.To understand the concept,you should
10、think of“free”as in“free speech”,not as in“free beer”.GNUpFree software is a matter of the users freedom to run,copy,distribute,study,change and improve the software19嵌入式实时操作系统嵌入式实时操作系统p自由是权利而不是价格 如果你发布自由软件,不管是收费的还是免费的,你必须将你具有的一切权利给予你的接受者;你必须保证他们能收到或得到源程序;并且将这些条款给他们看,使他们知道他们有这样的权利p自由软件没有担保 如果由于其他某个人
11、修改了软件,并继续加以传播。我们需要它的接受者明白:他们所得到的并不是原来的自由软件。由其他人引入的任何问题,不应损害原作者的声誉20嵌入式实时操作系统嵌入式实时操作系统自由版权许可证自由版权许可证pGNU/GPL(General Public License)p当前最为通用的开源许可协议pCopyleft(反版权)p知名开源项目:Linux、WordPress、MySQL、eMule、GSL(GNU Scientific Library)pGNU/LGPL(Lesser General Public License)p宽通用公共许可证pLGPL允许在私有程序中使用该库,而GPL则只允许在自由
12、软件中使用它1.Copyleft21嵌入式实时操作系统嵌入式实时操作系统GNU/GPLpThe freedom to run the program,for any purposepThe freedom to study how the program works,and adapt it to your needs.Access to the source code is a precondition for thispThe freedom to redistribute copies so you can help your neighborpThe freedom to improv
13、e the program,and release your improvements to the public,so that the whole community benefits.Access to the source code is a precondition for this22嵌入式实时操作系统嵌入式实时操作系统自由版权许可自由版权许可pBSD(Berkeley Software Distribution)没有实现“通透性”自由,也就是其不保证软件源代码开放的连续性pMIT GNU vs BSDGPL有益于软件的解放,BSD则有益于人的解放GPL确保软件的发展拥有比软件开发
14、者更多的自由,而BSD保了软件开发者拥有比软件的发展更多的自由23嵌入式实时操作系统嵌入式实时操作系统Windows CE24嵌入式实时操作系统嵌入式实时操作系统Windows CE的历史延革的历史延革pWindows CE 1.0pWindows CE 2.0pWindows CE 3.0 Pocket PCpWindows CE.NETpWindows CE.NET 4.2 Pocket PC/Smartphone 2003pWindows Embedded CE 5.0 Windows Mobile 5.0pWindows Embedded CE 6.0 Windows Mobile 6
15、.0pWindows Embedded Compact25嵌入式实时操作系统嵌入式实时操作系统Windows CEp优点p优秀的图形界面p开发工具友好、完善p易于Windows程序员开发p功能完善,代码维护方便pMobile2Market计划 通过应用代码认证、Logo标志认证和市场推广过程,帮助开发者将应用程序推向市场p缺点p开放程度有限p需要MMU支持,只适合于高端嵌入式处理器26嵌入式实时操作系统嵌入式实时操作系统VxWorksp优点p目前全球使用最广泛的强实时RTOSp开放式结构和对工业标准的支持,使得开发人员容易设计高效的嵌入式系统p集成开发环境Tornado功能强大p开发技术文档比较全面p缺点p收费p图形用户界面支持稍差27嵌入式实时操作系统嵌入式实时操作系统ucOSp优点p最小内核可编译至2k,适合小型控制系统p实时性能优良p可扩展性强p开源、免费(商用需购买许可证)p不足puC/OS只是一个实时操作系统内核,它仅仅包含了任务调度,任务管理,时间管理,内存管理和任务间的通信和同步等基本功能,没有网络和文件系统支持p应用软件少28嵌入式实时操作系统嵌入式实时操作系统eCosBadaSymbianAndroid