1、嵌入式电子工程师.2.3 3什么是嵌入式系统嵌入式系统的发展历程嵌入式系统的组成嵌入式系统的特点嵌入式系统的开发.4 4什么是嵌入式系统嵌入式系统的发展历程嵌入式系统的组成嵌入式系统的特点嵌入式系统的开发.5 5PDA智能手机自动化电器Mp3、mp4播放器数码相机VCD、DVD.6 6.7 7嵌入式系统本身是一个相对模糊的定义凡是与产品结合在一起的具有嵌入式特点的控制系统都可以叫做嵌入式系统(Embedded System).8 8 嵌入式系统最权威的定义:以应用为中心,以计算机技术为基础,且软硬件可裁减,适应应用系统对功能、可靠性、成本、体积、功耗的严格要求的专用计算机系统 一般由嵌入式微处
2、理器、外围硬件设备、嵌入式操作系统以及用户应用程序等四个部分组成,用于实现对其他设备的控制、监视或管理等功能。.9 9什么是嵌入式系统嵌入式系统的发展历程嵌入式系统的组成嵌入式系统的特点嵌入式系统的开发.1010上世纪70年代单片微处理器问世,它标志着嵌入式系统的开端。从上世纪80年代早期开始,嵌入式系统的程序员开始用商业级的“操作系统”编写嵌入式应用软件,这使得可以获取更短的开发周期,更低的开发资金和更高的开发效率。.1111上世纪90年代以后,随着对实时性要求的提高,软件规模不断上升,实时核逐渐发展为实时多任务操作系统(RTOS),并作为一种软件平台逐步成为目前国际嵌入式系统的主流进入21
3、世纪以后嵌入式系统发展更为迅猛,在市场的巨大需求下,嵌入式系统成为继个人PC、网络之后第三次大发展.1212.1313什么是嵌入式系统嵌入式系统的发展历程嵌入式系统的组成嵌入式系统的特点嵌入式系统的开发.1414嵌入式系统包括硬件部分和软件部分用户应用程序用户应用程序嵌入式嵌入式操作系统操作系统外围硬件设备外围硬件设备嵌入式微处理器嵌入式微处理器.1515嵌入式系统的一般组成嵌入式系统的一般组成软件结构嵌入式操作系统特定的应用程序硬件结构嵌入式微处理器外围硬件设备.1616嵌入式微处理器主要分为8位、16位、32位目前人们所指的嵌入式微处理器一般是指32位的处理器著名的32位处理器内核有:AR
4、M系列S+core系列MIPS系列中国芯系列.171732-bit 高高阶阶 MCU(ApplicationProcessor)占占eMPU 市場約七成市場約七成(在此在此图图中中eMPU=Embedded Micro-Processor Unit).1818.1919.2020目前嵌入式微处理器大都属于SOC(System On Chip)在嵌入式处理器内部集成了很多的外设控制器,这种特性使得构建一个嵌入式系统变得非常简单,这样做的优点有:可以有效减少外部芯片使用数量,降低成本降低外部电路的复杂性,提高系统稳定性增强系统的抗干扰能力.2121应用程序应用程序实时操作系统(实时操作系统(RTO
5、SRTOS)输入输输入输出接口出接口处理器处理器/ARM/ARM核核MMU/CacheMMU/CacheSOC/SOPCSOC/SOPCUSBUSBGPIOGPIOIISIISLCDLCDUARTUART和和IrDAIrDAADC/DACADC/DACFPGA/CPLDFPGA/CPLDDSP/DSP/浮点运算协处理器浮点运算协处理器DMADMA电源管理电源管理人机交互接口人机交互接口LCD/LCD/触摸屏、键盘、鼠标触摸屏、键盘、鼠标设备驱动程序、设备驱动程序、HALHAL、BSPBSP文件系统文件系统/图形用户应用程序接口图形用户应用程序接口驱动层驱动层OSOS层层应用层应用层软件软件硬件
6、硬件以太网以太网看门狗及复看门狗及复位电路位电路Timer/RTCTimer/RTCCANCANFlashFlashEEPROMEEPROMSDRAMSDRAMSRAMSRAM内内存存.2222嵌入式操作系统是一种支持嵌入式系统应用的操作系统软件,它是嵌入式系统(包括硬、软件系统)极为重要的组成部分,通常包括与硬件相关的底层驱动软件、系统内核、设备驱动接口、通信协议、图形界面、标准化浏览器等browser.2323.2424 嵌入式嵌入式LinuxLinux Linux本身所具备的源码开放、内核可裁减等种种特性使其成为一种重要的嵌入式操作系统。随着嵌入式Linux技术的成熟,定制更加方便,同时
7、支持更多的平台 以linux内核为基础的操作系统也越来越多 uclinux、RTlinux、google的Android等.2525 Windows CEWindows CE Windows CE是微软公司的产品,但不是精减的Windows版本。它是从整体上为资源有限的平台设计的具有多线程、完整优先权、多任务的操作系统,它的模块化设计允许定制从掌上电脑到专用工控电子设备 Windows CE的缺点是价格过高,因此随着嵌入式操作系统领域日益激烈的竞争,微软不得不应付来自Linux等免费系统的冲击.2626VxWorksVxWorksVxWorks是美国WindRiver公司专门为实时嵌入式系统设
8、计开发的操作系统软件。VxWorks拥有良好的持续发展能力、高性能的内核以及友好的用户开发环境,在实时嵌入式操作系统领域占据一席之地,但其昂贵的价格让不少厂商望而却步 Palm OSPalm OS 3com公司的Palm OS在掌上电脑和PDA市场上占有很大的市场份额。它所具有很强的灵活性和移动性,是一款非常流行的掌上电脑系统.2727C/OSC/OS C/OS是一个典型的实时操作系统。该系统从1992年开始发展,目前流行的是第2个版本,即C/OS 它的特点可归纳如下:源码公开、代码结构清晰、可移植性好、可裁减、可固化、内核属于抢占式,最多可以管理60个任务 C/OS是研究和学习实时操作系统的
9、重要选择.2828什么是嵌入式系统嵌入式系统的发展历程嵌入式系统的组成嵌入式系统的特点嵌入式系统的开发.2929名称名称嵌入式系统嵌入式系统PCPC引导代码引导代码BootloaderBootloader引导,针对引导,针对不同电路进行移植不同电路进行移植主板的主板的BIOSBIOS引导,无须引导,无须改动改动操作系统操作系统 LinuxLinux、WinCEWinCE、VxWorksVxWorks等,需要移植等,需要移植WindowsWindows、LinuxLinux等,无等,无需移植需移植驱动程序驱动程序每个设备驱动针对电路每个设备驱动针对电路板进行开发或移植,一板进行开发或移植,一般不
10、能直接下载使用般不能直接下载使用操作系统含有大多数驱操作系统含有大多数驱动程序动程序,或下载直接使用或下载直接使用开发环境开发环境交叉编译交叉编译本机编译本机编译协议栈协议栈需要移植需要移植操作系统或第三方提供操作系统或第三方提供 与PC机在软件开发平台上对比.3030设备名称设备名称嵌入式系统嵌入式系统PCPCCPUCPU嵌入式处理器(嵌入式处理器(ARMARM,MIPS,Score+MIPS,Score+)CPUCPU(IntelIntel、AMDAMD等)等)内存内存SDRAMSDRAM芯片芯片SDRAMSDRAM或或DDRDDR内存条内存条存储设备存储设备FlashFlash芯片芯片硬
11、盘硬盘输入设备输入设备触摸屏,按键触摸屏,按键鼠标、键盘、麦克等鼠标、键盘、麦克等输出设备输出设备LCDLCD显示器显示器接口接口MAX232MAX232等芯片等芯片主板集成主板集成其它设备其它设备音频芯片、音频芯片、USBUSB芯片、网芯片、网卡芯片等卡芯片等主板集成或外接卡主板集成或外接卡 与PC机在硬件开发平台上对比.3131 嵌入式系统的几个重要特征:系统内核小系统内核小嵌入式系统一般是应用于小型电子装置的,系统资源相对有限,所以内核较之传统的操作系统要小得多 专用性强专用性强嵌入式系统的个性化很强,其中的软件系统和硬件的结合非常紧密,一般要针对硬件进行系统的移植即使在同一系列的产品中
12、也需要根据系统硬件的变化和增减不断进行修改.3232 系统精简系统精简嵌入式系统一般不要求其功能设计及实现上过于复杂,这样一方面利于控制系统成本,同时也利于系统安全 实时性实时性操作系统操作系统这是嵌入式软件的基本要求,而且软件要求固化存储,以提高速度软件代码要求高质量和高可靠性、实时性 专用的开发工具和开发环境专用的开发工具和开发环境交叉开发环境.3333什么是嵌入式系统嵌入式系统的发展历程嵌入式系统的组成嵌入式系统的特点嵌入式系统的开发.3434裸机开发:对于功能简单仅包括应用程序的嵌入式系统一般不使用操作系统,仅有应用程序和设备驱动程序带操作系统的开发:当设计较复杂的程序时,可能就需要一
13、个操作系统(OS)来管理控制内存、多任务、周边资源等本阶段我们将分别介绍裸机下与操作系统下的开发,并且把嵌入式Linux操作系统的嵌入式开发作为重点.3535(无操作系统)硬件开发(PCB、原理图)启动代码(硬件初始化)设备驱动(裸机下驱动)应用程序(单任务).3636(有操作系统)硬件开发启动加载程 (bootloader)操作系统内核(kernel)根文件系统 (root,可选)设备驱动 (driver)应用程序 (进程、线程、GUI、网络、数据库等).3737通常基于linux系统的嵌入式开发步骤如下:开发目标硬件系统:如选择微处理器、Flash及其它外设等 建立交叉开发环境:安装交叉编译工具链、配置串口通信工具、配置网络通信工具等 开发Bootloader:移植Bootloader,如vivi 移植linux内核:如linux2.4.18内核移植 开发根文件系统:如CRAMFS文件系统的制作 开发相关硬件的驱动程序:如LCD、网卡、GPIO等1.开发上层的应用程序:如网络、QT GUI开发.