嵌入式系统概述 宋健建 南京大学软件学院 2004/02/10
内容 什么是嵌入式系统 嵌入式系统的历史和发展 嵌入式系统的组成 嵌入式系统的特点 嵌入式系统软件开发
1. What are embedded systems? Definition: Embedded system: any device that includes a programmable computer but is not itself a general-purpose computer. Take advantage of application characteristics to optimize the design: don’t need all the general-purpose bells and whistles.
A More Detailed Definition 国内一般定义 嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。 一般由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用户应用程序等四个部分组成,用于实现对其他设备的控制、监视或管理等功能。 覃征(电子商务)71_P176 给出以下定义: 嵌入式系统被描述为:以应用为核心,软硬件可裁减的,适应应用系统对功能、可靠性、成本、体积、功耗等综合性严格要求的专用计算机系统。 嵌入式系统主要由嵌入式处理器,相关支撑硬件,嵌入式操作系统和应用软件系统等组成。 嵌入式处理器主要由一个单片机或微控制器(MCU)组成。 相关支撑硬件包括显示卡,存储介质,通信设备,IC卡或信用卡读取设备等。 ⑤ 于春凡(汇编语言)_92_P176 单片机又称为微型控制器和嵌入式计算机 赛迪网—嵌入式网页内容 嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。它一般由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用户的应用程序等四个部分组成,用于实现对其他设备的控制、监视或管理等功能。
Embedding a computer output analog input analog CPU mem embedded
Examples Personal digital assistant (PDA). Printer. Cell phone. Automobile: engine, brakes, dash, etc. Television. Household appliances. PC keyboard (scans keys).
Reference Interpretation (1) An "embedded system" is any computer system or computing device that performs a dedicated function or is designed for use with a specific embedded software application. Embedded systems may use a ROM-based operating system or they may use a disk-based system, like a PC. But an embedded system is not usable as a commercially viable substitute for general purpose computers or devices. 网页来源: http://www.microsoft.com/windows/embedded/ce.net/howtobuy/confirm/default.asp An "embedded system" is any computer system or computing device that performs a dedicated function or is designed for use with a specific embedded software application. Embedded systems may use a ROM-based operating system or they may use a disk-based system, like a PC. But an embedded system is not usable as a commercially viable substitute for general purpose computers or devices.
Reference Interpretation (2) A specialized computer system that is part of a larger system or machine. Typically, an embedded system is housed on a single microprocessor board with the programs stored in ROM. Virtually all appliances that have a digital interface -- watches, microwaves, VCRs, cars -- utilize embedded systems. Some embedded systems include an operating system, but many are so specialized that the entire logic can be implemented as a single program. Embedded System Definition A specialized computer system that is part of a larger system or machine. Typically, an embedded system is housed on a single microprocessor board with the programs stored in ROM. Virtually all appliances that have a digital interface -- watches, microwaves, VCRs, cars -- utilize embedded systems. Some embedded systems include an operating system, but many are so specialized that the entire logic can be implemented as a single program. VCR=录像机
Reference Interpretation(3) 中国微机学会的定义: 嵌入式系统是以嵌入式应用为目的的计算机系统,可以分为片级、板级、系统级。 芯片级嵌入- 含程序或算法的处理器 模块级嵌入- 系统中的某个核心模块板 系统级嵌入- 主计算机系统
1.2 嵌入式系统历史和发展 1971年代单片微处理器问世,它标志着嵌入式系统的开端。 从4个方面了解嵌入式系统历史 硬件 软件 代表产品 1.2 嵌入式系统历史和发展 1971年代单片微处理器问世,它标志着嵌入式系统的开端。 从4个方面了解嵌入式系统历史 硬件 软件 代表产品 系统结构 716研究所网页资料 嵌入式计算机的真正发展是在微处理器问世之后。1971年11月,Intel公司成功地把算术运算器和控制器电路集成在一起,推出了世界上第一片微处理器Intel 4004,其后各厂家推出了许多8位、16位的微处理器,包括Intel 8080/8085、8086,Motorola 的6800、68000,Zilog的Z80、Z8000等。由这些微处理器为核心构成的微型计算机OEM嵌入式计算机系统,广泛用于制造仪器仪表、医疗设备、机器人、家用电器等。微处理器的广泛应用形成了一个广阔的嵌入式应用市场,计算机厂家开始大量地以插件方式向用户提供OEM产品,再由用户根据自己的需要选择一套适合自己应用的CPU板、存储器板和各式I/O插件板构成专用的嵌入式计算机系统,并嵌入到自己的系统设备中。由此同时,军方根据自己的需求,由工业部门研制生产了包括CPU板、存贮器板、接口板、总线板、电源板、数模变换板等OEM产品的抗恶劣环境计算机系统,形成了完整系列的军用嵌入式计算机系统。 为了灵活兼容,形成了系列化、模块化的单板机。流行的单板计算机有Intel公司的iSBC系列、Zilog公司的MCB等。这时人们开始不必从选择芯片开始来设计一台专用的嵌入式计算机了,只要选择各功能模块,就可以组建一台专用计算机系统。用户和厂家都希望从不同的厂家选购最适合的OEM产品,插入外购或自制的机箱中就形成新的系统,即希望插件是互相兼容的,这就导致了工业控制微机系统总线的诞生。1976年Intel推出Multibus,1983年扩展为带宽达40MB/S的MultibusⅡ;1978年Prolog设计简单的STD总线广泛用于小型嵌入式系统;1981年Motorola推出了VME总线,与MultibusⅡ瓜分了军用市场。 80年代可以说是各种总线层出不穷、群雄并起的时代。 随着微电子工艺水平的提高,集成电路制造商开始把嵌入式应用所需要的微处理器、I/O接口、A/D、D/A转换、串行接口以及RAM、ROM通通集成到一个VLSI中,制造出面向I/O设计的微控制器,就是我们俗称的单片机。成为嵌入式计算机系统异军突起的一支新秀,其后发展的DSP产品则更的提升了嵌入式计算机系统的技术水平。并且,迅速地渗入到消费电子、医用电子、智能控制、通信电子、仪器仪表、交通运输等各种领域。 嵌入式系统都是实时系统,而且多是实时多任务系统,由计算机生产厂家配置实时操作系统(RTOS)。像IRMX86、VRTX、PSOS、Vxworks、QNX、WindowsNT、WindowsCE、UNIX等。它们采用全抢占调度方案,响应时间很短;采用微内核技术,设计追求灵活性,可配置、可裁剪、可扩充、可移植;强实时和高可靠性,有适应各种主流CPU的版本,非常适合嵌入式应用。商用嵌入式实时多任务操作系统把嵌入式系统的开发工作从小范围内解放出来,促使嵌入式应用扩展到更广阔的领域。 90年代,在分布控制、柔性制造、数字化通信和数字化家电等巨大需求的牵引下,嵌入式应用进一步加速发展。面向实时信号处理算法的DSP向高速、高精度、低功耗发展,Texas推出第三代DSP单片TMS320C30,微控制器向32位高速智能化发展,如intel公司发展的PⅡ、PⅢ以及将推出的MP4、MP5等。 716研究所的嵌入式计算机系统是从8086单板机技术的引进消化开始,并从MULTIBUS多总线的8086抗恶劣环境计算机系统的研制开始生产,生产了ATR机箱及包括计算机主板、存储板、接口板、电源板等在内的嵌入式计算机系统。随着716研究所嵌入式计算机系统的技术开发和产品生产不断深化,嵌入式计算机系统的型谱也不断升级,从386、486到现在的M586和PⅡ、PⅢ计算机系统,使716研究所的嵌入式抗恶劣环境计算机系统处于国内领先地位,同时计算机系统的内涵功能也越来越齐全,可为用户提供一体化解决方案的能力越来越强。目前已经形成具有处理器板、接口板、多媒体板、网络板、转换板、电子盘板、GPS板及电源等品种齐全的嵌入式计算机系统,复盖Multibus总线、CPCI总线、ISA总线等多种总线的系列产品。并将进一步向MP4、MP5等更高等级升级,以及向加固服务器、加固工作站等嵌入式计算机系统发展。进入21世纪无疑是一个网络的时代,使嵌入式计算机系统嵌入到各类网络中去也必然是716研究所计算机产业的发展方向。
嵌入式硬件的历史 1971年Intel 4004, 4位微处理器 TI, TMS1000, 4位微控制器 ROM, RAM, CPU + I/O port 1980年Intel MCS-51, 8位微控制器 16位, 32位微处理器… 1990’s, DSP TMS320C30
嵌入式处理器的分类和术语(1) 微控制器(MCU:Micro-Controller Unit) 即单片机。早期比较流行的处理器,将整个计算机系统集成到一个芯片中,内部以某种微处理器为核心,并对ROM、RAM、总线、总线逻辑、定时器/计数器、I/O、串行口、A/D转换、D/A转换等必要外设加以集成。 Intel 8051 微处理器(MPU:Micro-Processor Unit) 必须在电路板上完成嵌入式系统功能。将MPU和其必要外设装配在一起的电路板称为单板机。 ARM系列,MIPS
嵌入式处理器的分类和术语(2) 数字信号处理器(DSP: Digital Signal Processor) TI TMS320C30 ->片上系统(System-on-Chip, SoC) 将重要处理器的内核和各种外围的芯片器件整合在一起,进一步降低功耗。 Intel PCA架构;PXA 255
Microprocessor varieties Microcontroller: includes I/O devices, on-board memory. Digital signal processor (DSP): microprocessor optimized for digital signal processing. Typical embedded word sizes: 8-bit, 16-bit, 32-bit.
嵌入式软件的历史 监控程序 操作系统 1981, 嵌入式实时内核 VTRX32 1990’s, QNX-4 pSOS, VxWorks, Palm OS, WinCE, Embedded Linux, LynxOS, uCOS, Nucleus…
嵌入式系统结构演变 硬件系统 软件系统 4位单片机 8位单片机/ 16位单片机 32位专用微处理器 32位DSP微处理器 SoC SoPC 实时监控程序 专用系统 通用系统
IA & Embedded System Information Appliance An appliance specializing in information : Knowledge, facts, graphics, images, video, or sound. An information appliance is designed to perform activity, such as music, photography, or writing. A distinguishing feature of information appliance is the ability to share information among themselves. (Don Norman)
IA & Embedded System (cont’d) 信息电器的核心就是嵌入式系统 信息电器的成本取决于嵌入式系统的成本 信息电器的使用性能取决于嵌入式系统的软件 信息电器的发展方向决定着嵌入式系统的发展方向
1.4 嵌入式系统的基本组成
软件硬件基本要素 硬件 软件 嵌入式处理器 各种类型存储器 模拟电路及电源 接口控制器及接插件 实时操作系统(RTOS) 板级支持包(BSP) 设备驱动(Device Driver) 协议栈(Protocol Stack) 应用程序(Application)
嵌入式处理器的分类 微控制器(MPU) 微处理器(MCU) 数字信号处理器(DSP) 片上系统(SoC)
存储设备 ROM RAM PROM,EPROM,EEPROM Flash ROM SRAM DRAM Flash在嵌入式系统中的两种作用(boot ROM、hard disk) RAM SRAM DRAM
典型的嵌入式系统硬件组成
PXA255 Architecture
典型的嵌入式系统软件组成
VxWorks Architecture
Embedded Linux Basic components: Further: Boot loader Linux kernel Hardware drivers Application programs File systems based on ROM or RAM TCP/IP stack GUI
嵌入式操作系统 需要操作系统的场合 嵌入式操作系统的基本功能 多任务 方便的用户界面 网络功能 升级和二次开发 多任务调度 内存管理 硬件资源管理
1.5 嵌入式系统的特点 专门用于特定任务 嵌入式系统一般是专用系统,而PC是通用计算平台。 技术集成 软硬件集成,计算机和网络通信集成 有实时约束 一般采用实时操作系统 有功耗约束 软件通常没有系统和应用的区别,软件固化。 系统内核小 高可靠性 资源比PC少得多 嵌入式系统需要专用的开发工具 非垄断市场
Characteristics of embedded systems Sophisticated functionality. Real-time operation. Low manufacturing cost. Low power. Designed to tight deadlines by small teams.
Functional complexity Often have to run sophisticated algorithms or multiple algorithms. Cell phone, laser printer. Often provide sophisticated user interfaces.
Real-time operation Must finish operations by deadlines. Hard real time: missing deadline causes failure. Soft real time: missing deadline results in degraded performance. Many systems are multi-rate: must handle operations at widely varying rates.
Non-functional requirements Many embedded systems are mass-market items that must have low manufacturing costs. Limited memory, microprocessor power, etc. Power consumption is critical in battery-powered devices. Excessive power consumption increases system cost even in wall-powered devices.
Design teams Often designed by a small team of designers. Often must meet tight deadlines. 6 month market window is common. Can’t miss back-to-school window for calculator.
1.6 嵌入式系统软件开发 编程语言 汇编、C、Java… 交叉编译器(cross compiler) 在一种机器(host)上为另一种机器(target)生成代码的编译程序
开发流程
代码的下载与调试 开发平台 下载代码 返回调试信息 目标平台 在PC机主机上生成的可执行二进制映象文件需下载至目标机才能运行。目标机的调试,则需PC机通过在线仿真器ICE(In Circuit Emulator)或常驻在目标上的调试监控器(debug monitor)来实现对目标机进行调试。对于基于ARM处理器已嵌入了ICE功能,可以通过JTAG接口直接进行调试,省去了昂贵的在线仿真器(ICE);也可以下载Angel来实现对目标机的调试。 ——摘自陈章龙等《嵌入式系统》电子版P23 返回调试信息 目标平台
嵌入式系统调试的方法 LED Simulator ICE (In-Circuit Emulator) 基于JTAG的Embedded ICE Angel
Simulator Simulator (模拟器) 特点 完全基于主机的软件。在主机上模拟了目标机中处理器的功能和指令, 简单可行 缺乏在线调试功能和实时仿真功能 仅能模拟目标处理器,无法模拟处理器有关I/O的功能 常作为初步基本调试工具
ICE ICE: In-Circuit Emulator 传统用于测试印刷电路板的方法。 ICE是一种专用的设备,配有专用于特定CPU芯片的接头。将ICE的接头骑在CPU芯片上并加以固定,使它的每一条引线与CPU芯片上的对应引线接触,就可以监测CPU芯片各条引线上的逻辑电平。 由于集成电路的集成度不断提高,芯片的引脚不断增加;此外,为了缩小体积常常采用表面贴装技术。因此,无法用常规的在线仿真的方式…
Embedded ICE Embedded ICE: 一组调试寄存器 JTAG接口 IBCR (Instruction Break Control Register) DBAR (Data Break Address Register) … JTAG接口 JTAG(Joint Test Action Group) 制定了边界扫描标准,只需5根引脚就可以实现在线仿真的功能。 ARM架构处理器内含嵌入式在线仿真宏单元,为JTAG调试提供相应的接口。同时,为了能达到实时跟踪调试的功能,ARM架构处理器还内含嵌入式跟踪宏单元,通过逻辑分析仪来实现实时跟踪调试的功能。
Angel Angel是一组运行在目标机上的程序,可以接受主机上调试器发送的命令。 功能 Debug。接收和解释PC主机的调试命令,显示处理器、存储器和寄存器的状态,也可以通过未定义指令来设置断点。 支持Angel调试协议ADP(Angel Debug Protocol),从而实现PC主机与目标机的串行或并行通信,也支持与目标板的网卡通信。 支持目标机中应用程序可使用主机PC上的标准C函数库。通过软中断SWI指令来实现。 具有多任务调度和处理器模式管理功能。能分配任务优先级并对任务进行管理,也可根据操作需要在不同处理器模式中运行。 具有中断功能。从而能实现调试、通信和管理等操作的要求。
ARM的调试系统
Embedded System Design Top-down design: start from most abstract description; work to most detailed. Bottom-up design: work from small components to big system. Real design uses both techniques.
Levels of abstraction requirements specification architecture component design system integration
Example: GPS moving map Requirements Specification Architecture Component design System integration
Review