嵌入式系统简介
嵌入式系统简介
第1章 嵌入式技术导论
1.1 嵌入式系统的基本概念
• 嵌入式系统 是以现代计算机技术为基础,以应用为中心, 可以根据系统或用户需求(功能、可靠性、成本、 体积、功耗、环境等),灵活裁剪软硬件模块的专 用计算机系统;
IEEE(国际电气和电子工程师协会)对嵌入式系统 的定义:“用于控制、监视或者辅助操作机器和设 备的装置”。
1.2 嵌入式系统应用领域
1.3 嵌入式系统的主要特点
– 面向应用。系统设计必须综合考虑功能、可靠性、成本、体积、功 耗、环境等具体的应用需求。
- 软硬件可剪裁。嵌入式系统的硬件和软件都必须高效 率地设计,量体裁衣、去除冗余,力争在同样的硅片面积 上实现更多的功能和更高的性能。
- 专用计算机控制系统。 不同的嵌入式系统,有不同的应用环境、控制对象, 用户需求一般也不相同,软硬件剪裁的内容不可能一 样,Bootloader 等程序一般也不一样;
1.4 嵌入式系统与单片机
嵌入式系统由硬件和软件两大部分组成,用于实现对其他设备的控制、监视或管理等功能。前者是整个系统的物理基础,它提供软件运行平台和通信接口;后者实际控制系统的运行。
2 嵌入式系统的组成
2.1 组成
嵌入式系统由硬件和软件两大部分组成,用于实现对其他设备的控制、监视或管理等功能。前者是整个系统的物理基础,它提供软件运行平台和通信接口;后者实际控制系统的运行。
硬件:嵌入式微处理器、外围电路、外围硬件设备。
软件:BootLoader、嵌入式操作系统、用户的应用 程序等。
2.1 硬件组成
• 微处理器是嵌入式系统硬件的核心,具备以下4个微处理器特点:
① 对实时多任务有很强的支持能力,能完成多任务并且有较 短的中断响应时间,从而使内部的代码和实时内核的执行时 间减少到最低限度。
② 具有很强的存储区保护功能。这是由于嵌入式系统的软件 结构已模块化,为了避免在软件模块之间出现错误的交叉作 用,需要设计强大的存储区保护功能,同时也有利于软件诊 断。
③ 可扩展的结构。
④ 功耗很低。便携式无线及移动设备中靠电池供电的嵌入式 系统更是如此,很多只允许mW量级甚至W量级。
2.3 嵌入式系统软件层次分为四个:
① 设备驱动接口(DDI)负责嵌入式系统与外部设备的信 息交互;
② 实时操作系统(RTOS)分成基本和扩展两部分, 前者是操作系统的核心,负责整个系统的任务调度,存储分配、时钟管理和 中断管理,提供文件、图形用户界面(GUI)等基本服务; 后者是为用户提供操作系统的扩展功能,包括网络、数据库等;
③ 可编程应用接口(API)也称为编程中间件、应用中间 软件,是为编制应用程序提供的各种编程接口库,它针 对不同应用领域、不同的安全要求分别构建,从而减轻 应用开发者的负担;
④ 应用软件是针对不同应用而由开发者自己编写的软件。
嵌入式系统初始化
• 分为3个主要环节,按照自底向上、从硬件 到软件的次序依次为:
①片级初始化
②板级初始化
③系统级初始化
2.4 嵌入式操作系统
任务调度:多任务运行实际是靠CPU在多个任务之间切换、调 度实现的。任务的调度有三种方式:可抢占式、不可抢占式和时间片轮转。目前,大多数嵌入式操作系统 – 对不同优先级的任务采用基于优先级的可抢占式调度法 – 对相同优先级的任务则采用时间片轮转调度法。
实存储器:大多数嵌入式系统针对没有MMU的处理器设计,不 能使用处理器的虚拟内存管理技术,而是采用实存 储器管理策略, • 因此对于内存的访问是直接的,它对地址的访问不 需要经过MMU,而是直接送到地址线上输出,所有 程序中访问的地址都是实际的物理地址。
2.5 硬实时和软实时
依据操作系统的类型,嵌入式系统划分为两种类型: 实时系统和分时系统。 • 实时系统又分为两类:硬实时系统和软实时系统。
2.6 内核加载方式
嵌入式操作系统内核可以在Flash上直接运行,也可以加载 到内存中运行。
静态链接:根据嵌入式系统的内存管理机制,嵌入式操作系统对用户 程序一般采用静态链接的形 式。在嵌入式系统中,应用程 序和操作系统的内核代码经过编译、链接生成一个二进制 文件来运行。
3. 计算机结构与工作原理
3.1 冯诺依曼架构
3.2 哈佛结构------冯诺依曼架构的扩展(2)
两种计算机体系结构的比较:
传统的微处理器采用的冯·诺依曼结构将指令和数 据存放在同一存储空间中,统一编址,指令和数据 通过同一总线访问。
哈佛结构则是不同于冯·诺依曼结构的一种并行体 系结构,其主要特点是程序和数据存储在不同的存 储空间中,即程序存储器和数据存储器是两个相互 独立的存储器,每个存储器独立编制、独立访问。 与之相对应的是系统中设置的两条总线(程序总线 和数据总线),从而使数据的吞吐率提高了一倍。
3.3微型计算机三总线结构
3.4计算机各大组成部分概述
微机系统的硬件主要由以下几部分组成:
注:微机通过I/O设备与外部交换信息,但两者处 理的信息从数据格式到逻辑时序一般不能直接兼 容,必须在两者之间引入连接电路,即I/O接口电路。
3.5 微型计算机基本工作原理
–任何一条指令均由两部分组成:
操作码 地址码(操作数)
目前微机系统中使用着三个层次、三种形式的程序:
机器语言程序 (二进制)
汇编语言程序
高级语言程序
微型计算机执行指令都分成三个阶段进行
取指令 分析指令 执行指令
缓冲与缓存的比较
• 缓冲Buffer 一般用于数据的I/O; 消除干扰; 速度匹配(同步); 接口电路的设计,往往需要考虑数据的缓冲,如硬盘与内存之间、ADC/DAC 等; 其他:媒体播放器,网络浏览器等,为了“流畅”播放和浏览网页,也需开 辟缓冲区。
• 缓存Cache 先于内存与CPU交换数据,比主存储器体积小但速度快; 频繁访问的程序代码和数据可以驻留Cache,目的在于提高了CPU访问主存的 速度; MMU需要考虑Cache的控制与管理问题。– CPU命中Cache的概率,是Cache的一个重要指标;它与 Cache的大小、替换算法、程序特性等因素有关。
3.6 精简指令集
RISC体系结构应具有如下特点: 采用固定长度的指令格式,指令归整、简单、基本寻址方式有2~3 种。 使用单周期指令,便于流水线操作执行。 大量使用寄存器,数据处理指令只对寄存器进行操作,只有加载/ 存储指令可以访问存储器,以提高指令的执行效率。 所有的指令都可根据前面的执行结果决定是否被执行,从而提高指 令的执行效率 可用加载/存储指令批量传输数据,以提高数据的传输效率。 可在一条数据处理指令中同时完成逻辑处理和移位处理。 在循环处理中使用地址的自动增减来提高运行效率。
现代的CPU往往采用复杂指令集CISC的外围,内部加入了 精简指令集RISC的特性,如超长指令集CPU就是融合了RISC 和CISC的优势,成为未来的CPU发展方向之一。
3.7 流水线技术
以ARM7处理器使用3级流水线为例,分别为:
取指级
译码级
执行级
3.8 嵌入式处理器的发展阶段
1.嵌入式微处理器(Micro Processing Unit,MPU)
2.嵌入式微控制器 (Microcontroller Unit, MCU)
3.嵌入式DSP处理器(Embedded Digital Signal Processor, EDSP)
4.SoC(System on chip)片上系统
3.9 计算机发展历史中的若干重要人物
巴贝奇:英国数学家,机械式通用计算机 。
图灵:存储器(纸带)、运算器和控制器,形成具备计算和信息处 理功能“通用计算机”模型。
冯.诺依曼:存储器、运算器和控制器+ 输入、输出装置,共五 大部件。
姚期智
3.10 嵌入式系统发展趋势
① 嵌入式应用软件的开发需要强大的开发工具和操作系统 的支持
② 联网成为必然趋势
③ 支持小型电子设备实现小尺寸、微功耗和低成本
④ 提供精巧的多媒体人机界面
4. Cortex-M3 体系简介
按嵌入式系统的典型应用分类:
① Cortex-A:高性能(High Performance)
② Cortex-M:微控制器类(Microcontroller)
③ Cortex-R:实时类(Real Time)
• 各ARM体系结构版本
V1 该版本的ARM体系结构,只有26位的寻址空间, 没有商业化
V2 同样为26位寻址空间,它相对V1版本有改进
V3 寻址范围扩展到32位(目前已废弃),具有独立 的程序
V4 不在为了与以前的版本兼容而支持26位体系结构, 并明确了哪些指令会引起未定义指令异常发生,它相 对V3版本作了以下的改进
V5 在V4版本的基础上,对现在指令的定义进行了 必要的修正,对V4版本的体系结构进行了扩展并并 增加了指令
• Cortex是ARM的新一代处理器内核,它在本质 上也是ARM v7架构的实现。
• 按嵌入式系统的典型应用分类:
① Cortex-A:高性能(High Performance),针对日益增长的运行Linux、 WinCE、Symbian等操作系统在内的消费者娱乐和无线产品设计与实现。
② Cortex-M:微控制器类(Microcontroller),针对应用系统对功耗、 成本敏感,同时对微处理器性能要求较高的工业领域(汽车、家电、 医疗器械等)。
③ Cortex-R:实时类(Real Time),针对实时性要求较高的领域,可 以运行RTOS
• 任何微处理器都是由至少内核、存储器、总线、IO 构成。
5 STM32 系列微控制器
6. 嵌入式系统工程设计与开发分为四个阶段:
- 需求分析: 功能需求分析;性能需求分析;安全性分析; 可靠性分析;成本分析;市场需求分析等
- 架构及概要设计
- 详细设计开发
- 测试、提高、完善
侵删
上一篇: 嵌入式系统:汇编