1、嵌入式系统软件开发 概述西安交通大学 软件学院A103杜小智2为什么要学习嵌入式系统为什么要学习嵌入式系统l市场需求市场需求 中国具有世界最大嵌入式技术市场,将成为世界中国具有世界最大嵌入式技术市场,将成为世界第一,手持仪器设备、信息家电、城市建设、工业控制、军事第一,手持仪器设备、信息家电、城市建设、工业控制、军事应用应用嵌入式技术无处不在。嵌入式技术无处不在。l企业人才需求企业人才需求 软硬件设计人才,应用开发人才,综合性人软硬件设计人才,应用开发人才,综合性人才才l技术发展趋势要求技术发展趋势要求8 8位、位、1616位、位、3232位,实时操作系统位,实时操作系统3引言vHellowo
2、rld.cv#include v void main()v vprintf(Hello,worldn);v 4提纲v课程简介课程简介v嵌入式系统概述嵌入式系统概述5课程简介v 内容内容 介绍嵌入式系统的发展趋势、设计方法以及嵌入式编程技术v 方式方式 讲课与实验相结合v 目的目的 培养学生的实际动手能力,使学生能够掌握嵌入式系统软件开发的基本方法6课程简介v 考核方式考核方式 考勤 (10%)作业 (10%)考试 (80%)v 教材及参考书目教材及参考书目 田泽 编著 嵌入式系统开发与应用教程(第2版),北京航空航天大学出版社,2010 俞辉等编著ARM嵌入式Linux系统设计与开发,机械工业
3、出版社,2010 孟庆洪、侯宝稳 编著 ARM嵌入式系统开发与编程,清华大学出版社,2011 陈丽蓉 等编著 嵌入式微处理器系统及应用,清华大学出版社,20107嵌入式系统概述嵌入式系统的应用领域嵌入式系统的应用领域嵌入式系统的定义及特点嵌入式系统的定义及特点嵌入式系统的组成结构嵌入式系统的组成结构8嵌入式系统的应用领域v工业控制工业控制 工控设备工控设备研祥研祥IPC-8462(嵌入式一体式工作站(嵌入式一体式工作站)数控冲床送料机数控冲床送料机 三菱伺服系统三菱伺服系统 9嵌入式系统的应用领域v工业控制工业控制 智能仪表智能仪表 智能电表智能电表 智能水表 智能热量表 智能煤气表智能煤气表
4、10嵌入式系统的应用领域v工业控制工业控制 汽车电子汽车电子11嵌入式系统的应用领域v工业控制工业控制 航空电子航空电子12嵌入式系统的应用领域v军事电子13阿富汗参加反恐作战的阿富汗参加反恐作战的“赫耳墨斯赫耳墨斯”价值价值4 4万美元,万美元,可携带可携带2 2架摄像机,发挥了架摄像机,发挥了很好作用。很好作用。嵌入式系统的应用领域v军事电子 军事侦察14嵌入式系统的应用领域v军事电子 反恐防暴15嵌入式系统的应用领域v网络设备交换机交换机 路由器路由器 嵌入式网络设备服务器系统的硬件结构图 16嵌入式系统的应用领域v消费电子 信息家电信息家电17嵌入式系统的应用领域v消费电子 智能玩具智
5、能玩具18嵌入式系统的应用领域v消费电子 娱乐娱乐19嵌入式系统的应用领域v医疗电子医疗电子20v其它应用其它应用嵌入式系统的应用领域21嵌入式系统的应用领域vPC键盘鼠标硬盘软驱显卡显示器Modem网卡声卡打印机扫描仪USB集线器2222v 嵌入式软件产业现已成为中国IT产业中的一个重要新兴产业和增长点。v 嵌入式系统在家电、电子、汽车、通信、交通、金融、网络、监控、工业自动化等领域有广泛应用。嵌入式系统应用现状嵌入式系统应用现状2323v 分析:分析:2011年中国嵌入式软件市场规模为年中国嵌入式软件市场规模为4650亿左右,嵌亿左右,嵌入式行业已成为当前信息产业中最热门、最有发展前途的行
6、业入式行业已成为当前信息产业中最热门、最有发展前途的行业之一之一嵌入式系统市场现状嵌入式系统市场现状24嵌入式系统概述嵌入式系统的应用领域嵌入式系统的应用领域嵌入式系统的定义及特点嵌入式系统的定义及特点嵌入式系统的组成结构嵌入式系统的组成结构25嵌入式系统的定义vIEEEIEEE(国际电气和电子工程师协会)的定义:(国际电气和电子工程师协会)的定义:v嵌入式系统是嵌入式系统是“用于控制、监视或者辅助用于控制、监视或者辅助操作机器和设备的装置操作机器和设备的装置”(原文为(原文为devices used devices used to control,monitor,or assist the
7、operation to control,monitor,or assist the operation of equipment,machinery or plantsof equipment,machinery or plants)。)。v可以看出此定义是从应用上考虑的,嵌入可以看出此定义是从应用上考虑的,嵌入式系统是软件和硬件的综合体,还可以涵盖机电等式系统是软件和硬件的综合体,还可以涵盖机电等附属装置。附属装置。26嵌入式系统的定义v一般定义一般定义“以应用为中心、以计算机技术为基础、软件硬件可裁剪、功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。”嵌入式系统的知识体系嵌入式系
8、统的知识体系 28v1.1.系统内核小系统内核小v 由于嵌入式系统一般是应用于小型电子装置的,系统由于嵌入式系统一般是应用于小型电子装置的,系统资源相对有限,所以内核较之传统的操作系统要小得资源相对有限,所以内核较之传统的操作系统要小得多。多。v 比如比如ENEAENEA公司的公司的OSEOSE分布式系统,内核只有分布式系统,内核只有5KB5KB,而,而WindowsWindows的内核则要大得多。的内核则要大得多。嵌入式系统的特点29v.专用性强专用性强v 嵌入式系统的个性化很强,软件系统和硬件的结合非常嵌入式系统的个性化很强,软件系统和硬件的结合非常紧密,一般要针对硬件进行系统的移植。紧密
9、,一般要针对硬件进行系统的移植。v 即使在同一品牌、同一系列的产品中也需要根据系统硬即使在同一品牌、同一系列的产品中也需要根据系统硬件的变化和增减不断进行修改。件的变化和增减不断进行修改。v 同时针对不同的任务,往往需要对系统进行较大更改,同时针对不同的任务,往往需要对系统进行较大更改,程序的编译下载要和系统相结合,这种修改和通用软件程序的编译下载要和系统相结合,这种修改和通用软件的的“升级升级”是完全不同的概念。是完全不同的概念。嵌入式系统的特点30v3.3.系统精简系统精简v 嵌入式系统一般没有系统软件和应用嵌入式系统一般没有系统软件和应用软件的明显区分,不要求其功能设计及实软件的明显区分
10、,不要求其功能设计及实现上过于复杂,这样一方面利于控制系统现上过于复杂,这样一方面利于控制系统成本,同时也利于实现系统安全。成本,同时也利于实现系统安全。嵌入式系统的特点31v.高实时性高实时性OSOSv 这是嵌入式软件的基本要求,而且软件要这是嵌入式软件的基本要求,而且软件要求固态存储,以提高速度。软件代码要求高求固态存储,以提高速度。软件代码要求高质量和高可靠性、实时性。质量和高可靠性、实时性。嵌入式系统的特点32v5.5.嵌入式软件开发走向标准化嵌入式软件开发走向标准化v 嵌入式系统的应用程序可以没有操作系统直接在芯片嵌入式系统的应用程序可以没有操作系统直接在芯片上运行。上运行。v 为了
11、合理地调度多任务、利用系统资源、系统函数以为了合理地调度多任务、利用系统资源、系统函数以及和专家库函数接口,用户必须自行选配及和专家库函数接口,用户必须自行选配RTOSRTOS(RealRealTime Operating SystemTime Operating System)开发平台,这样才能保)开发平台,这样才能保证程序执行的实时性、可靠性,并减少开发时间,保证程序执行的实时性、可靠性,并减少开发时间,保障软件质量。障软件质量。嵌入式系统的特点33v6.6.嵌入式系统需要开发工具和环境嵌入式系统需要开发工具和环境v 由于其本身不具备自主开发能力,即使设计完成以后,用户通常也是由于其本身不
12、具备自主开发能力,即使设计完成以后,用户通常也是不能对其中的程序功能进行修改,必须有一套开发工具和环境才能进不能对其中的程序功能进行修改,必须有一套开发工具和环境才能进行开发。行开发。v 这些工具和环境一般是基于通用计算机上的软硬件设备以及各种逻辑这些工具和环境一般是基于通用计算机上的软硬件设备以及各种逻辑分析仪、混合信号示波器等。分析仪、混合信号示波器等。v 开发时往往有主机和目标机的概念,主机用于程序的开发,目标机作开发时往往有主机和目标机的概念,主机用于程序的开发,目标机作为最后的执行机,开发时需要交替结合进行。为最后的执行机,开发时需要交替结合进行。嵌入式系统的特点34嵌入式系统概述嵌
13、入式系统的应用领域嵌入式系统的应用领域嵌入式系统的定义及特点嵌入式系统的定义及特点嵌入式系统的组成结构嵌入式系统的组成结构35嵌入式系统的组成结构应用程序实时操作系统(RTOS)输入输出接口处理器/ARM核MMU/CacheSOC/SOPCUSBGPIOIISLCDUART和IrDAADC/DACFPGA/CPLDDSP/浮点运算协处理器DMA电源管理典型的嵌入式系统组成典型的嵌入式系统组成人机交互接口LCD/触摸屏、键盘、鼠标设备驱动程序、HAL、BSP文件系统/图形用户应用程序接口驱动层OS层应用层软件硬件以太网看门狗及复位电路Timer/RTCCANFlashEEPROMSDRAMSRA
14、M内存嵌入式系统硬件组成及开发 嵌入式系统的硬件是以嵌入式处理器或微处理器核为核心嵌入式系统的硬件是以嵌入式处理器或微处理器核为核心的的SoC/SOPC,配置必要的外围接口部件。,配置必要的外围接口部件。嵌入式处理器嵌入式处理器 嵌入式外围接口电路和设备接口嵌入式外围接口电路和设备接口37 嵌入式系统的核心-嵌入式微处理器 第一颗微处理器的诞生:1971年,Intel Ted Hoff,4004 1)嵌入式微处理器)嵌入式微处理器38v 对实时多任务有很强的支持能力。对实时多任务有很强的支持能力。v 具有功能很强的存储区保护功能。具有功能很强的存储区保护功能。v 可扩展的处理器结构,以能最迅速
15、地开发出满足应用的可扩展的处理器结构,以能最迅速地开发出满足应用的最高性能的嵌入式微处理器。最高性能的嵌入式微处理器。v 嵌入式微处理器必须功耗很低。嵌入式微处理器必须功耗很低。嵌入式处理器特点39v通用微处理器:目标:高速海量的数字处理能力目标:高速海量的数字处理能力 路线:总线速度的无限提升,存储量的无限扩大路线:总线速度的无限提升,存储量的无限扩大 其他:功耗的增加;体积的增加其他:功耗的增加;体积的增加v嵌入式微处理器:目标:与对象系统密切相关的嵌入式性能、控制能力、控制的可靠目标:与对象系统密切相关的嵌入式性能、控制能力、控制的可靠性性 路线:单芯片实现,多样性路线:单芯片实现,多样
16、性 其他:低功耗、小体积、接口丰富其他:低功耗、小体积、接口丰富微处理器的两个发展分支微处理器的两个发展分支40 以Intel为例,从1978年8086的诞生开始飞速发展,经历186,286,386,486,奔腾I,II,III,P4,Core,Core 2 Quad,Core i7 2600 特点:v 硬件上的高处理性能,大容量存储介质v 软件上庞大而日益完善的操作系统v 开发团队上的高度专业化v 通常都很贵,很热通用微处理器的发展道路通用微处理器的发展道路41 嵌入式微处理器独立发展的标志为Intel MCS-51单片机的诞生,后经多家厂商的8、16、32位嵌入式微处理器不断出新,到最新的
17、SoC技术,呈现百家争鸣的状态。特点:v 硬件上的多样性,单芯片解决方案v 软件上精简、可靠、实时的系统v 开发领域的广泛化嵌入式微处理器的发展道路嵌入式微处理器的发展道路42v速度、体积、功耗、外设接口电路通用处理器与嵌入式处理器的差异通用处理器与嵌入式处理器的差异 嵌入式处理器 嵌入式微处理器(嵌入式微处理器(Microprocessor)嵌入式微控制器嵌入式微控制器MCU(Microcontroller Unit)嵌入式嵌入式DSP(Digital Signal Processor)SoC/SOPC44 v 通用计算机的CPUv 专门设计的电路板 只保留和嵌入式应用有关的主板功能只保留和
18、嵌入式应用有关的主板功能 v 增强温度范围、抗电磁干扰、可靠性等方面v 功能与和工业控制计算机相似v 嵌入式微处理器目前主要有Am186/88、386EX、SC-400、Power PC、68000、MIPS、ARM系列等嵌入式微处理器嵌入式微处理器(MPU)45 v 又称单片机 v 以某一种微处理器内核为核心,芯片内部集成ROM或EPROM、RAM、总线、总线逻辑、定时/计数器、Watchdog、I/O、串行口、脉宽调制输出、A/D、D/A、Flash RAM、EEPROM等各种必要功能和外设v 微控制器的最大特点是单片化,体积大大减小,从而使功耗和成本下降、可靠性提高。v 代表性的通用系列
19、包括8051、MCS-251、MCS-96/196/296、C166/167、AT89C51/52、MC68HC05/11/12/16、68300等嵌入式微控制器嵌入式微控制器(MCU)46 v DSP处理器对系统结构和指令进行了特殊设计,使其适合于执行DSP算法,编译效率较高,指令执行速度也较高。v 在数字滤波、FFT、频谱分析等方面DSP算法正在大量进入嵌入式领域,DSP应用正从在通用单片机中以普通指令实现DSP功能,过渡到采用嵌入式DSP处理器。v 有代表性的产品是Texas Instruments的 TMS320系列和Motorola的DSP56000系列。TMS320包括用于控制的C
20、2000系列,移动通信的C5000系列,以及性能更高的C8000系列等嵌入式嵌入式DSP处理器处理器(DSP)47 v 在一个硅片上实现一个复杂的系统 v 整个嵌入式系统大部分均可集成到一块或几块芯片中去v 应用系统电路板将变得很简洁 SOC可以分为通用和专用两类v 通用系列包括Infineon(Siemens)的TriCore,Motorola的M-Core,某些ARM系列器件,Echelon和Motorola联合研制的Neuron芯片,以及大规模的可编程逻辑CPLD、FPGA等。v 专用SOC一般专用于某个或某类系统中。嵌入式片上系统嵌入式片上系统(SOC)SoC 1553系统架构 SoC
21、-FC系统架构 用可编程逻辑技术把整个系统放到一块硅片上,称作可用可编程逻辑技术把整个系统放到一块硅片上,称作可编程片上系统编程片上系统SOPC SOPC是一种特殊的嵌入式系统是一种特殊的嵌入式系统:首先它是首先它是SoCSoC,即由单个芯片完成整个系统的主要逻辑即由单个芯片完成整个系统的主要逻辑功能,具有一般功能,具有一般SoCSoC的基本属性;的基本属性;其次,它又具备软硬件在系统可编程的功能,是可编程其次,它又具备软硬件在系统可编程的功能,是可编程系统,具有可裁减、可扩充、可升级等灵活的设计方式系统,具有可裁减、可扩充、可升级等灵活的设计方式;SOPC技术是可编程逻辑器件在嵌入式应用中的
22、完美体现技术是可编程逻辑器件在嵌入式应用中的完美体现。SOPC结合了结合了SoC和和PLD、FPGA各自的优点。各自的优点。嵌入式SOPC SOPC技术基础 超大规模可编程逻辑器件及其开发工具的成熟;超大规模可编程逻辑器件及其开发工具的成熟;v FPGA密度提高;密度提高;v FPGA制造成本大大下降;制造成本大大下降;v FPGA设计、综合、仿真、测试工具功能及性能快速发展。设计、综合、仿真、测试工具功能及性能快速发展。微处理器微处理器/DSP以以IP核的形式方便的嵌入到核的形式方便的嵌入到FPGA中;中;基于基于IP 核的开发模式深入人心。核的开发模式深入人心。v SOPC是是PLD和和S
23、oC技术融合的结果,具有设计费用低、技术融合的结果,具有设计费用低、风险小、开发周期短、灵活性好等优点。风险小、开发周期短、灵活性好等优点。v 目前的目前的SoC产品设计、制造价格仍然相当昂贵,相反,信产品设计、制造价格仍然相当昂贵,相反,信号处理算法、软件算法模块、控制逻辑等均可以号处理算法、软件算法模块、控制逻辑等均可以IP核形式核形式体现,并集成了硬核或软核体现,并集成了硬核或软核CPU、DSP、存储器、外围、存储器、外围I/O及可编程逻辑的及可编程逻辑的SOPC芯片,在应用的灵活性及价格上芯片,在应用的灵活性及价格上都具有极大的优势,因此都具有极大的优势,因此SOPC被业界称为被业界称
24、为“半导体产业的半导体产业的未来未来”。52嵌入式SOPC的优点主流SOPC Altera Altera设计开发了基于其可编程逻辑器件的处理设计开发了基于其可编程逻辑器件的处理器内核器内核Nios系列,目前最新产品是系列,目前最新产品是Nios II。NiosII采用了基于采用了基于RISC架构的架构的32位指令集。位指令集。Actel Actel公司的公司的CoreMP7软软IP核是专门为核是专门为Actel公公司的司的FPGA优化的优化的ARM7系列处理器核,与系列处理器核,与ARM7TDMIS兼容。兼容。Xilinx54 Intellectual Property Core,知识产权核,
25、知识产权核 一种典型的知识产权产品,某种功能电路的较为理想的实现方案。一种典型的知识产权产品,某种功能电路的较为理想的实现方案。一般是预先定义好功能一般是预先定义好功能,经过精心设计、优化和验证过的逻辑功能经过精心设计、优化和验证过的逻辑功能模块或巨宏单元模块或巨宏单元 IP Core的分类的分类 微处理器微处理器IP Core:ARM、Power PC、存储器存储器IP Core:RAM 处理器外设处理器外设IP Core:LCD控制器、总线控制器、控制器、总线控制器、算法算法IP Core:加密算法、音视频编解码、:加密算法、音视频编解码、通信控制器通信控制器IP Core:网络控制、协议
26、转换、:网络控制、协议转换、IP核的概念核的概念55 Soft cores(code)软核软核 HDL 描述,描述,IP保护很难保护很难 灵活度高,可修改,与工艺独立,可重新综合灵活度高,可修改,与工艺独立,可重新综合 Firm cores(code+structure)固核)固核 门级网表(用来布局布线),与工艺相关门级网表(用来布局布线),与工艺相关 Hard cores(physical)硬核硬核 包含工艺相关的布局和时序信息包含工艺相关的布局和时序信息 IP保护容易保护容易 多数处理器多数处理器核核、存储器、存储器核核的提供形式的提供形式IP核的类型核的类型56v 可以将IP软核集成到
27、FPGA芯片中,并根据需要修改和扩充,从而可以在较短的时间内实现相当复杂的功能。IP核表现形式:核表现形式:HDL语言代码、原理图、网表、针对特定语言代码、原理图、网表、针对特定EDA软软件的格式、件的格式、使用使用IP核可以大大降低硬件电路设计的复杂性,缩短开发周期,核可以大大降低硬件电路设计的复杂性,缩短开发周期,降低成本。降低成本。除各种商用除各种商用IP Core之外,目前还出现了之外,目前还出现了Open Core 基于基于IP核的核的SOC设计设计v MIPS处理器处理器v PowerPC处理器处理器v ARM处理器处理器v Sparc处理器处理器v Xtensa系列可配置处理器系
28、列可配置处理器57典型典型32位嵌入式处理器位嵌入式处理器嵌入式外围接口电路和设备接口 嵌入式外围设备,是指在一个嵌入式系统硬件构成中,除嵌入式外围设备,是指在一个嵌入式系统硬件构成中,除了核心控制部件嵌入式微处理器了核心控制部件嵌入式微处理器/DSP(或以嵌入式微处(或以嵌入式微处理器理器/DSP为核心的微控制器、为核心的微控制器、SoC)以外的各种存储器、)以外的各种存储器、输入输入/输出接口、通信接口、设备扩展接口以及供电电源输出接口、通信接口、设备扩展接口以及供电电源等,各种外设通过数据线、地址线、控制信号与微处理器等,各种外设通过数据线、地址线、控制信号与微处理器/DSP核心部件连接
29、。核心部件连接。根据外围设备的功能可分为以下根据外围设备的功能可分为以下5类类v存储器存储器v输入输出设备输入输出设备v通信接口通信接口v设备扩展接口设备扩展接口v电源及辅助设备电源及辅助设备59嵌入式外围接口电路和设备接口 存储器 存储器是嵌入式系统中存储数据和程序的功能部件,目前常存储器是嵌入式系统中存储数据和程序的功能部件,目前常见的存储设备类型分为:见的存储设备类型分为:易失性存储器:随机存储器(Random Access Memory,RAM)。按照存储机制的不同,RAM又可以分为动态RAM(Dynamic RAM,DRAM)和静态RAM(Static RAM,SRAM)。非易失性存
30、储器:只读存储器(Memory,ROM)、FLASH和NvRAM。60输入输出设备v 输入输出设备是人机交互的界面。输入输出设备是人机交互的界面。通常,输入设备可分为通常,输入设备可分为以下三类:以下三类:机械式输入设备:包括键盘、鼠标、手柄等,通过机械传送方式产生输入信号与系统进行交互。触控式输入设备:典型产品为触摸屏。按照触摸屏工作原理和传输信息介质,触摸屏可分为电阻式、电容感应式、红外线式和表面声波式。声光式输入设备:该类输入设备可以通过收集声音信号或者光信号,再转换为CPU可处理的数字信号完成数据输入。61输出设备:输出设备:嵌入式系统中的输出设备除了通用计算机系统中常见的嵌入式系统中
31、的输出设备除了通用计算机系统中常见的显示器、打印机、绘图仪外,还包括显示器、打印机、绘图仪外,还包括LED指示灯、扬声器指示灯、扬声器等。等。通信接口 通信接口是嵌入式系统与其它设备或系统进行数据交换的通通信接口是嵌入式系统与其它设备或系统进行数据交换的通道。嵌入式系统设计时应根据应用环境确定通信接口。各通道。嵌入式系统设计时应根据应用环境确定通信接口。各通信接口的电气性能存在差异,主要常用的通信接口包括:信接口的电气性能存在差异,主要常用的通信接口包括:串行接口 USB接口 蓝牙接口 IrDA接口 以太网接口 JTAG接口 63设备扩展接口v 设备扩展接口主要用于系统升级时或对现有通信接口扩
32、展时设备扩展接口主要用于系统升级时或对现有通信接口扩展时使用。使用。v 常用的扩展卡还有各种常用的扩展卡还有各种CF卡、卡、SD卡、卡、Memory Stick等。等。v 目前高端的嵌入式系统都留有一定的扩展卡接口。目前高端的嵌入式系统都留有一定的扩展卡接口。64电源及辅助设备嵌人式系统力求外观小型化、重量轻以及电源使用寿命嵌人式系统力求外观小型化、重量轻以及电源使用寿命长,例如移动电话或长,例如移动电话或PDA,体积较大或者过重的机型已体积较大或者过重的机型已经被淘汰。经被淘汰。目前发展的目标是体积小、易携带和外观设计新颖等。目前发展的目标是体积小、易携带和外观设计新颖等。在便携式嵌入式系统
33、的应用中,必须特别关注电源装置在便携式嵌入式系统的应用中,必须特别关注电源装置等辅助设备。等辅助设备。v 嵌入式软件是针对特定应用的、基于相应的硬件平台、为完嵌入式软件是针对特定应用的、基于相应的硬件平台、为完成用户预期任务而设计的计算机软件。成用户预期任务而设计的计算机软件。v 嵌入式软件的层次结构:嵌入式软件的层次结构:对于使用操作系统的嵌入式系统来说,嵌入式系统软件结构一般包含四个层面:板级支持包、实时操作系统(RTOS)层、应用程序接口(API)层、应用程序层。有些资料将应用程序接口API归属于OS层,是按三层划分的。66嵌入式软件组成嵌入式操作系统 操作系统与嵌入式操作系统操作系统与
34、嵌入式操作系统 嵌入式实时操作系统嵌入式实时操作系统 嵌入式操作系统基本管理功能嵌入式操作系统基本管理功能 典型嵌入式操作系统介绍典型嵌入式操作系统介绍操作系统与嵌入式操作系统v 嵌入式操作系统是嵌入式应用软件的基础和开发平台,它是嵌入式操作系统是嵌入式应用软件的基础和开发平台,它是一段嵌入在目标代码中的软件,用户的其它应用程序都建立一段嵌入在目标代码中的软件,用户的其它应用程序都建立在操作系统之上在操作系统之上。v 嵌入式操作系统大部分是实时操作系统嵌入式操作系统大部分是实时操作系统RTOS,RTOS是一是一个可靠性和可信度很高的实时内核,将个可靠性和可信度很高的实时内核,将CPU时间、中断
35、、时间、中断、I/O、定时器等资源都包装起来,留给用户一个标准的定时器等资源都包装起来,留给用户一个标准的API,并根据各个任务的优先级,合理地在不同任务之间分配并根据各个任务的优先级,合理地在不同任务之间分配CPU时间时间。68嵌入式实时操作系统嵌入式实时操作系统 嵌入式系统一般具有实时特点。所谓实时系统,是指一个能嵌入式系统一般具有实时特点。所谓实时系统,是指一个能够在指定或者确定的时间内完成系统功能和对外部或内部、够在指定或者确定的时间内完成系统功能和对外部或内部、同步或异步事件做出响应的系统。同步或异步事件做出响应的系统。嵌入式实时操作系统(嵌入式实时操作系统(Real Time Em
36、bedded Operating System)是一种实时的、支持嵌入式系统应)是一种实时的、支持嵌入式系统应用的操作系统,是嵌入式系统(包括硬、软件系统)极为重用的操作系统,是嵌入式系统(包括硬、软件系统)极为重要的组成部分。要的组成部分。RTOS嵌入在系统的目标代码中,系统复位并执行完嵌入在系统的目标代码中,系统复位并执行完BootLoader后执行,用户的其它应用程序都建立在后执行,用户的其它应用程序都建立在RTOS之上。之上。RTOS是一个标准的内核,将是一个标准的内核,将CPU时间、中断、时间、中断、I/O、定时器等资源都包装起来,留给用户一个标准的定时器等资源都包装起来,留给用户一
37、个标准的API接接口。口。实时操作系统可以根据实际应用环境的要求对内核进实时操作系统可以根据实际应用环境的要求对内核进行剪裁和重新配置,组成可根据实际的不同应用领域行剪裁和重新配置,组成可根据实际的不同应用领域而有所不同。但以下几个重要组成部分是不太变化的:而有所不同。但以下几个重要组成部分是不太变化的:实时内核、网络组件、文件系统和图形接口等。实时内核、网络组件、文件系统和图形接口等。RTOS体系结构图应用程序驱动程序、硬件抽象层、Boot文件系统/图形用户接口BSPOS层应用层扩展模块基本模块进程调度内存管理调度文件管理进程调度OS核图形驱动数据库模块应用程序接口(API)硬件(Hardw
38、are)网络模块调度72v 实时:在一定时间限度内完成。指系统能够在限定的响应时间内提供所需水平的服务 v 硬实时:如果截止时间超出,系统就是失败的(例如:汽车刹车)v 软实时:截止时间的超出只是降低了系统的性能(例如:DVD上的回放)v 一个计算机系统为了提供对于实时性的支持,它的操作系统必须对于CPU和其他资源进行有效的调度和管理,即实时调度嵌入式系统的实时性能嵌入式系统的实时性能73 RTOS的衡量指标v 系统响应时间(System response time):系统发出处理要求到系统给出应答信号的时间;v 上下文切换时间(Context-switching time):任务之间切换而使
39、用的时间;v 中断延迟(Interrupt latency time):是计算机接收到中断信号到操作系统作出响应,并完成换道转入中断服务程序的时间;74RTOS的任务调度机制v 决定了多任务能力与实时性v 通用模式:调度策略:优先级调度、时间片轮转调度调度策略:优先级调度、时间片轮转调度 调度方式:抢占式、不可抢占式、选择可抢占式调度方式:抢占式、不可抢占式、选择可抢占式 时间片:定长时间片与变长时间片时间片:定长时间片与变长时间片v RTOS一般使用抢占式任务调度嵌入式操作系统基本管理功能嵌入式操作系统基本管理功能目前大多数的嵌入式操作系统必须提供以下管理功能:目前大多数的嵌入式操作系统必须
40、提供以下管理功能:多任务管理多任务管理 存储管理存储管理 周边资源管理周边资源管理 中断管理中断管理 嵌入式操作系统的种类繁多,但大体分为两种嵌入式操作系统的种类繁多,但大体分为两种商用型商用型和免费型。和免费型。目前商用型的操作系统主要有目前商用型的操作系统主要有VxWorks、Windows CE、Psos、Palm OS、OS-9、LynxOS、QNX、LYNX等。等。目前免费型的操作系统主要有目前免费型的操作系统主要有Linux和和C/OS-II。典型嵌入式操作系统介绍典型嵌入式操作系统介绍77嵌入式操作系统一览几种常用的嵌入式操作系统C/OS-II 嵌入式操作系统嵌入式操作系统Win
41、CE操作系统操作系统VxWorks嵌入式实时操作系统嵌入式实时操作系统Linux操作系统操作系统C/OS-II 嵌入式操作系统 C/OS-II是一个可裁减的、源码开放的、结构小巧、可剥是一个可裁减的、源码开放的、结构小巧、可剥夺型的实时多任务内核,主要面向中小型嵌入式系统,具夺型的实时多任务内核,主要面向中小型嵌入式系统,具有执行效率高、占用空间小、可移植性强、实时性能优良有执行效率高、占用空间小、可移植性强、实时性能优良和可扩展性强等特点。和可扩展性强等特点。C/OS-II中最多可以支持中最多可以支持64个任务。个任务。C/OS-II最大程度上使用最大程度上使用ANSI C语言开发,现已成功
42、移语言开发,现已成功移植到近植到近40多种处理器体系上多种处理器体系上。C/OS-II 嵌入式操作系统C/OS-II结构小巧,最小内核可编译至结构小巧,最小内核可编译至2k(这样的这样的内核没有太大实用性),即使包含全部功能如信号内核没有太大实用性),即使包含全部功能如信号量、消息邮箱、消息队列及相关函数等,编译后的量、消息邮箱、消息队列及相关函数等,编译后的C/OS-II内核也仅有内核也仅有610kb,所以它比较适用于小所以它比较适用于小型控制系统。型控制系统。C/OS-II具有良好的扩展性能。具有良好的扩展性能。WinCE操作系统 Microsoft Windows CE是针对有限资源的平
43、台而设计的多是针对有限资源的平台而设计的多线程、完整优先权、多任务的操作系统,但它不是一个硬线程、完整优先权、多任务的操作系统,但它不是一个硬实时操作系统实时操作系统 高度模块化是高度模块化是WinCE的一个鲜为人知的特性的一个鲜为人知的特性。WinCE操作系统的基本内核需要至少操作系统的基本内核需要至少200K的的ROM,它支它支持持 Win32 API子集、多种用户界面硬件、多种的串行和网子集、多种用户界面硬件、多种的串行和网络通讯技术、络通讯技术、COM/OLE和其他的进程间通讯的先进方法。和其他的进程间通讯的先进方法。VxWorks嵌入式实时操作系统 VxWorks实时操作系统是基于微
44、内核结构,可裁剪的实时操作系统是基于微内核结构,可裁剪的高性能强实时操作系统。高性能强实时操作系统。其核心功能主要有:其核心功能主要有:微内核wind 任务间通信机制 网络支持 文件系统和I/O管理 POSIX标准实时扩展 C+以及其他标准支持 支持对称多处理(Symmetric Multiprocessing,SMP)和非对称多处理(Symmetric Multiprocessing,AMP)Flash 媒体管理VxWorks 的主要特点:VxWorks 具有高度可剪裁的微内核结构。具有高度可剪裁的微内核结构。VxWorks 能进行高效的多任务调度。能进行高效的多任务调度。VxWorks 6
45、.4通过了通过了POSIX1003.13 PES52标准标准认证,可以应用与航天和国防电子领域。认证,可以应用与航天和国防电子领域。VxWorks6.7增加了对更多硬件构架(包括增加了对更多硬件构架(包括ARM、PowerPC、Intel Allagash等)的支持,以及提供针等)的支持,以及提供针对多核处理器对多核处理器SMP、AMP的支持。的支持。VxWorks嵌入嵌入式操作系统的最初集成开发环境式操作系统的最初集成开发环境Tornado 新一代新一代Workbench开发平台继承了其原有的开发平台继承了其原有的Tornado集成开发平台的一贯优势,并且功能更加强大。集成开发平台的一贯优势
46、,并且功能更加强大。目前目前Workbench已经升级到已经升级到3.0版本,提供了对更多版本,提供了对更多处理器的支持(包括处理器的支持(包括ARMCortexA8、Freescale iMX27、Marvell PXA等新型处理器)并且增强了对移等新型处理器)并且增强了对移动中断的支持。动中断的支持。VxWorks 的应用程序开发 Linux类似于类似于UNIX,是一种免费的、源代码完全开放的、是一种免费的、源代码完全开放的、符合符合POSIX标准规范的操作系统。标准规范的操作系统。Linux拥有现代操作系统所具有的内容:真正的抢先式多拥有现代操作系统所具有的内容:真正的抢先式多任务处理、
47、支持多用户、内存保护、虚拟内存、支持对称任务处理、支持多用户、内存保护、虚拟内存、支持对称多处理机多处理机SMP(symmetric multiprocessing)、)、符合符合POSIX标准、支持标准、支持TCP/IP、支持绝大多数的支持绝大多数的32位和位和64位位CPU。Linux操作系统87嵌入式系统与单片机、嵌入式系统与单片机、PC相比的优势相比的优势v 采用采用3232位位RISCRISC嵌入式微处理器和实时操作系统组成的嵌入式微处理器和实时操作系统组成的嵌入式控制系统,与传统基于单片机的控制系统和基于嵌入式控制系统,与传统基于单片机的控制系统和基于PCPC的控制方式相比,具有以
48、下突出优点:的控制方式相比,具有以下突出优点:性能方面:采用32位RISC结构微处理器,主频从30MHz到200MHz以上,处理能力大大超出单片机系统,接近PC机的水平,但体积更小,能够真正地“嵌入”到设备中;实时性方面:嵌入式控制器内嵌实时操作系统(RTOS),能够完全保证控制系统的强实时性;人机交互方面:嵌入式控制器可支持大屏幕的液晶显示器,提供功能强大的图形用户界面,这方面与PC机相比毫不逊色;系统升级方面:嵌入式控制器可为控制系统专门设计,其功能专一,成本较低,而且开放的用户程序接口(API)保证了系统能够快速升级和更新。88嵌入式系统与单片机、PC机的区别嵌入式系统嵌入式系统 单片机
49、系统单片机系统l目前嵌入式系统的主流是以目前嵌入式系统的主流是以3232位嵌入式微处理器为核心的硬件设计位嵌入式微处理器为核心的硬件设计和基于实时操作系统(和基于实时操作系统(RTOSRTOS)的软件设计。)的软件设计。l单片机系统多为单片机系统多为4 4位、位、8 8位、位、1616位机,不适合运行操作系统,难以进位机,不适合运行操作系统,难以进行复杂的运算及处理功能。行复杂的运算及处理功能。l嵌入式系统强调基于平台的设计、软硬件协同设计,单片机大多采嵌入式系统强调基于平台的设计、软硬件协同设计,单片机大多采用软硬件流水设计。用软硬件流水设计。l嵌入式系统设计的核心是软件设计(占嵌入式系统设
50、计的核心是软件设计(占70%70%左右的工作量),单片左右的工作量),单片机系统软硬件设计所占比例基本相同。机系统软硬件设计所占比例基本相同。89嵌入式系统 PC机v 嵌入式系统一般是专用系统,而嵌入式系统一般是专用系统,而PCPC是通用计算平台。是通用计算平台。v 嵌入式系统的资源比嵌入式系统的资源比PCPC少得多。少得多。v 嵌入式系统软件故障带来的后果比嵌入式系统软件故障带来的后果比PCPC机大得多。机大得多。v 嵌入式系统一般采用实时操作系统。嵌入式系统一般采用实时操作系统。v 嵌入式系统大都有成本、功耗的要求。嵌入式系统大都有成本、功耗的要求。v 嵌入式系统得到多种微处理体系的支持。