450 likes | 532 Views
思考. 问题十一:大学生如何对待工作、考研、考公务 员、出国、创业?. 送给学生的话. 积极乐观的面对生活. 嵌入式系统. 1 1 .1 什么是嵌入式系统(定义、特点、种类、 历史、应用) 1 1 .2 嵌入式硬件 1 1 .3 嵌入式软件 1 1 .4 嵌入式开发方法. 推荐阅读. 思考. 你看过的小说、电影、生活中见过的东西用到嵌入 式的,请至少说出三个? 电影007系列、嵌入式设备主要应用于解码播放设备 大学生嵌入式比赛 掌上 PDA 、移动计算设备、电视机顶盒、手机上网
E N D
思考 • 问题十一:大学生如何对待工作、考研、考公务 员、出国、创业?
送给学生的话 • 积极乐观的面对生活
嵌入式系统 • 11.1 什么是嵌入式系统(定义、特点、种类、 历史、应用) • 11.2 嵌入式硬件 • 11.3 嵌入式软件 • 11.4 嵌入式开发方法
思考 • 你看过的小说、电影、生活中见过的东西用到嵌入 式的,请至少说出三个? • 电影007系列、嵌入式设备主要应用于解码播放设备 • 大学生嵌入式比赛 • 掌上 PDA 、移动计算设备、电视机顶盒、手机上网 、数字电视、多媒体、汽车、微波炉、数字相机、 家庭自动化系统、电梯、空调、安全系统、自动售 货机、蜂窝式电话、消费电子设备、工业自动化仪 表与医疗仪器等
计算机系统的分类 • 台式计算机 PC(Desktop Computing) • 服务器 (Servers) • 嵌入式计算机(Embedded Computers)
11.1 什么是嵌入系统 1.定义 • IEEE(国际电气和电子工程师协会):用于控制 、监视或者辅助操作机器和设备的装置 • 国内:以应用为中心,以计算机技术为基础,软 硬件可裁减,适应应用系统对功能、可靠性、成本 、体积功耗等严格要求的专用计算机系统 • 一般由嵌入式微处理器、外围硬件设备、嵌入式 操作系统以及用户应用程序等四个部分组成,用于 实现对其他设备的控制、监视或管理等功能
2. 嵌入式应用系统的特点 • 应用于特定目的专用系统 • 工作于嵌入式环境 • 完整的计算机系统 围绕任务进行设计 所用资源少 需要较长系统生命期 功耗因素 体积限制 环境条件 实时性要求 Memory 系统 RTOS 专用开发工具
3. 嵌入式应用系统的种类 • 设备级(工控机) • 板级(单板、模块) • 芯片级(MCU, SoC)
4. 嵌入式应用系统的应用 工业控制领域 交通运输领域 商业金融领域 家电领域 应用 领域 环境监测领域 通信领域 医疗领域 建筑领域 数字化产品设计和增值的关键因素
5. 嵌入式系统的形成和发展 • 1971年单片微处理器问世,它标志着嵌入式系统 的开端 • 从4个方面了解嵌入式系统历史: (1)硬件 (2)软件 (3)代表产品 (4)系统结构
(1)硬件历史 • 1971年Intel 4004, 4位微处理器 • TI, TMS1000, 4位微控制器 • ROM, RAM, CPU + I/O port • 1980年Intel MCS-51, 8位微控制器 • 16位, 32位微处理器… • 1990’s, DSP • TMS320C30
(2)软件历史 • 监控程序 • 操作系统 • 1981, 嵌入式实时内核 VTRX32 • 1990’s, QNX-4 • pSOS, VxWorks, Palm OS, WinCE, Embedded Linux, LynxOS, uCOS, Nucleus…
无操作系统阶段(20世纪70年代) • 最初的嵌入式系统没有操作系统支持,通过汇编 语言对系统进行直接控制,运行结束之后清除内存 • 初步具备了嵌入式的应用特点
简单操作系统阶段(20世纪80年代) • IC制造商开始把嵌入式应用中所需要的各种部 件集成到一片电路中,制造出面向I/O设计的微 控制器 • 简单操作系统:uC/OSII
实时操作系统阶段(20世纪90年代) • 实时性:在时限范围内的正确响应 • 对时限要求实现的不同 • 硬实时系统 • 软实时系统
面向Internet阶段(进入21世纪后) • 嵌入式设备与Internet的结合 The Internet of Things
(3)系统结构 • 硬件系统 • 4位单片机 • 8位单片机/ 16位单片机 • 32位专用微处理器 • 32位DSP微处理器 • SoC • SoPC • 软件系统 • 实时监控程序 • 专用系统 • 通用系统
面临的机遇和挑战 • 通用计算机上使用的技术和观念 • 数据库,移动代理,实时CORBA等 • 新的微处理器层出不穷 • 各类嵌入式操作系统迅速发展 • 网络化、信息化要求
1.商用嵌入式处理器核 • 包括有Microprocessor、MCU、DSP三类 • 典型Microprocessor如下:
2.嵌入式系统外设接口 • 存储器: • RAM、SRAM • DRAM • Flash、EEPROM、MashROM • HDD、CD-ROM • 通信接口:RS-232、IrDA、SPI、I2C、CAN、 Bluetooth、Ethernet、IEEE1394、GPIO • I/O设备:LED、CRT、LCD等
3.BootLoader • 在PC机上,BIOS完成处理器和硬件的初始化。 对嵌入式系统而言,有时需要自己编制这些工作 程序,即开机程序 • 芯片厂家一般会提供一些BootLoader程序
4.SOC的片上调试接口 • OCD(On Chip Debugging)是CPU芯片提供的一 种调试功能(片上调试),是为了能够在片外 调试SOC内部处理器核的一种手段
HAL:定义统一的软硬件接口标准 • BSP:实现对OS的支持,提供访问硬件设备寄存器的函 数包 • 设备驱动程序:提供对各种外围设备的软件驱动支持
2.实时操作系统(RTOS) • 多任务管理 • 存储管理 • I/O资源管理 • 中断管理 1. 多线程/多进程方式,提供调度机制来对多任务管理 2. 调度算法包括:FCFS 先来先服务 、Round Robin 轮询、Priority 优先级 • 动态内存管理技术; • 高端应用在硬件配合下采用页表进行虚拟存储管理 • 提供I/O驱动 • 中断方式处理器外部事件和I/O请求
3.典型的嵌入式操作系统 • μc/OS-II:中小型系统使用。支持最多64个任 务,真正的实时OS。用ANSI C开发 • Vxworks:基本微内核,由400多个目标模块组 成。用于航空、航天、军事等高端实时要求极高 的领域 • WinCE:多线程,完整优先权,多任务OS,但 不是硬实时系统。高度模块化介绍 • Win mobile: • Linux OS/μcLinux: • Symbian OS:
11.4嵌入式开发方法 1.开发特点 • 跨平台开发,需要交叉软件集成开发环境(IDE) • 需要进行软硬件协同设计 • 代码需要固化 • 采用基于任务的设计方法
2.技术挑战 • 功耗、体积与性能的均衡 • 系统实时性要求高 • 软件稳定性、系统可靠性及抗干扰能力 • Time-to-Market • 系统可测性设计和系统设计优化是关键
3.嵌入式软件交叉开发环境 • 交叉开发环境是指用于嵌入式软件开发的所有工具 软件的集合,一般包括: • 文本编辑器 • 交叉编译器 • 交叉调试器 • 仿真器 • 下载器等 • 交叉开发环境由宿主机和目标机组成,宿主机与目 标机之间在物理连接的基础上建立起逻辑连接
4.嵌入式软件交叉开发环境 • 交叉开发环境是指用于嵌入式软件开发的所有 工具软件的集合,一般包括: • 文本编辑器 • 交叉编译器 • 交叉调试器 • 仿真器 • 下载器等 • 交叉开发环境由宿主机和目标机组成,宿主机 与目标机之间在物理连接的基础上建立起逻辑 连接
运行平台 开发平台 Target Host 宿主机开发环境 目标机应用系统 —编辑 调 —应用软件 运 试 —编译 行 —应用中间件 代 —连接 库 OS —目标机 理 —调试 目标机硬件 宿主机 OS DownLoad 宿主机硬件 交叉开发环境
物理连接:宿主机与目标机通过物理线路连接 在一起,连接方式主要有三种: • 串口 • 以太口 • OCD(On Chip Debug)方式,如JTAG、BDM等
逻辑连接: • 物理连接是逻辑连接的基础 • 逻辑连接指宿主机与目标机间按某种通信协议 建立起来的通信连接,目前逐步形成了一些通 信协议的标准
Rational Rose RealTime ObjectGeode Rhapsody TAU Tornado LambdaTOOL pRISM+ Spectra Win CE Platform Builder CodeWarrior Xray Debugger Logiscope CodeTEST Phases Requirement Analysis Software Design Coding Test Release 5.主要嵌入式软件开发工具产品
6.嵌入式软件实现阶段的开发过程 • 软件的生成主要是在宿主机上进行,利用各种工 具完成对应用程序的编辑、交叉编译和链接工 作,生成可供调试或固化的目标程序 • 调试是通过交叉调试器完成软件的调试工作。调 试完成后还需进行必要的测试工作 • 固化运行是先用一定的工具将应用程序固化到目 标机上,然后启动目标机,在没有任何工具干预 的情况下应用程序能自动地启动运行
7.软件平台的选择 • 操作系统 提供的开发工具 移植的难度 内存要求 选择操作系统考虑因素 开发人员是否熟悉 是否提供硬件的驱动 可剪裁性 实时性
编程语言 通用性 可移植性程度 选择编程语言考虑因素 执行效率 可维护性 Ada 应用广泛的高级语言 C/C++ J2ME
开发工具、调试工具(集成开发环境) 系统调试器的功能 支持库函数 需要考虑因素 持续升级编译器 支持所有的文件格式和符号格式
作业题 1.简述嵌入式系统的发展各阶段的特点 2.简述嵌入式系统的发展趋势 3.简述嵌入式计算机系统的硬件层的组成和功能 4.简述嵌入式计算机系统的中间层的组成和功能 5.简述嵌入式计算机系统的系统软件层的组成和功能 6.嵌入式微控制器、嵌入式微处理器、嵌入式DSP处理器、 嵌入式片上系统、双核或多核处理器有哪些相同和不 同之处? 7.ARM、MIPS、PowerPC微处理器结构有哪些相同和 不同之处?各有什么特点?