Download presentation
Presentation is loading. Please wait.
Published byMartina Beck Modified 6年之前
1
第一章 嵌入式系统开发基础 本章介绍了嵌入式系统开发的基础知识,从嵌入式计算机的历史由来、嵌入式系统的定义、嵌入式系统的基本特点、嵌入式系统的分类及应用、嵌入式系统软硬件各部分组成、嵌入式系统的开发流程、嵌入式技术的发展趋势等方面进行了介绍,涉及到嵌入式系统开发的基本内容,使读者系统地建立起的嵌入式系统整体概念。
2
本章主要内容有 1. 1嵌入式系统基本概念 1.2嵌入式系统的组成结构 1.3嵌入式系统硬件组成 1.4嵌入式操作系统
1.5嵌入式应用软件开发 1.6嵌入式系统开发流程 1.7嵌入式系统发展的趋势
3
1.1 嵌入式系统基本概念 1.1.1 嵌入式计算机 1.1.2 嵌入式系统的概念 1.1.3 嵌入式系统的特点
1.1 嵌入式系统基本概念 1.1.1 嵌入式计算机 1.1.2 嵌入式系统的概念 1.1.3 嵌入式系统的特点 1.1.4 嵌入式系统的分类 1.1.5 嵌入式系统的应用范围 1.1.6 嵌入式技术是中国IT发展的难得机遇
4
1.1.1嵌入式计算机 在电子计算机发展的初期,计算机一直是“供养”在特殊的机房中的大型、昂贵的专用设备,主要是实现一些特殊的数值计算。
直到20世纪70年代微处理器的出现,计算机应用才出现了历史性的变化。这也使计算机摘掉神圣的光环走下了神坛,步入平民化的时代。 同时微处理器表现出的智能化水平引起了设备制造、机电控制等专业人士的兴趣,要求将微型机嵌入到一个控制对象的体系中,实现对象体系的智能化控制。
5
嵌入式计算机 微处理器的问世极大的促进了控制领域的发展,复杂的控制系统最初只是由简单的设备组成,以微处理器这样的部件作为主要的控制和反馈器件,极大的提高了系统的可控性和智能化。 经过发展,到80年代初微处理器及微控制器各自已发展为一个庞大的家族,以Intel公司x86为主流的应用于个人计算机PC的微处理器格局已形成。 为了区别于原有使用在PC的通用计算机,把嵌入到对象体系中、实现对象体系智能化控制的微控制器的计算机,称作嵌入式计算机。
6
嵌入式计算机 因此,嵌入式计算机是诞生于微处理器发展时代;
早期嵌入式计算机是将一个计算机嵌入到一个具体应用的控制对象的体系中去,这些是嵌入式系统发展的起点。 这也标志着计算机进入了通用计算机与嵌入式计算机两大分支、并行发展时代,从而导致20世纪末,计算机应用的高速发展并由此引发了计算机分类方式的变化。
7
1.1.2嵌入式系统的概念 传统的计算机分类是按照计算机的处理字长、体系结构、运算速度、结构规模、适用领域进行的,如通常所说的大型计算机、中型机、小型机和微型计算机,并以此标准来组织学科和产业分工,这种分类方法也沿袭了多年。 随着近20年来微电子技术、计算机技术和移动通信技术的迅速发展以及网络技术的广泛应用,实际情况已经产生了根本性的变化。例如在70年代末定义的微型计算机演变出来的个人计算机PC其处理速度已远远超过了当年对大、中、小型计算机的定义。
8
嵌入式系统的概念 随着计算机技术对其它行业的广泛渗透和与其它行业应用技术的相互结合,以应用为中心的分类方法变得似乎更加切合实际发展;
按计算机的嵌入式应用和非嵌入式应用将其分为通用计算机和嵌入式计算机。 而通用计算机具有一般计算机的基本标准形态,通过装配不同的应用软件,以基本雷同的面目出现并应用在社会的各个方面,其典型产品为PC;
9
嵌入式系统的概念 而非通用计算机的计算机-嵌入式计算机,则是非通用计算机形态的计算机应用,它是以作为嵌入式系统的核心部件的形式隐藏在各种装置、设备、产品和系统中。 因此嵌入式计算机是计算机技术发展中的一种计算机存在的形式,是从计算机技术的发展中分离出来的。
10
1.1.3嵌入式系统的特点 相比较而言国内的定义更全面一些,体现了嵌入式系统“嵌入”、“专用性”、“计算机”的基本要素和特征。
嵌入式系统是应用于特定环境下,针对特定用途来设计的系统,所以不同于通用计算机系统。 同样是计算机系统,嵌入式系统是针对具体应用设计的“专用系统”。 它的硬件和软件都必须高效率地设计、“量体裁衣”、去除冗余,力争在较少的资源上实现更高的性能。它与通用的计算机系统相比具有以下显著特点:
11
嵌入式系统的特点 具有较长的生命周期; 嵌入式系统的目标代码通常是固化在非易失性存储器(ROM,EPROM,EEPROM,FLASH)芯片中; 嵌入式系统使用的操作系统一般是实时操作系统(RTOS),系统有实时约束; 嵌入式系统需要专用开发工具和方法进行设计; 嵌入式微处理器通常包含专用调试电路; 嵌入式系统是技术密集、资金密集、高度分散、不断创新的知识集成系统;
12
嵌入式系统的特点 嵌入式系统通常是面向特定任务的,而不同于一般通用PC计算平台,是“专用”的计算机系统; 嵌入式系统运行环境差异很大;
嵌入式系统“嵌入”到对象的体系中,对对象、环境和嵌入式系统自身具有严格的要求,一般的嵌入式系统具有低功耗、体积小、集成度高、成本低等特点; 建立完整的嵌入式系统的系统测试和可靠性评估体系,保证嵌入式系统高效、可靠、稳定工作;
13
1.1.4嵌入式系统的分类 嵌入式系统按表现形式及使用硬件种类分为: 嵌入式系统按软件实时性需求分:
系统中使用含程序或算法的处理器的嵌入式系统 为芯片级嵌入; 系统中使用某个核心模块的嵌入式系统为模块级 嵌入; 嵌入式系统按软件实时性需求分: 非实时系统(如PDA); 软实时系统(如消费类产品); 硬实时系统(工业实时控制系统)
14
1.1.5嵌入式系统的应用范围
15
嵌入式系统的应用范围 嵌入式应用 信息家电 智能玩具 军事电子 通信设备 移动存贮 工控设备 智能仪表 汽车电子 网络设备 电子商务 网络
消费电子 嵌入式应用 信息家电 智能玩具 军事电子 通信设备 移动存贮 工控设备 智能仪表 汽车电子 网络设备 工业 军事国防 电子商务 网络
16
崭新的数字世界多彩的嵌入式应用 无线电的发展
崭新的数字世界多彩的嵌入式应用 无线电的发展 Evoke DAB收音机 1亿个晶体管 2-3个嵌入式处理器 BTH矿石收音机 单二极管 Bush收音机 7个晶体管 单二极管
17
诺基亚手机 超过7亿个晶体管 (多数用于存储器) 5-6个处理器
电话的发展 诺基亚手机 超过7亿个晶体管 (多数用于存储器) 5-6个处理器 BT DECT 1千万个晶体管 3个处理器 电话 无晶体管
18
= + 计算机的发展 Apple Macintosh 黑白显示器 1 MIP 处理器
Acorn Archimedes 彩色显示器 10 MIP 处理器 … RISC集 惠普-康柏掌上电脑 彩色显示 200 MIP 处理器 64MB 内存 … 袖珍型 = +
19
GarminGPS定位器 约1亿个晶体管 2-3个处理器 … + 4个人造卫星!
航海仪器的发展 地图、时钟、指南针 印刷及磁技术 无晶体管 Raytheon 船用航海仪器 GarminGPS定位器 约1亿个晶体管 2-3个处理器 … + 4个人造卫星!
20
GameBoy Advance 手持式彩色联网型
日用电器的发展 HP 照片质量彩色打印机 双处理器 GameBoy Advance 手持式彩色联网型 双处理器 Apple IPOD 100 张CDs 袖珍型 四处理器
21
其他产品发展 Sagem MorphoSmart Konica Revio Seagate Cheetah X15 Disc on Key
22
我们正步入一个崭新的“数字世界” 嵌入式应用 无线连接是 “数字胶水”
23
1.1.6嵌入式技术是中国IT发展的难得机遇 当前信息技术和网络技术高速发展和后PC(Post-PC)时代到来,嵌入式系统已经广泛地渗透到科学研究、工程设计、军事技术、各类产业和商业文化艺术以及人们的日常生活等方方面面中。 后PC时代,即非PC信息设备大显神通的时代,嵌入式系统正是非PC设备的主体,由于其应用广、领域特色突出,谁也无力独吞这一市场。 互联网技术在世界范围的扩展和中国通信事业的高速发展,已为我国开发嵌入式产品造就了广大市场,此外我国是人口大国,素有智力优势
24
1.2 嵌入式系统的组成结构 1.2.1 嵌入式系统硬件基本结构介绍 1.2.2 嵌入式系统软件的层次结构
1.2.3 启动程序BootLoader介绍
25
应用程序 实时操作系统(RTOS) 输入输出接口 处理器/ARM核 SOC/SOPC USB GPIO IIS LCD UART和IrDA
MMU/Cache SOC/SOPC USB GPIO IIS LCD UART和IrDA ADC/DAC FPGA/CPLD DSP/浮点运算协处理器 DMA 电源管理 典型的嵌入式系统组成 人机交互接口LCD/触摸屏、键盘、鼠标 设备驱动程序、HAL、BSP 文件系统/图形用户应用程序接口 驱动层 OS层 应用层 软件 硬件 以太网 看门狗及复位电路 Timer/RTC CAN Flash EEPROM SDRAM SRAM 内存 第一部分是嵌入式技术的发展,主要是 嵌入式计算机 嵌入式系统 嵌入式技术的发展趋势 嵌入式系统的基本特征 嵌入式系统的基本组成 嵌入式微处理器/DSP 嵌入式技术的发展系统芯片SoC 嵌入式操作系统 通过8部分的讨论,使大家对嵌入式系统系统有一个完整了解
26
1.2.1嵌入式系统硬件基本结构介绍 嵌入式系统的硬件架构如图下半部分所示,是以嵌入式处理器为中心,配置存储器、I/O设备、通信模块以及电源等必要的辅助接口组成。 嵌入式系统是“量身定做”的“专用计算机应用系统”,又不同于普通计算机组成,在实际应用中的嵌入式系统硬件配置非常精简,除了微处理器和基本的外围电路以外,其余的电路都可以根据需要和成本进行“裁剪”、“定制化”(Customize),非常经济、可靠。
27
嵌入式系统硬件基本结构介绍 嵌入式系统硬件核心是嵌入式微处理器,有时为了提高系统的信息处理能力,常常外接DSP和DSP协处理器(也可内部集成)完成高性能信号处理。 随着计算机技术、微电子技术、应用技术的不断发展和纳米芯片加工工艺技术的发展,以微处理器为核心的集成多种功能的SoC系统芯片已成为嵌入式系统的核心,在嵌入式系统设计中,要尽可能的选择能满足系统功能接口的SoC芯片,这些SoC集成了大量的外围USB、UART、以太网、AD/DA、IIS等功能模块。
28
嵌入式系统硬件基本结构介绍 可编程片上系统SOPC( System On Programmable Chip ) 结合了SoC和PLD、FPGA各自的技术优点,使得系统具有可编程的功能,是可编程逻辑器件在嵌入式应用中的完美体现,极大的提高了系统的在线升级、换代能力。 以SoC/SOPC为核心,可以用最少的外围部件和连接部件构成一个应用系统,满足系统的功能需求,也是嵌入式系统发展的一个方向 因此现代嵌入式设计是以处理器/SoC/SOPC为核心,完成系统设计的,其外围接口包括存储设备、通信接口设备、扩展设备接口和辅助的机电设备(电源、连接器、传感器等)构成硬件系统。对于嵌入式硬件的各个模块将在第三部分作全面介绍。
29
1.2.2嵌入式系统软件的层次结构 如当设计一个简单的应用程序时,可以不使用操作系统,但是当设计较复杂的程序时,可能就需要一个操作系统(OS)来管理、控制内存、多任务、周边资源等等。依据系统所提供的程序界面来编写应用程序,可以大大的减少应用程序员的负担。 对于使用操作系统的嵌入式系统来说,嵌入式系统软件结构一般包含四个层面:设备驱动层、实时操作系统(RTOS)、应用程序接口(API)层、实际应用程序层。有些资料将应用程序接口API归属于OS层,如图1-1的上半部分所示的嵌入式系统的软件结构,是按三层划分的。由于硬件电路的可裁减性和嵌入式系统本身的特点,其软件部分也是可裁减的。 对于功能简单仅包括应用程序的嵌入式系统一般不使用操作系统,仅有应用程序和设备驱动程序。现代高性能嵌入式系统应用越来越广泛,操作系统使用成为必然发展趋势。本节主要讲述的具有操作系统的嵌入式软件层次。
30
嵌入式系统软件的层次结构 具有操作系统的嵌入式软件层次 驱动层程序 实时操作系统(RTOS) 操作系统的应用程序接口(API) 应用程序
31
1.2.3启动程序BootLoader介绍 对于PC机,其开机后的初始化处理器配置、硬件初始化等操作是由BIOS(Basic Input /Output System)完成的,但对于嵌入式系统来说,出于经济性、价格方面考虑一般不配置BIOS,因此我们必须自行编写完成这些工作的程序。这就是所需要的开机程序,在嵌入式中称为BootLoader程序。 系统加电复位后,几乎所有的 CPU都从由复位地址上取指令。 因此在系统加电复位后,处理器将首先执行 Boot Loader 程序。
32
启动程序BootLoader介绍 BootLoader是系统加电后、操作系统内核或用户应用程序运行之前,首先必须运行的一段程序代码。通过这段程序,为最终调用操作系统内核、运行用户应用程序准备好正确的环境。 对于嵌入式系统来说,有的使用操作系统,也有的不使用操作系统,但在系统启动时都必须运行BootLoader,为系统运行准备好软硬件环境。 系统启动代码完成基本软硬件环境初始化后,对于有操作系统的情况下,启动操作系统、启动内存管理、任务调度、加载驱动程序等,最后执行应用程序或等待用户命令;对于没有操作系统的系统直接执行应用程序或等待用户命令
33
启动程序BootLoader介绍 系统的启动通常有两种方式,一种是可以直接从Flash启动,另一种是可以将压缩的内存映像文件从Flash(为节省Flash资源、提高速度)中复制、解压到RAM,再从RAM启动。 当电源打开时,一般的系统会去执行ROM(应用较多的是Flash)里面的启动代码。这些代码是用汇编语言编写的,其主要作用在于初始化CPU和板上的必备硬件如内存、中断控制器等。 有时候用户必须根据自己板子的硬件资源情况做适当的调整与修改。
34
1.3 嵌入式系统硬件组成 1.3.1嵌入式处理器 1.3.2典型嵌入式处理器介绍 1.3.3嵌入式SoC
1.3.4可编程片上系统—SOPC 1.3.5嵌入式外围接口电路和设备接口
35
1.3.1嵌入式处理器 嵌入式微处理器 嵌入式微控制器 嵌入式DSP
36
嵌入式微处理器 嵌入式微处理器就是和通用计算机的微处理器对应的CPU。
在应用中,早期的嵌入式系统是将微处理器装配在专门设计的电路板上,在电路板上设计了和嵌入式系统相关的功能模块,这样可以满足嵌入式系统体积小和功耗低的要求。 目前的嵌入式处理器主要包括:Am186/88、386EX、PowerPC、Motorola 68000、ARM、MIPS系列等等。
37
嵌入式微控制器 嵌入式微控制器又称为单片机,它将CPU、存储器(少量的RAM、ROM或两者都有)和其它外设封装在同一片集成电路里。
常见的有8051。嵌入式微控制器又称单片机,顾名思义,就是将整个计算机系统集成到一块芯片中。 和嵌入式微处理器相比,微控制器的最大特点是单片化,体积大大减小,从而使功耗和成本下降、可靠性提高。
38
嵌入式DSP 嵌入式DSP处理器有两个发展方向:
是嵌入式DSP处理器和嵌入式处理器经 过单片化设计,片上增加丰富的外设成为具有高性能DSP功能的SoC; 是在通用微处理器、微控制器或SoC中增加DSP协处理器,例如Intel的MCS-296和Siemens的TriCore。
39
1.3.2典型嵌入式处理器介绍 MIPS处理器 PowerPC处理器 Sparc处理器 ARM处理器
40
MIPS处理器 MIPS技术公司是一家设计制造高性能、高档次及嵌入式32位和64位处理器的厂商。在RISC处理器方面占有重要地位。
MIPS的意思是“无内部互锁流水级的微处理器”(Microprocessor without interlocked piped stages),最早是在80年代初期由美国斯坦福大学Hennessy教授领导的研究小组研制出来的。 1986年推出R2000处理器,1988年推出R3000处理器,1991年推出第一款64位商用微处理器R4000。之后,又陆续推出R8000(于1994年)、R10000(于1996年)和R12000(于1997年)等型号。之后,MIPS公司的战略发生变化
41
MIPS处理器 此外,24K微架构能符合各种新兴的服务趋势,为宽频存取以及还在不断发展的网络基础设施、通讯协议提供软件可编程的弹性。
在嵌入式方面,MIPS 系列微处理器是目前仅次于ARM的用得最多的处理器之一(1999年以前MIPS是世界上用得最多的处理器),其应用领域覆盖游戏机、路由器、激光打印机、掌上电脑等各个方面。MIPS的系统结构及设计理念比较先进,在设计理念上MIPS强调软硬件协同提高性能,同时简化硬件设计。
42
PowerPC处理器 PowerPC架构的特点是可伸缩性好,方便灵活。PowerPC处理器品种很多,既有通用的处理器,又有嵌入式控制器和内核,应用范围非常广泛,从高端的工作站、服务器到桌面计算机系统,从消费类电子产品到大型通信设备,无所不包。 处理器芯片主要型号是PowerPC 750,它于1997年研制成功,最高的工作频率可以达到500MHz,采用先进的铜线技术。该处理器有许多品种,以便适合各种不同的系统。包括IBM小型机、苹果电脑和其他系统。 嵌入式的PowerPC 405(主频最高为266MHz)和PowerPC 440(主频最高为550MHz)处理器内核可以用于各种SoC设计上,在电信、金融和其他许多行业具有广泛的应用。
43
Sparc处理器 Sun公司以其性能优秀的工作站闻名,这些工作站的心脏全都是采用Sun公司自己研发的Sparc芯片。
根据Sun公司未来的发展规划,在64位UltraSparc处理器方面,主要有3个系列,首先是可扩展式s系列,主要用于高性能、易扩展的多处理器系统。 目前UltraSparc Ⅲs的频率已经达到750MHz。将推出UltraSparc Ⅳs和UltraSparc Ⅴs等型号。其中UltraSparc Ⅳs的频率为1GHz,UltraSparc Ⅴs则为1.5GHz。其次是集成式i系列,它将多种系统功能集成在一个处理器上,为单处理器系统提供了更高的效益。已经推出的UltraSparc Ⅲi的频率达到700MHz,未来的UltraSparc Ⅳi的频率将达到1GHz。最后是嵌入式e系列,为用户提供理想的性能价格比,嵌入式应用包括瘦客户机、电缆调制解调器和网络接口等。Sun公司还将推出主频300、400、500MHz等版本的处理器。
44
1.3.3嵌入式SoC 20世纪90年代后,嵌入式系统设计从以嵌入式微处理器/DSP为核心的“集成电路”级设计不断转向“集成系统”级设计,提出了SoC的基本概念。 目前嵌入式系统已进入单片系统SoC的设计阶段,并开始逐步进入实用化、规范化阶段,集成电路已进入SoC的设计流程。
45
嵌入式SoC 系统芯片出现的原因是由于信息市场快速的变化和竞争的日益加剧,使得新产品在市场上的生命大为缩短,平均从36月到缩短为15-9月,而具有原始创新思想的产品的设计周期也大大缩短,这样Time-to-Market给SoC供了良好的发展空间。 随着高性能系统对系统复杂度、处理速度、功耗、功能多样化的需求,在信息处理与通信系统如网络、多媒体、移动通信中迫切需要开发高性能的SoC芯片;
46
嵌入式SoC 传统的通过多种芯片集成于系统的方法已很难满足实际发展中对高性能的需求,因此市场的需求对传统的IC设计和系统设计提出了新的挑战,使得整机和IC设计在一个产品的设计初期就必须紧密结合在一体。 另外,成本价格、可靠性等对集成电路设计者也同样提出新的挑战。因此不断发展和竞争日益激烈的信息市场在不断的推动着SoC技术的迅速发展。
47
嵌入式SoC 随着集成电路技术自身的不断发展,器件的特征尺寸不断缩小、集成度的不断提高、多种工艺及工艺集成技术的发展、设计方法的提高和EDA工具发展,为将一个应用系统融合为SoC从技术上提供了可能; 进入二十一世纪后,集成电路设计进入了高度集成的SoC时代,采用SoC设计技术,可以大幅度地提高系统的可靠性,减少系统的面积和功耗,降低系统成本,极大地提高系统的性能价格比。
48
嵌入式SoC SoC技术的出现表明了微电子设计由以往的IC(电路集成)向IS(系统集成)发展。因此从以功能设计为基础的传统IC设计流程必须转变到以功能整合为基础的SoC设计全新流程,而面向嵌入式系统的SoC设计将是未来推动集成电路设计业发展至关重要的问题 这种设计方法不是把系统所需要用到的所有集成电路简单地二次集成到1个芯片上,如果这样的实现单片系统,是不可能达到单片系统所要求的高密度、高速度、高性能、小体积、低电压、低功耗等指标的,特别是低功耗要求。
49
嵌入式SoC 单片系统设计要从整个系统性能要求出发,把微处理器、模型算法、芯片结构、外围器件各层次电路直至器件的设计紧密结合起来,并通过建立在全新理念上的系统软件和硬件的协同设计,在单个芯片上完成整个系统的功能。 有时也可能把系统做在几个芯片上。因为,实际上并不是所有的系统都能在一个芯片上实现;还可能因为实现某种单片系统的工艺成本太高,以至于失去商业价值; 目前,进入实用的单片系统还属简单的单片系统,如智能IC卡等。但几个著名的半导体厂商正在紧锣密鼓地研制和开发像单片PC这样的复杂单片系统。
50
嵌入式SoC 单片系统设计如果从零开始,这既不现实也无必要。因为除了设计不成熟、未经过时间考验,系统性能和质量得不到保证外,还会因为设计周期太长而失去商业价值。 为了加快单片系统设计周期和提高系统的可靠性,目前最有效的一个途径就是通过授权,使用已成熟且经过优化的IP内核模块来进行设计集成和二次开发,利用胶粘逻辑技术GLT(Glue Logic Technology),把这些IP内核模块嵌入到SoC中。
51
嵌入式SoC IP内核模块是单片系统设计的基础,究竟购买哪一级IP内核模块,要根据现有基础、时间、资金和其他条件权衡确定。购买硬IP内核模块风险最小,但付出最大,这是必然的。 但总的来说,通过购买IP内核模块不仅可以降低开发风险,还能节省开发费用,因为一般购买IP内核模块的费用要低于自己单独设计和验证的费用。
52
嵌入式SoC 当然,并不是所需要的IP内核模块都可以从市场上买得到。为了垄断市场,有一些公司开发出来的关键IP内核模块(至少暂时)是不愿意授权转让使用的。像这样的IP内核模块就不得不自己组织力量来开发。 而ARM公司以IP提供者的身份向各大半导体制造商出售知识产权,自己却不介入芯片的生产和销售。ARM芯核的卓越特性,使其成为32位嵌入式应用开发工程师的首选; 基于ARM处理器核的SoC芯片的应用开发得到广泛的应用。SoC芯片已经成为提高移动通信、网络、信息家电、高速计算、多媒体应用及军用电子系统性能的核心器件,是嵌入式系统的硬件核心。
53
嵌入式SoC举例 我们以HMS30C7202为例讲述一个实际的SoC。HMS30C7202是韩国现代公司开发的基于ARM720T内核、主频为70MHz、功能非常强大高集成度的片上系统,它片内外设的资源很多,广泛应用于PDA、智能电器、工业控制、网络设备、音频设备、电子图书、POS等。 图是HMS30C7202的功能和系统配置图。其片上外围设备包括UART、USB、PS2和CAN接口,I2S接口通过外部DAC提供高质量的音频输出。电源管理单元的特点是低功耗。
55
1.3.4可编程片上系统-SOPC 用可编程逻辑技术把整个系统放到一块硅片上,称作可编程片上系统SOPC 采用超深亚微米工艺技术;
使用一个以上的嵌入式处理器/DSP; 外部可以对芯片进行编程; 主要采用第三方IP进行设计; 足够的片上可编程逻辑资源; 具有处理器调试接口和FPGA编程接口; 可能包含部分可编程模拟电路; 单芯片、低功耗、微封装。
56
可编程片上系统-SOPC SOPC的技术基础: 超大规模可编程逻辑器件及其开发工具的成熟; FPGA密度提高; FPGA成本大大下降;
微处理器/DSP以IP核的形式方便的嵌入到FPGA中; 基于IP Core的开发模式深入人心。
57
SOPC基本特征 : 超大规模可编程逻辑器件及其开发工具的成熟; 微处理器/DSP以IP核的形式方便的嵌入到FPG
FPGA成本大大下降; FPGA密度提高; FPGA设计、综合、仿真、测试工具性能飞速提高。 微处理器/DSP以IP核的形式方便的嵌入到FPG 基于IP Core的开发模式深入人心。
58
可编程片上系统-SOPC SOPC设计技术涵盖了嵌入式系统设计技术的全部内容,除了以处理器和实时多任务操作系统(RTOS)为中心的软件设计技术、以PCB和信号完整性分析为基础的高速电路设计技术以外SOPC还涉及目前已引起普遍关注的软硬件协同设计技术。
59
可编程片上系统-SOPC 由于SOPC的主要逻辑设计是在可编程逻辑器件内部进行,而BGA封装已被广泛应用在微封装领域中,传统的调试设备,如逻辑分析仪和数字示波器,已很难进行直接测试分析, 因此,必将对以仿真技术为基础的软硬件协同设计技术提出更高的要求。同时,新的调试技术也将不断涌现出来。
60
1.3.5嵌入式外围接口电路和设备接口 根据外围设备的功能可分为以下5类 存储器类型 通信接口 输入输出设备 设备扩展接口 电源及辅助设备
61
存储器类型: 存储器是嵌入式系统中存储数据和程序的功能部件,目前常见的存储设备按使用的存储器类型分为:
静态易失型存储器(RAM,SRAM); 动态存储器(DRAM); 非易失性存储器ROM(MASK ROMEPROM, EEPROM,FLASH); 硬盘、软盘、CD-ROM等。
62
通信接口 目前存在的所有计算机通信接口在嵌入式领域中都有 其广泛的应用,应用最为广泛的接口设备包括 RS-232接口(串口UART)
目前存在的所有计算机通信接口在嵌入式领域中都有 其广泛的应用,应用最为广泛的接口设备包括 RS-232接口(串口UART) USB接口(通用串行总线接口) IrDA(Infra Red Data Association-红外线接口)、 SPI(串行外围设备接口)、 I2C、CAN总线接口、 蓝牙接口(Bluetooth) Ethernet(以太网接口)、 IEEE1394接口和通用可编程接口GPIO。
63
输入输出设备 CRT、LCD和触摸屏等,构成了嵌入式系 统中重要的信息输入输出设备,应用广泛。 触摸屏可以方便的实现鼠标和键盘功能。
64
设备扩展接口 简单的嵌入式系统如具有简单的记事本、备忘录以及日程计划等功能的PDA,它所需要存储的数据量并不需要很大的内存。
由于目前的嵌入式系统功能越来越复杂,需要大容量内存,大的内存使得系统成本和体积加大。 目前一些高端的嵌入式系统都会预留可扩展存储设备接口,为日后用户有特别需求时,可购买符合扩展接口规格的装置直接接入系统使用。 常用的扩展卡还有各种CF卡、SD卡、Memory Stick等。目前高端的嵌入式系统都留有一定的扩展卡接口。
65
电源及辅助设备 嵌人式系统力求外观小型化、重量轻以及电源使用寿命长,例如移动电话或PDA,体积较大或者过重的机型已经被淘汰。
目前发展的目标是体积小、易携带和外观设计新颖等。在便携式嵌入式系统的应用中,必须特别关注电源装置等辅助设备。
66
1.4 嵌入式操作系统 1.4.1嵌入式操作系统 1.4.2嵌入式实时操作系统 1.4.3典型嵌入式操作系统介绍
67
1.4.1嵌入式操作系统 计算机由硬件和软件两部分组成,操作系统OS(Operating System)是配置在计算机硬件上的第一层软件,在计算机系统中占据了特殊重要的地位; 操作系统可以解释或理解为补平硬件差异的界面或是说隐藏硬件,让应用程序可以在上面运行。 通过由操作系统统一所提供出来的系统界面来写应用程序,无须考虑到不同硬件所造成的差异,让程序设计人员能够专注于所擅长领域的开发
68
嵌入式操作系统 从用户的观点看OS是用户与计算机硬件系统之间的接口,用户在OS的帮助下能够方便、快捷、安全、可靠地操纵计算机硬件和运行自己的程序; 从资源管理观点可以把OS视为计算机系统资源的管理者。 嵌入式操作系统就是支持嵌入式系统工作的操作系统。它在知识体系和技术本质上与通用操作系统没有太大的区别,一般用于比较复杂的嵌入式系统软件开发中
69
嵌入式操作系统 嵌入式系统一般具有实时特点。所谓实时系统,是指一个优先等级高的任务能够获得立即的、没有延迟的服务,它不需要等候任何其它任务。而且在得到CPU的使用权后,它可以一直执行到工作结束或是有更高等级的进程出现为止。 嵌入式操作系统是嵌入式系统的灵魂,它的出现大大提高了嵌入式系统开发的效率,减少了系统开发的总工作量,而且提高了嵌入式应用软件的可移植性。
70
嵌入式操作系统 嵌入式操作系统就是支持嵌入式系统工作的操作系统。
嵌入式系统一般具有实时特点。所谓实时系统,是指一个优先等级高的任务能够获得立即的、没有延迟的服务,它不需要等候任何其它任务。而且在得到CPU的使用权后,它可以一直执行到工作结束或是有更高等级的进程出现为止。 嵌入式系统的需要,嵌入式操作系统必须包括操作系统的一些最基本的功能,如中断处理与进程调度,用户可以通过API来使用操作系统。
71
嵌入式操作系统 嵌入式操作系统相对于一般操作系统而言,仅指操作系统的内核(或者微内核),其他的诸如窗口系统界面或是通讯协议等模块,可以另外选择,目前大多数的嵌入式操作系统必须提供以下管理功能: 多任务管理 存储管理 周边资源管理 中断管理
72
1.4.2嵌入式实时操作系统 大多嵌入式系统应用在实时环境中,因此嵌入式操作系统跟实时(Real-Time)操作系统密切联系在一起。
实时操作系统可以根据实际应用环境的要求对内核进行剪裁和重新配置,组成可根据实际的不同应用领域而有所不同。但以下几个重要组成部分是不太变化的:实时内核、网络组件、文件系统和图形接口等。
73
文件系统/图形用户接口 应用程序接口(API) 基本模块 应用程序 OS层 应用层 文件管理进程调度 数据库模块 网络模块调度 扩展模块
驱动程序、硬件抽象层、板级支持包 文件系统/图形用户接口 驱动层 OS层 应用层 扩展模块 基本模块 进程调度 内存管理调度 文件管理进程调度 OS核 图形驱动 数据库模块 应用程序接口(API) 硬件 (Hardware) 网络模块调度 图1- 4 RTOS体系结构图
74
1.4.3典型嵌入式操作系统介绍 嵌入式操作系统的种类繁多,但大体上可分为两种——商用型和免费型。 商用型的操作系统主要有VxWorks、Windows CE 、Psos、Palm OS、OS-9、LynxOS、QNX、LYNX等 免费型的操作系统主要有Linux和µC/OS-II 嵌入式系统需要的是一套高度简练、界面友善、质量可靠、应用广泛、易开发、多任务,并且价格低廉的操作系统
75
典型嵌入式操作系统介绍 µC/OS-II 嵌入式操作系统内核 VxWorks嵌入式实时操作系统 WinCE操作系统 Linux操作系统
76
µC/OS-II 嵌入式操作系统内核 µC/OS-II是一个可裁减的、源码开放的、结构小巧、可剥夺型的实时多任务内核,主要面向中小型嵌入式系统,具有执行效率高、占用空间小、可移植性强、实时性能优良和可扩展性强等特点。 µC/OS-II中最多可以支持64个任务,分别对应优先级0~63,其中0为最高优先级。实时内核在任何时候都是运行就绪了的最高优先级的任务,是真正的实时操作系统。 µC/OS-II最大程度上使用ANSI C语言开发,现已成功移植到近40多种处理器体系上。
77
µC/OS-II 嵌入式操作系统内核 µC/OS-II结构小巧,最小内核可编译至2k(这样的内核没有太大实用性),即使包含全部功能如信号量、消息邮箱、消息队列及相关函数等,编译后的µC/OS-II内核也仅有6~10kb,所以它比较适用于小型控制系统。 µC/OS-II具有良好的扩展性能,比如系统本身不支持文件系统,但是如果需要的话也可自行加入文件系统的内容。
78
WinCE操作系统 Microsoft Windows CE是针对有限资源的平台而设计的多线程、完整优先权、多任务的操作系统,但它不是一个硬实时操作系统。 高度模块化是WinCE的一个鲜为人知的特性,这一特性有利与它对从掌上电脑到专用的工业控制器的用户电子设备进行定制。 WinCE操作系统的基本内核需要至少200K的ROM,它支持 Win32 API子集、多种用户界面硬件、多种的串行和网络通讯技术、COM/OLE和其他的进程间通讯的先进方法。Microsoft公司为Windows CE提供了Platform Builder和Embedded Visual Studio开发工具。
79
WinCE操作系统 Windows CE有五个主要的模块 内核模块:支持进程和线程处理及内存管理 等基 本服务;
内核系统调用接口模块:允许应用软件访问操作系 统提供的服务; 文件系统模块:支持DOS等格式的文件系统; 图形窗口和事件子系统模块:控制图形显示, 并 提供Windows GUI界面; 通讯模块:允许同其他的设备之间进行信息交换。
80
WinCE操作系统 Windows CE嵌入式操作系统最大的特点是能提供与PC机类似的图形界面和主要的应用程序。
Windows CE嵌入式操作系统的界面显示大多数在Windows里出现的标准部件,包括桌面、任务栏、窗口、图标和控件等等。 这样只要是对PC机上的Windows比较熟悉的用户,可以很快地使用基于Windows CE嵌入式操作系统的嵌入式设备。
82
1.5 嵌入式应用软件开发 1.5.1嵌入式软件开发的特点和技术挑战 1.5.2嵌入式软件开发环境 1.5.3嵌入式应用软件开发的基本流程
1.5.4嵌入式软件开发的可移植性和可重用性
83
1.5.1嵌入式软件开发的特点和技术挑战 嵌入式软件开发需要软硬件开发环境和工具 嵌入式软硬件必须协同设计 需要新的任务设计方法
开发过程完成后,系统应用程序代码需要固化到系统中进行功能、性能和可靠性测试 技术挑战:软件的要求更高,开发工作量和难度更大
84
1.5.2嵌入式软件开发环境 1)交叉开发环境 交叉开发软件一般为一个整合编辑、编译汇编链接、调试、工程管理及函数库等功能模块的集成开发环境IDE(Intergrated Development Environment)。
85
嵌入式软件开发环境 嵌入式交叉开发环境的宿主机到目标机的调试通道一般有以下三种: 在线调试(On-Chip Debugging,OCD)
或在线仿真(On-Chip Emulator) * 基于JTAG的ICD(In-Circuit Debugger) * 背景调试模式(BDM) 在线仿真器ICE(In-Circuit Emulator) ROM监控器(ROM monitor)
86
嵌入式软件开发环境 2)软件模拟环境 软件模拟环境也称为指令集模拟器IIS(Instruction Set Simulator)
软件模拟不可能完全代替真正的硬件环境,这种模拟调试只能作为一种初步调试,主要是用作用户程序的模拟运行,用来检查语法、程序的结构等简单错误,用户最终还必须在真实的硬件环境中实际运行调试,完成整个应用的开发。
87
嵌入式软件开发环境 3)评估电路板 一般用来作为开发者使用的学习板、实验板,可以作为应用目标板出来之前的软件测试、硬件调试的电路板
88
1.5.3嵌入式应用软件开发的基本流程 图1-7 嵌入式软件开发流程图 链接器 命令文件 编译预处理 编译器 汇编器 Archive工具
图1-7 嵌入式软件开发流程图 链接器 命令文件 编译预处理 编译器 汇编器 Archive工具 链接器和定位器 头文件 (*.h,*.hpp) 可重定位 目标文件 库文件 (*.a,*.lib) C/C++源代码 汇编源代码 源文件列表 源代码编辑阶段 源文件 编译阶 段 链接与重定位 调试与 下载阶 段 重定位文件表 (*.o,*.a) 共享目标文件 可执行映象 (*.elf,*.coff) 链接映射文件 (*.map) 设备程序员 目标开发系统
89
嵌入式应用软件开发的基本流程 基于交叉开发环境的嵌人式应用软件开发主要分如下几个步骤:开发环境的建立、源代码编辑阶段、交叉编译和链接、重定位和下载、联机调试五个基本阶段。下面分别对五个阶段进行讲述: 开发环境建立 源文件编辑阶段 编译 链接 下载 调试
90
1.5.4嵌入式软件开发的可移植性和可重用性 在确保软件的正确性、实时性的前提下,必须关注软件的可移植性和可重用性。 嵌入式软件与通用软件的不同在于嵌入式应用软件高度依赖于目标应用的软硬件环境,软件的部分任务功能函数由和处理器密切相关的汇编语言完成,可移植性差。 一个运行良好的嵌入式软件或其中的部分子程序可能在今后的开发中被应用于类似的应用领域。原有的代码已被反复应用和维护,具有更好的稳定性。在原有的代码上进行移植将会减少开发的周期、提高开发效率、节约开发成本
91
嵌入式软件开发的可移植性和可重用性 采用下面的方法可以提高应用软件的可移植性和可重用性。 多用高级语言少用或者不用汇编语言 将不可移植部分局域化 提高代码的可重用性
92
1.6 嵌入式系统开发流程 1.6.1嵌入式开发的考虑要素 1.6.2软硬件协同设计 1.6.3嵌入式开发的基本流程
93
1.6.1嵌入式开发的考虑要素 在嵌入式系统设计开发时必须考虑以下因素: 功能可靠实用、便于升级 实时并发处理,及时响应
体积符合要求,结构紧凑 接口符合规范,易于操作 配置精简稳定,维护便利 功耗管理严格,成本低廉
94
1.6.2软硬件协同设计 嵌入式系统设计是使用一组物理硬件和软件来完成所需功能的过程。系统是指任何由硬件、软件或者两者的结合来构成的功能设备。 由于嵌入式系统是一个专用的系统,所以嵌入式产品的设计过程中,软件设计和硬件设计是紧密结合、相互协调的。这就产生了一种全新的发展中的设计理论软硬件协同设计 这种方法的特点是在设计时,从系统功能的实现考虑,把实现时的软硬件同时考虑进去,硬件设计包括芯片级“功能定制”设计。既可以最大限度的利用有效资源、缩短开发周期,又能取得更好的设计效果。
95
软硬件协同设计
96
1.6.3嵌入式开发的基本流程 系统定义与需求分析 系统设计方案的初步确立 初步设计方案性价比评估与方案评审论证 完善初步方案、初步方案实施
软硬件集成测试 系统功能性能测试及可靠性测试
97
1.7 嵌入式系统的发展趋势 1.7.1即将来临的以ARM为核心的32位浪潮 1.7.2嵌入式系统与Internet的融合
1.7.3未来嵌入式系统的发展趋势
98
1.7.1即将来临的以ARM为核心的32位浪潮 嵌入式系统应用的高低端 即将来临的32位浪潮 32位向ARM 转移,形成ARM市场主导地位
99
1.7.2嵌入式系统与Internet的融合 计算机应用的普及、互联网技术的实用以及纳米微电子加工技术的突破,正有力推动着21世纪工业生产、商业活动、科学实验和家庭生活等领域自动化和信息化进程。过程生产自动化、大范围电子商务活动、高度协同科学实验以及现代化家庭起居,都为高端嵌入式产品造就了崭新、巨大的商机。 随着因特网技术的不断成熟、带宽传送速度的提高、网上提供的信息内容日趋丰富、应用项目多种多样。像电话手机、电话座机及电冰箱、微波炉等嵌入式电子设备的功能不再单一,电气结构也更为复杂。这些都可能成为嵌入式Internet的应用。
100
1.7.3未来嵌入式系统的发展趋势 互联网的普及、微电子加工工艺的提高、3C(Computer,Communication,Consumer)技术的普遍融合、使用者的需求增多、信息服务应用生活化、技术的渗透性和融合性、设备的关联性以及个性化服务的普遍需求,21世纪,人们要求移动化处理信息,即随时随地获取信息、处理信息,这些已成为信息社会把握先机而制胜的必然武器。日益发展的嵌入式技术已能够满足人们可以随时随地利用任何设备、手段接收信息、处理信息和发布信息的需求,下图是这种未来嵌入式技术发展的示意图,这些必将进一步刺激和加速嵌入式技术的发展,造就更加广泛的市场空间。
101
未来嵌入式系统的发展趋势 未来嵌入式技术发展
Similar presentations