嵌入式系统设计与应用.doc
嵌入式系统设计与应用 本文由kenneth67贡献 ppt文档可能在WAP端浏览体验不佳。建议您优先选择TXT,或下载源文件到本机查看。 课程名称: 课程名称:嵌入式系统设计与应用 总学时:其中讲课36学时,上机实践环节12 36学时 12学时 总学时:其中讲课36学时,上机实践环节12学时 教材: 嵌入式系统设计教程 教材:嵌入式系统设计教程电子工业出版社 马洪连 参考书: 参考书: 1、嵌入式系统开发与应用 北航出版社、田泽编著. 嵌入式系统开发与应用 北航出版社、田泽编著. 2、ARM体系结构与编程清华大学出版社 杜春雷编著 ARM体系结构与编程 体系结构与编程 嵌入式系统设计与实例开发ARM ARM与 C/OS3、嵌入式系统设计与实例开发 ARM与C/OS- 清华大学出版社 王田苗、魏洪兴编著 清华大学出版社 王田苗、 ARM嵌入式微处理器体系结构 嵌入式微处理器体系结构 4、ARM嵌入式微处理器体系结构 北航出版社、马忠梅等著. 北航出版社、马忠梅等著. 张石 ARM嵌入式系统教程 嵌入式系统教程 5、张石ARM嵌入式系统教程机械工业出版 2008年 社2008年9月 1 课程内容 绪论: 绪论: 1)学习嵌入式系统的意义 2)高校人才嵌入式培养情况 嵌入式系统设计(实验课) 3)嵌入式系统设计(实验课)内容安排 第1章嵌入式系统概况 1.1 嵌入式系统的定义 1.2 嵌入式系统的应用领域及发展趋势 1.3 嵌入式系统组成简介 第2章 嵌入式系统的基本知识 2.1 2.2 2.3 嵌入式系统的硬件基础 嵌入式系统的软件基础 ARM微处理器的指令系统和程序设计 ARM微处理器的指令系统和程序设计 2 第3章 3.1 3.2 3.3 基于ARM架构的嵌入式微处理器 基于ARM架构的嵌入式微处理器 ARM 概述 嵌入式微处理器的组成 常用的三种ARM ARM微处理器介绍 常用的三种ARM微处理器介绍 第4章 4.1 4.2 4.3 4.4 4.5 4.6 嵌入式系统设计 概述 嵌入式系统的硬件设计 嵌入式系统接口设计 嵌入式系统人机交互设备接口 嵌入式系统的总线接口和网络接口设计 嵌入式系统中常用的无线通信技术 3 第5章 嵌入式系统开发环境与相关开发技术 5.1 5.2 5.3 5.4 5.5 6.1 6.2 6.3 6.4 概述 嵌入式系统的开发工具 嵌入式系统调试技术 嵌入式系统开发经验 嵌入式系统的Bootloader Bootloader技术 嵌入式系统的Bootloader技术 C/OS-II操作系统概述 C/OS-II操作系统概述 ADS开发环境 ARM ADS开发环境 C/OS-II操作系统在ARM系统中的移植 操作系统在ARM C/OS-II操作系统在ARM系统中的移植 基于C/OS-II操作系统的应用开发 基于C/OS-II操作系统的应用开发 嵌入式C/OS-II操作系统及应用 第6章# 嵌入式C/OS-II操作系统及应用 4 嵌入式Linux Linux操作系统及应用 第7章 嵌入式Linux操作系统及应用 嵌入式Linux Linux操作系统概述 7.1 嵌入式Linux操作系统概述 嵌入式Linux Linux操作系统的开发工具 7.2 嵌入式Linux操作系统的开发工具 7.3 嵌入式Linux操作系统的内核编译及驱动 嵌入式Linux操作系统的内核编译及驱动 Linux 程序的开发 嵌入式Linux Linux操作系统的应用开发 7.4 嵌入式Linux操作系统的应用开发 CE操作系统的应用与开发 第8章 Windows CE操作系统的应用与开发 CE操作系统概述 8.1 Windows CE操作系统概述 CE操作系统的开发工具 8.2 Windows CE操作系统的开发工具 CE操作系统内核编译及驱动程 8.3 Windows CE操作系统内核编译及驱动程 序的开发 基于Windows CE操作系统的应用开发 8.4 基于Windows CE操作系统的应用开发 第9章 开发应用实例 5 1) 学习嵌入式系统的意义 市场需求 嵌入式开创了电子新纪元,采用嵌入式技 市场需求 嵌入式开创了电子新纪元,采用嵌入式技 开创了电子新纪元 嵌入式 术的微处理器应用于各类电子产品中。 术的微处理器应用于各类电子产品中。目前每一分钟全 世界就有10块以上的基于ARM的微处理器芯片被买走, 10块以上的基于ARM的微处理器芯片被买走 世界就有10块以上的基于ARM的微处理器芯片被买走, 每卖出一部装有ARM芯片的手机,ARM公司能获利 ARM芯片的手机 公司能获利1 每卖出一部装有ARM芯片的手机,ARM公司能获利1元人 民币,这样每年坐收2亿美金,该公司不到800 800人 民币,这样每年坐收2亿美金,该公司不到800人。 企业人才需求软硬件设计人才,应用开发人才,综合 企业人才需求软硬件设计人才,应用开发人才, 性人才,。 性人才,。 技术发展趋势要求 技术发展趋势要求8位、16位、32位,实时操作系统 16位 32位 ARM的嵌入式微处理器兼具有32位的计算和16位的低 ARM的嵌入式微处理器兼具有32位的计算和16位的低 的嵌入式微处理器兼具有32位的计算和16 功耗能力。处理器的内核向设计商开放, 功耗能力。处理器的内核向设计商开放,避免了商业不 信任和安全隐患,ARM微处理器开发工具比较成熟 微处理器开发工具比较成熟, 信任和安全隐患,ARM微处理器开发工具比较成熟,技 6 术力量相对薄弱的中国研发者容易上手。 术力量相对薄弱的中国研发者容易上手。 2)开展嵌入式系统教学的必要性 由于诸多原因, 由于诸多原因,我国计算机行业在过去未 能赶上世界范围技术发展的前几次机遇。 能赶上世界范围技术发展的前几次机遇。当我 们意识到应组织发展本国计算机产业时, 们意识到应组织发展本国计算机产业时,微软 已在PC软件上处于世界垄断地位, PC软件上处于世界垄断地位 已在PC软件上处于世界垄断地位,我们只得在 软件汉化等“小范围“徘徊, 软件汉化等“小范围“徘徊,对计算机系统软 件虽偶有出击,但总难突重围。21世纪之初, 件虽偶有出击,但总难突重围。21世纪之初, 世纪之初 微软王国已从登峰造极走向地位下滑的后PC PC时 微软王国已从登峰造极走向地位下滑的后PC时 PC时代是一个嵌入式系统的网络时代, 时代是一个嵌入式系统的网络时代 代。后PC时代是一个嵌入式系统的网络时代, 嵌入式技术将主宰后PC时代。由于其应用广, PC时代 嵌入式技术将主宰后PC时代。由于其应用广, 领域特色突出,谁也无力独霸这一市场。 领域特色突出,谁也无力独霸这一市场。互联 网技术在世界范围的扩展和中国通信事业的高 速发展, 速发展,已为我国开发嵌入式产品造就了广大 7 市场。 市场。 因此, 因此,我国信息产业的相关人员该牢牢抓住 这一大好机遇,找准发展点, 这一大好机遇,找准发展点,在新一轮嵌入式技 术上,下大力冲刺一番,定能使我国IT IT技术迈上 术上,下大力冲刺一番,定能使我国IT技术迈上 一个台阶。总之,目前嵌入式技术是中国IT IT发展 一个台阶。总之,目前嵌入式技术是中国IT发展 的最难得的机遇。 的最难得的机遇。 人才奇缺! 人才奇缺! 8 3)高校人才嵌入式培养情况 人才培养:专业、课程设置、师资落后、 人才培养:专业、课程设置、师资落后、设备不 先进; 先进; 嵌入式系统: 嵌入式系统:没有专门的嵌入式系统专业或课程 体系 计算机专业: 计算机专业:偏软 电子、自动化专业: 电子、自动化专业:偏硬 9 嵌入式系统教学的特点 综合性:涉及电子、计算机、 综合性:涉及电子、计算机、自动控制等诸多 专业知识,综合性强,可包括微机原理、 专业知识,综合性强,可包括微机原理、单片 机设计、操作系统等课程内容。 机设计、操作系统等课程内容。嵌入式系统是 软件、硬件设计的完美结合。 软件、硬件设计的完美结合。 基础性:可作为计算机、电工电子、 基础性:可作为计算机、电工电子、自动控制 等专业的基础平台课 实践性: 实践性:实验是嵌入式系统教学的重要环节 10 嵌入式系统教学的目标 目标:塑造基础理论与能力相结合的教学模式, 目标:塑造基础理论与能力相结合的教学模式, 根据学习对象的学习能力、教学目标、 根据学习对象的学习能力、教学目标、教学资 源等情况整合多层次的教学内容和方法, 源等情况整合多层次的教学内容和方法,真正 建设和培育自身的嵌入式教学体系和教学能力, 建设和培育自身的嵌入式教学体系和教学能力, 为企业输送专业水平、 为企业输送专业水平、职业技能兼备的优秀人 才。 原则:开放式的课程设计思路, 原则:开放式的课程设计思路,从企业实际用 人需求出发,分析现阶段嵌入式相关产业领域、 人需求出发,分析现阶段嵌入式相关产业领域、 行业人才需求特点及发展趋势;同时, 行业人才需求特点及发展趋势;同时,结合院 校自身专业特长进行课程设置。 校自身专业特长进行课程设置。 11 明确的定位 嵌入式系统课程知识点多, 嵌入式系统课程知识点多,让学生在短短 32、48、64课时内完全掌握嵌入式系统 的32、48、64课时内完全掌握嵌入式系统 设计方法是不现实的 目标:通过嵌入式系统的学习, 目标:通过嵌入式系统的学习,让学生能 够掌握嵌入式系统设计的基本知识和开发 方法,达到“入门” 方法,达到“入门” 手段:通过课堂讲解, 手段:通过课堂讲解,让学生掌握嵌入式 系统基本知识,通过动手实践, 系统基本知识,通过动手实践,让学生掌 握嵌入式系统设计开发方法 12 嵌入式系统设计(实验课) 5)嵌入式系统设计(实验课) 内容安排 三个层次,这三个层次分别是: 三个层次,这三个层次分别是: 基本知识部分,目的有三: 1)基本知识部分,目的有三: 让学生了解(认识) (1)让学生了解(认识)嵌入式软件和硬件的一般开 发环境与流程。 发环境与流程。 让学生熟悉(某一种) (2)让学生熟悉(某一种)嵌入式系统开发工具 掌握实验开发工具的操作方法及使用, (3)掌握实验开发工具的操作方法及使用,熟悉软件 编程环境,为下二个层次实验做准备。 编程环境,为下二个层次实验做准备。 基础技能部分, 2)基础技能部分,目的是让同学掌握基本的嵌入式程序 开发,可以根据实验指导书内容进行实验的调试, 开发,可以根据实验指导书内容进行实验的调试,能读 懂实验源程序。 懂实验源程序。 综合应用部分, 3) 综合应用部分 , 目的在于综合运用同学在基础技能部 13 分所学,创造性地进行综合应用。 分所学,创造性地进行综合应用。 第一章 概论 嵌入式系统是以应用为中心, 嵌入式系统是以应用为中心,以计算机技术 为基础,并且在软、硬件方面可进行裁剪, 为基础,并且在软、硬件方面可进行裁剪,适用 于应用系统对功能、可靠性、成本、体积、 于应用系统对功能、可靠性、成本、体积、功耗 有严格要求的专用计算机系统。 有严格要求的专用计算机系统。它一般由嵌入式 微处理器、外围硬件设备、 微处理器、外围硬件设备、嵌入式操作系统以及 用户的应用程序等四个部分组成。 用户的应用程序等四个部分组成。 以信息家电为代表的互联网时代嵌入式产品, 以信息家电为代表的互联网时代嵌入式产品, 不仅为嵌入式市场展现了美好前景, 不仅为嵌入式市场展现了美好前景,注入了新的 生命;同时也对嵌入式系统技术, 生命;同时也对嵌入式系统技术,特别是软件技 术提出新的挑战。这主要包括: 术提出新的挑战。这主要包括:支持日趋增长的 功能密度、灵活的网络联接、 功能密度、灵活的网络联接、轻便的移动应用和 多媒体的信息处理,此外, 多媒体的信息处理,此外,当然还需对付更加激 烈的市场竞争。 烈的市场竞争。 14 嵌入式系统的概念 随着计算机技术的飞速发展, 随着计算机技术的飞速发展,逐渐形成了计算机 系统的两大分支: 系统的两大分支:通用计算机系统和嵌入式计算机系 统。 通用计算机系统的硬件以标准化形态出现, 通用计算机系统的硬件以标准化形态出现,它通 过安装不同的软件满足各种不同的要求。 过安装不同的软件满足各种不同的要求。其典型的产 品就是PC PC机 品就是PC机。 嵌入式计算机系统则是根据具体应用对象, 嵌入式计算机系统则是根据具体应用对象,软、 硬件采用量体裁衣方式定制的, 硬件采用量体裁衣方式定制的,不以一般计算机形态 出现的专用计算机系统。 出现的专用计算机系统。嵌入式系统的软件固化在硬 件系统中,与硬件形成一个不可分割的整体, 件系统中,与硬件形成一个不可分割的整体,它所执 行的功能也是面向特定的应用,很难通用。其外形、 行的功能也是面向特定的应用,很难通用。其外形、 尺寸、功能、功耗等都受限于应用对象的设计需求, 尺寸、功能、功耗等都受限于应用对象的设计需求, 15 因而不可能有一个标准化的设计。( P1) 。(书 因而不可能有一个标准化的设计。(书P1) 在未来的社会中, 在未来的社会中,使用嵌入式系统的情况 会越来越多。人们可以不接触计算机, 会越来越多。人们可以不接触计算机,但是不 能不接触嵌入式系统的情况是不存在的。 能不接触嵌入式系统的情况是不存在的。嵌入 式可能存在于生活的各个角落, 式可能存在于生活的各个角落,个人家庭可能 就是通过一个嵌入式系统控制中心, 就是通过一个嵌入式系统控制中心,管理家电 来控制家庭和外界网络的连接, 来控制家庭和外界网络的连接,让人们的生活 更为方便;出门旅行的时候, 更为方便;出门旅行的时候,在旅店的门把手 里面安装有电子识别控制系统, 里面安装有电子识别控制系统,利用嵌入式系 统根据旅客手上的特征,判断是否应该开门; 统根据旅客手上的特征,判断是否应该开门; 在坐车的时候,汽车电脑可以通过GPS来判断 在坐车的时候,汽车电脑可以通过 来判断 自己的具体位置, 自己的具体位置,利用嵌入式智能系统判断应 该走哪条路比较方便。 该走哪条路比较方便。 16 嵌入式系统的特征 1)功耗低、体积小、具有专用性 2)实时性强、系统内核小 RTOS: Real Time Operating System 实时操作系统 EOS: Embedded Operation System 嵌入式操作系统 3)创新性和高可靠性 4)高效率地设计 5)需要开发环境和调试工具 17 嵌入式系统发展历程 18 1.2 嵌入式系统的应用领域及发展 计算机将变得小巧玲珑,藏身在任 何地方, 又消失在所有地方;功能 强大, 无影无踪,计算机变得无处 不在:例如在墙里、在手腕上、在 手写纸上等等,随用随取、伸手可 及 19 嵌入式系统应用领域 信息 家电 智能 玩具 工控 设备 移动 计算 智能 仪表 现代嵌入 式应用 通信 设备 汽车 电子 电子 商务 军用 电子 20 典型系统: 典型系统:采样控制系统 21 典型系统: 典型系统:飞行控制系统 响应 命令 操作系统 接口 传感信息 状态估计 空中交通控制 导 航 虚拟飞机 状态估计 飞行管理 状态估计 飞行控制 空气数据 飞 机 物理飞机 22 典型系统: 典型系统: 实时信号处理系统 23 典型应用领域: 典型应用领域:信息家电 24 典型应用领域: 典型应用领域:普适计算 移动终端 移动信息 发布 可穿戴设 备 普适计算 传感器网 络 智能教室 信息设备 智能环境 远程医疗 诊断 25 典型应用: 典型应用:车载综合管理系统 26 嵌入式系统的发展趋势 面对嵌入式技术与Internet技术的结合,嵌 入式系统的研究和应用在飞速发展。 1、更加强大的开发工具和操作系统支持。 2、网络化。 3、新的微处理器层出不穷,精简系统内核,优 化关键算法,降低功耗、尺寸和软硬件成本。 4、提供更加友好的多媒体人机交互界面。 5、软件开发过程标准化。 27 1.3 嵌入式系统基本组成 嵌入式系统架构: 嵌入式应用 应用编程接口API 嵌入式操作系统 外 围 设 备 嵌入式处理器 嵌入式系统软硬件框架 29 嵌入式系统通常由包含有嵌入式处理器、嵌入式操作系统、 应用软件和外围设备接口的嵌入式计算机系统和执行装置 (被控对象)组成。嵌入式计算机系统是整个嵌入式系统的 核心,可以分为硬件层、中间层、系统软件层和应用软件层。 执行装置接受嵌入式计算机系统发出的控制命令,执行所规 定的操作或任务。 1嵌入式计算机系统的硬件层 硬件层中包含嵌入式微处理器、存储器(SDRAM、ROM、 Flash等)、通用设备接口和I/O接口(A/D、D/A、I/O等)。 硬件层通常是一个以嵌入式处理器为中心的,包含有电源电 路、时钟电路和存储器电路的电路模块,其中操作系统和应 用程序都固化在模块的ROM中。 (1)嵌入式微处理器 嵌入式微处理器是嵌入式系统硬件层的核心,嵌入式微处理 器将通用CPU中许多由板卡完成的任务集成到芯片内部,从 而有利于系统设计趋于小型化、高效率和高可靠性。嵌入式 微处理器大多工作在为特定用户群所专门设计的系统中。 30 嵌入式微处理器的体系结构可以采用冯·诺依曼体系结构或哈 佛体系结构,指令系统可以选用精简指令系统(Reduced Instruction Set Computer,RISC)和复杂指令集系统CISC (Complex Instruction Set Computer, CISC)。 嵌入式微处理器有各种不同的体系,目前全世界嵌入式微处 理器已经超过1000多种,体系结构有30多个系列,其中主流 的体系有ARM、MIPS、PowerPC、X86和SH等。即使在同 一体系中,也可以具有不同的时钟频率、数据总线宽度、接 口和外设。目前没有一种嵌入式微处理器可以主导市场,嵌 入式微处理器的选择是根据具体的应用而决定的。 (2)存储器 嵌入式系统的存储器包含Cache、主存储器和辅助存储器, 用来存放和执行代码。 Cache是一种位于主存储器和嵌入式微处理器内核之间的 快速存储器阵列,存放的是最近一段时间微处理器使用最多 的程序代码和数据。在需要进行数据读取操作时,微处理器尽可能 的从Cache中读取数据,而不是从主存中读取,减小存储器 (如主存和辅助存储器)给微处理器内核造成的存储器访问 瓶颈,提高微处理器和主存之间的数据传输速率,使处理速 度更快,实时性更强。 31 Cache一般集成在嵌入式微处理器内,可分为数据Cache、指 令Cache或混合Cache,Cache的存储容量大小依不同处理器 而定。 主存储器用来存放系统和用户的程序及数据,是嵌入式微 处理器能直接访问的存储器。主存储器包含有ROM和RAM, 可以位于微处理器的内部或外部。常用的ROM类存储器有 NOR Flash、EPROM和PROM等,RAM类存储器有SRAM、 DRAM和SDRAM等,容量为256KB1GB。 辅助存储器通常指硬盘、NAND Flash、CF卡、MMC和SD 卡等,用来存放大数据量的程序代码或信息,一般容量较大, 但读取速度与主存相比要慢一些。 (3)通用设备接口和I/O接口 嵌入式系统通常具有与外界交互所需要的通用设备接口,如 GPIO、A/D(模数转换接口)、D/A(数模转换接口)、 RS-232接口(串行通信接口)、Ethernet(以太网接口)、 USB(通用串行总线接口)、音频接口、VGA视频输出接口、 I2C(现场总线)、SPI(串行外围设备接口)和IrDA(红外 线接口)等。 32 2中间层 中间层也称为硬件抽象层(Hardware Abstract Layer,HAL) 或板级支持包(Board Support Package,BSP),位于硬件 层和软件层之间,将系统上层软件与底层硬件分离开来。 BSP作为上层软件与硬件平台之间的接口,需要为操作系统 提供操作和控制具体硬件的方法。不同的操作系统具有各自 的软件层次结构,BSP需要为不同的操作系统提供特定的硬 件接口形式。BSP使上层软件开发人员无需关心底层硬件的 具体情况,根据BSP层提供的接口即可进行开发。 BSP BSP是一个介于操作系统和底层硬件之间的软件层次,包括 了系统中大部分与硬件联系紧密的软件模块。BSP一般包含 相关底层硬件的初始化、数据的输入输出操作和硬件设备 的配置等功能。 33 (1)嵌入式系统硬件初始化 系统初始化过程按照自底向上、从硬件到软件的次序依次 可以分为片级初始化、板级初始化和系统级初始化3个主要 环节。 片级初始化是一个纯硬件的初始化过程,包括设置嵌入 式微处理器的核心寄存器和控制寄存器、嵌入式微处理器 核心工作模式和嵌入式微处理器的局部总线模式等。片级 初始化把嵌入式微处理器从上电时的默认状态设置成系统 所要求的工作状态。 板级初始化是一个同时包含软硬件两部分在内的初始化 过程,完成嵌入式微处理器以外的其他硬件设备的初始化, 设置某些软件的数据结构和参数,为随后的系统级初始化 和应用程序的运行建立硬件和软件环境。 系统级初始化主要进行操作系统的初始化。BSP将对嵌 入式微处理器的控制权转交给嵌入式操作系统,由操作系 统完成余下的初始化操作,包含加载和初始化与硬件无关 的设备驱动程序,建立系统内存区,加载并初始化其他系 统软件模块,如网络系统、文件系统等。最后,操作系统 创建应用程序环境,并将控制权交给应用程序的入口。 34 (2)硬件相关的设备驱动程序 BSP中包含硬件相关的设备驱动程序,但是这些设备驱动程序通常 不直接由BSP使用,而是在系统初始化过程中由BSP将他们与操作 系统中通用的设备驱动程序关联起来,并在随后的应用中由通用的 设备驱动程序调用,实现对硬件设备的操作。 3系统软件层 系统软件层通常包含有实时多任务操作系统(Real-time Operation System,RTOS)、文件系统、图形用户接口(Graphic User Interface,GUI)、网络系统及通用组件模块组成。RTOS是嵌入式 应用软件的基础和开发平台。 (1)嵌入式操作系统(Embedded Operating System,EOS) EOS负责嵌入式系统的软件、硬件的资源分配、任务调度,控制协调。 EOS除具备了一般操作系统最基本的任务调度、同步机制、中断处 理、文件处理等功能外,还具有如下特点:强实时性;支持开放性 和可伸缩性的体系结构,具有可裁减性;提供统一的设备驱动接口; 提供操作方便、简单、友好的图形GUI和图形界面;支持TCP/IP协 议及其他协议,提供TCP/UDP/IP/PPP协议支持及统一的MAC访问 层接口,提供强大的网络功能;嵌入式操作系统的用户接口通过系 统的调用命令向用户程序提供服务;嵌入式系统一旦开始运行就不 需要用户过多的干预;嵌入式操作系统和应用软件被固化在嵌入式 系统计算机的ROM中;具有良好的硬件适应性(可移植性)。 35 (2)文件系统 嵌入式文件系统与通用操作系统的文件系统不完全相同,主要提供文 件存储、检索和更新等功能,一般不提供保护和加密等安全机制。嵌 入式文件系统通常支持FAT32、JFFS2、YAFFS等几种标准的文件系 统,一些嵌入式文件系统还支持自定义的实时文件系统,可以根据系 统的要求选择所需的文件系统,选择所需的存储介质,配置可同时打 开的最大文件数等。同时,嵌入式文件系统可以方便的挂接不同存储 设备的驱动程序,支持多种存储设备。 嵌入式文件系统以系统调用和命令方式提供文件的各种操作,如设置、 修改对文件和目录的存取权限,提供建立、修改、改变和删除目录等 服务,提供创建、打开、读写、关闭和撤销文件等服务。 (3)图形用户接口(GUI) GUI使用户可以通过窗口、菜单、按键等方式来方便地操作计算机或者 嵌入式系统。嵌入式GUI与PC机上的GUI有着明显的不同,嵌入式系 统的GUI要求具有轻型、占用资源少、高性能、高可靠性、便于移植、 可配置等特点。 实现嵌入式系统中的图形界面一般采用下面的几种方法:针对特定的 图形设备输出接口,自行开发相应的功能函数;购买针对特定嵌入式 系统的图形中间软件包;采用源码开放的嵌入式GUI系统;使用独立软 件开发商提供的嵌入式GUI产品。 36 4应用软件层 应用软件层用来实现对被控对象的控制功能,由所开发的 应用程序组成,面向被控对象和用户。为方便用户操作, 通常需要提供一个友好的人机界面。 37 嵌入式硬件组成 外围电 路 嵌入式处理器分类 1、嵌入式控制器 嵌入式微控制器(Micro Controller Unit,MCU)又称为单 片机,芯片内部集成ROM、EPROM、RAM、总线、总线 逻辑、定时计数器、看门狗、I/O、串行口、脉宽调制输 出(PWM)、A/D、D/A、Flash、EEPROM等各种必要功 能和外设。嵌入式微控制器具有单片化、体积小、功耗和 成本低,可靠性高等特点,约占嵌入式系统市场份额的70 。嵌入式微控制器品种和数量很多,典型产品有8051、 MCS-251、MCS-96/196/296、 C166/167、68K系列,TI 公司的MSP430系列和Motorola公司的68H12系列,以及 MCU8XC930/931、C540、C541,并且有支持I2C、CANBUS、 LCD及众多专用嵌入式微控制器和兼容系列。 特点是外设资源丰富,适合用于控制。 39 2、嵌入式DSP处理器 、嵌入式 处理器 嵌入式DSP处理器(Digital Signal Processor,DSP)是 专门用于信号处理方面的处理器,芯片内部采用程序和数 据分开存储和传输的哈佛结构,具有专门硬件乘法器,采 用流水线操作,提供特殊的DSP指令,可用来快速地实现 各种数字信号处理算法,使其处理速度比最快的CPU还快 1050倍。 在DSP处理器上是乘法与加法运算最基本的运算功能,除 此之外,DSP处理器还用于如有限脉冲响应滤波器 (Finite Impulse Responsefilter,FIR)、无限脉冲响应 滤波器(Infinite Impulse Responsefilter,IIR)、离散傅 利叶(Discrete Fourier Transforms)及离散余弦转换 (Discrete Cosine Transforms)等一些常见算法的实现。 从20世纪80年代到现在,缩小DSP芯片尺寸始终是DSP的 技术发展方向。DSP处理器已发展到第5代产品,多数基 于精简指令集计算( RISC)结构,并将几个DSP芯核、 MPU芯核、专用处理单元、外围电路单元和存储单元集成 在一个芯片上,成为DSP系统级集成电路。其系统集成度 极高,并将DSP芯核及外围元件综合集成在单一芯片上。 40 3、嵌入式微处理器 、 嵌入式微处理器(Embedded Micro Processing Unit, EMPU)由通用计算机中的CPU发展而来,嵌入式微处理 器只保留和嵌入式应用紧密相关的功能硬件,去除其他的 冗余功能部分,以最低的功耗和资源实现嵌入式应用的特 殊要求。通常嵌入式微处理器把CPU、ROM、RAM及I/O 等做到同一个芯片上。32位微处理器采用32位的地址和数 据总线,其地址空间达到了2324GB。目前主流的32位嵌 入式微处理器系列主要有ARM系列、MIPS系列、PowerPC 系列等。属于这些系列的嵌入式微处理器产品很多,有千种以上。 (1)ARM系列 ) 系列 ARM(Advanced RISC Machine)公司的ARM微处理器体系结构目前 被公认为是嵌入式应用领域领先的32位嵌入式RISC微处理器结构。 ARM体系结构目前发展并定义了7种不同的版本。从版本1到版本7, ARM体系的指令集功能不断扩大。ARM处理器系列中的各种处理器, 虽然在实现技术、应用场合和性能方面都不相同,但只要支持相同的 ARM体系版本,基于它们的应用软件是兼容的。 目前,70%的移动电话、大量的游戏机、手持PC和机顶盒等都已采用 了ARM处理器,许多一流的芯片厂商都是ARM的授权用户,如Intel、 Samsung、TI、Freescale、ST等公司。 41 (2)MIPS系列 ) 系列 美国斯坦福大学的Hennessy教授领导的研究小组研制的MIPS (Microprocessor without Interlocked Piped Stages,无互锁流水级的微处理 器)是世界上很流行的一种RISC处理器,其机制是尽量利用软件办法避免流 水线中的数据相关问题。 从20世纪80年代初期MIPS处理器发明到现在的这20多年里,MIPS处理器以其 高性能的处理能力被广泛应用于宽带接入、路由器、调制解调设备、电视、游 戏、打印机、办公用品、DVD播放等广泛的领域。 和ARM公司一样,MIPS公司本身并不从事芯片的生产活动(只进行设计), 不过其他公司如果要生产该芯片,则必须得到MIPS公司的许可。 (3)PowerPC ) PowerPC是Freescale(原Motorola)公司的产品。PowerPC RISC处理器采 用了超标量处理器设计和调整内存缓冲器,修改了指令处理设计,它完成一个 操作所需的指令数比CISC处理器要多,但完成操作的总时间却减少了。 PowerPC内核采用独特分支处理单元可以让指令预取效率大大提高,即使指令 流水线上出现跳转指令,也不会影响到其运算单元的运算效率。PowerPC RISC处理器设计了多级内存高速缓冲区,以便让那些正在访问(或可能会被 访问)的数据和指令总是存储在调整内存中。这种内存分层和内存管理设计, 令系统的内存访问性能非常接近调整内存,但其成本却与低速内存相近。而且 PowerPC还引入了独立的分支处理器来进一步解决这个问题,这个处理单元在 读入指令队列后,会找出其中的跳转指令,然后预取跳转指令所指向的新的内 存地址的指令,这样就大大提高了指令预取的效率。 42 4、 嵌入式片上系统 、 嵌入式片上系统(System On Chip,SOC)最大的特点是成功实现 了软硬件无缝结合,直接在处理器片内嵌入操作系统的代码模块,而 且具有极高的综合性,在一个芯片内部运用VHDL等硬件描述语言, 即可实现一个复杂的系统。与传统的系统设计不同,用户不需要绘制 庞大复杂的电路板,一点点地连接焊制,只需要使用精确的语言,综 合时序设计直接在器件库中调用各种通用处理器的标准,然后通过仿 真之后就可以直接交付芯片厂商进行生产,设计生产效率高。 在SOC中,绝大部分系统构件都是在系统内部,系统简洁,系统的 体积和功耗小,可靠性高。SOC多是专用的,所以大部分产品都不 为用户所知,比较典型的SOC产品如Philips公司的Smart XA,少数 通用系列如Siemens公司的TriCore、Motorola公司的M-Core、某些 ARM系列器件、Echelon和Motorola联合研制的Neuron芯片等。 SOC芯片已在声音、图像、影视、网络及系统逻辑等应用领域中广 泛应用。 43 嵌入式软件组成 嵌入式应用系统 应用编程接口API 嵌入式实时操作系统 基本组件 功耗管理 文件管理 GUI 扩展组件 汽车电子 信息家电 浏览器 嵌入式 数据库 操作系统内核 有线无 线网络 板级支持包 嵌入式硬件层 操作系统分类: 1、按实时性分类 RTOS对响应时间有非常严格的要求,当某一个外部事件或请求发生时, 相应的任务必须在规定的时间内完成相应的处理。RTOS可以分为硬实 时和软实时两种情形。 (1)强实时系统: 硬实时系统对响应时间有严格的要求,如果响应时间不能满足可能 会引起系统的崩溃或致命的错误。 (2)弱实时系统: 软实时系统对响应时间有要求,如果响应时间不能满足,将需要支 付能够接受的额外代价。 非实时系统对响应时间没有严格的要求,各个进程分享处理器,以 获得各自所需要的运行时间。 2、按开发成本分类 (1)商业型 (2)免费型 3、按软件结构分类 (1)循环轮询系统 (2)事件驱动系统 45 常见的嵌入式操作系统简介 嵌入式操作系统是操作系统研究领域中的一个重要分支,有许多公司在从事相 关方面的研究,开发了数以百计的各具特色的嵌入式操作系统产品,其中比较 有影响的系统有VxWorks、嵌入式Linux、Windows CE、C/OS-II和PalmOS 等。 1VxWorks 美国WindRiver System公司开发的嵌入式实时操作系统VxWorks采用基于微内 核的体系结构,整个系统由四百多个相对独立、短小精练的目标模块组成,用 户可以根据自己的需要选择适当的模块,进行裁减和配置。VxWorks采用GNU 类型的编译和调试器,专有的API函数,支持x86、Motorola MC68xxx、 Coldfire、PowerPC、MIPS、ARM、i960等主流的32位处理器,具有良好的 可靠性和卓越的实时性,是目前嵌入式系统领域中使用最广泛、市场占有率最 高的商业系统之一。 在VxWorks操作系统中,主要包含有实时微内核Wind、I/O处理系统、文件系 统、网络处理模块、虚拟内存模块VxVMI、板级支持包BSP等功能模块。其中: 实时微内核Wind包括基于优先级的任务调度、任务间的通信、同步和互斥、 中断处理、定时器和内存管理机制等功能。与ANSI C兼容的I/O系统包括UNIX 标准的缓冲I/O和POSIX标准的异步I/O。文件系统主要包括与MS-DOS兼容的 文件系统、与RT-11兼容的文件系统、Raw Disk文件系统和SCSI磁带设备。 网络处理模块能与如TCP/IP、NFS、UDP、SNMP、FTP等许多运行其他协议 的网络进行通信。虚拟内存模块VxVMI主要用于对指定内存区的保护,以加强 系统的安全性。板级支持包BSP由初始化和驱动程序两部分组成,用来管理硬 件的功能模块,对各种板卡的硬件功能提供统一的接口。 462嵌入式Linux 嵌入式 嵌入式Linux(Embedded Linux)是指对标准Linux进行小型化剪裁处理之 后,可