《嵌入式系统开发基础.ppt》由会员分享,可在线阅读,更多相关《嵌入式系统开发基础.ppt(59页珍藏版)》请在三一办公上搜索。
1、第 1 章嵌入式系统开发基础,内容包括:嵌入式计算机的历史由来嵌入式系统的定义嵌入式系统的基本特点嵌入式系统的分类及应用嵌入式系统软硬件各部分组成嵌入式系统的开发流程嵌入式技术的发展趋势等学习目的:建立起嵌入式系统整体概念,本章主要内容有,1.1 嵌入式系统基本概念,1.2 嵌入式系统的组成结构,1.3 嵌入式系统硬件组成,1.4 嵌入式操作系统,1.5 嵌入式应用软件开发,1.6 嵌入式系统开发流程,1.7 嵌入式系统发展的趋势,1.1嵌入式系统基本概念,嵌入式计算机嵌入式系统的概念嵌入式系统的特点嵌入式系统的分类嵌入式系统的应用范围嵌入式技术是中国IT发展的难得机遇,1、嵌入式计算机的发展
2、历史,在电子计算机发展的初期,计算机一直是“供养”在特殊的机房中的大型、昂贵的专用设备,主要是实现一些特殊的数值计算。直到20世纪70年代微处理器的出现,计算机应用才出现了历史性的变化。这也使计算机摘掉神圣的光环走下了神坛,步入平民化的时代。同时微处理器表现出的智能化水平引起了设备制造、机电控制等专业人士的兴趣,要求将微型机嵌入到一个控制对象的体系中,实现对象体系的智能化控制。,1、嵌入式计算机的发展历史,微处理器的问世极大的促进了控制领域的发展,复杂的控制系统最初只是由简单的设备组成,以微处理器这样的部件作为主要的控制和反馈器件,极大的提高了系统的可控性和智能化。经过发展,到80年代初微处理
3、器及微控制器各自已发展为一个庞大的家族,以Intel公司x86为主流的应用于个人计算机PC的微处理器格局已形成。嵌入式系统定义为:以应用为中心,以计算机技术为基础,软硬件可裁剪,适用应用系统对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统,1、嵌入式计算机的发展历史,综上所述:嵌入式计算机是诞生于微处理器发展时代早期嵌入式计算机是将一个计算机嵌入到一个具体应用的控制对象的体系中去,这些是嵌入式系统发展的起点嵌入式系统的问世标志着计算机进入了通用计算机与嵌入式计算机两大分支并行发展时代,从而导致20世纪末计算机应用的高速发展,并由此引发了计算机分类方式的变化。,2、嵌入式系统的概念,传
4、统的计算机分类是按照计算机的处理字长、体系结构、运算速度、结构规模、适用领域进行的,如通常所说的大型计算机、中型机、小型机和微型计算机,并以此标准来组织学科和产业分工,这种分类方法也沿袭了多年。随着近20年来微电子技术、计算机技术和移动通信技术的迅速发展以及网络技术的广泛应用,实际情况已经产生了根本性的变化。例如在70年代末定义的微型计算机演变出来的个人计算机PC其处理速度已远远超过了当年对大、中、小型计算机的定义。,2、嵌入式系统的概念,随着计算机技术对其它行业的广泛渗透和与其它行业应用技术的相互结合,以应用为中心的分类方法变得似乎更加切合实际发展按计算机的嵌入式应用和非嵌入式应用将其分为通
5、用计算机和嵌入式计算机通用计算机具有一般计算机的基本标准形态,通过装配不同的应用软件,以基本雷同的面目出现并应用在社会的各个方面,其典型产品为PC,2、嵌入式系统的概念,专用计算机的计算机嵌入式计算机,则是非通用计算机形态的计算机应用,它通常是作为嵌入式系统的核心部件隐藏在各种装置、设备、产品和应用系统中总之,嵌入式计算机是计算机技术发展中的一种计算机存在的形式,是从计算机技术的发展中分离出来的,3、嵌入式系统的特点,嵌入式系统是应用于特定环境下,针对特定用途来设计的系统,所以不同于通用计算机系统,是针对具体应用设计的“专用系统”,它的硬件和软件都必须高效率地设计、“量体裁衣”、去除冗余,力争
6、在较少的资源上实现更高的性能。嵌入式系统与通用的计算机系统相比具有以下显著特点:,3、嵌入式系统的特点,具有较长的生命周期;嵌入式系统的目标代码通常是固化在非易失性存储器(ROM,EPROM,EEPROM,FLASH)芯片中;嵌入式系统使用的操作系统一般是实时操作系统(RTOS),系统有实时约束;嵌入式系统需要专用开发工具和方法进行设计;嵌入式微处理器通常包含专用调试电路;嵌入式系统是技术密集、资金密集、高度分散、不断创新的知识集成系统;,3、嵌入式系统的特点,嵌入式系统通常是面向特定任务的,而不同于一般通用PC计算平台,是“专用”的计算机系统;嵌入式系统运行环境差异很大;嵌入式系统比通用PC
7、系统资源少得多;嵌入式系统“嵌入”到对象的体系中,对对象、环境和嵌入式系统自身具有严格的要求,一般的嵌入式系统具有低功耗、体积小、集成度高、成本低等特点;需要建立完整的嵌入式系统的系统测试和可靠性评估体系,保证嵌入式系统高效、可靠、稳定工作;,4、嵌入式系统的分类,嵌入式系统按表现形式及使用硬件种类分为:系统中使用含程序或算法的处理器的嵌入式系统为芯片级嵌入;系统中使用某个核心模块的嵌入式系统为模块级嵌入;嵌入式系统按软件实时性需求分:非实时系统(如PDA);软实时系统(如消费类产品);硬实时系统(工业实时控制系统),5、嵌入式系统的应用范围,5、嵌入式系统的应用范围,6、嵌入式技术是中国IT
8、发展的难得机遇,当前信息技术和网络技术高速发展和后PC(Post-PC)时代到来,嵌入式系统已经广泛地渗透到科学研究、工程设计、军事技术、各类产业和商业文化艺术以及人们的日常生活等方方面面中。后PC时代,即非PC信息设备大显神通的时代,嵌入式系统正是非PC设备的主体,由于其应用广、领域特色突出,谁也无力独吞这一市场。互联网技术在世界范围的扩展和中国通信事业的高速发展,已为我国开发嵌入式产品造就了广大市场,此外我国是人口大国,素有智力优势。,1.2 嵌入式系统的组成结构,嵌入式系统硬件基本结构介绍 嵌入式系统软件的层次结构启动程序BootLoader介绍,1、嵌入式系统硬件基本结构介绍,嵌入式系
9、统的硬件架构如图下半部分所示,是以嵌入式处理器为中心,配置存储器、I/O设备、通信模块以及电源等必要的辅助接口组成:嵌入式系统是“量身定做”的“专用计算机应用系统”,又不同于普通计算机组成,在实际应用中的嵌入式系统硬件配置非常精简,除了微处理器和基本的外围电路以外,其余的电路都可以根据需要和成本进行“裁剪”、“定制化”(Customize),非常经济、可靠。,1、嵌入式系统硬件基本结构介绍,嵌入式系统硬件核心是嵌入式微处理器,有时为了提高系统的信息处理能力,常常外接DSP和DSP协处理器(也可内部集成)完成高性能信号处理。随着计算机技术、微电子技术、应用技术的不断发展和纳米芯片加工工艺技术的发
10、展,以微处理器为核心的集成多种功能的SoC系统芯片已成为嵌入式系统的核心,在嵌入式系统设计中,要尽可能的选择能满足系统功能接口的SoC芯片,这些SoC集成了大量的外围USB、UART、以太网、AD/DA、IIS等功能模块。,1、嵌入式系统硬件基本结构介绍,可编程片上系统SOPC(System On Programmable Chip)结合了SoC和PLD、FPGA各自的技术优点,使得系统具有可编程的功能,是可编程逻辑器件在嵌入式应用中的完美体现,极大的提高了系统的在线升级、换代能力。以SoC/SOPC为核心,可以用最少的外围部件和连接部件构成一个应用系统,满足系统的功能需求,也是嵌入式系统发展
11、的一个方向总之,现代嵌入式设计是以处理器/SoC/SOPC为核心完成系统设计的,其外围接口包括存储设备、通信接口设备、扩展设备接口和辅助的机电设备(电源、连接器、传感器等)构成硬件系统。对于嵌入式硬件的各个模块将在第三部分作全面介绍。,2、嵌入式系统软件的层次结构,如当设计一个简单的应用程序时,可以不使用操作系统,但是当设计较复杂的程序时,可能就需要一个操作系统(OS)来管理、控制内存、多任务、周边资源等等。依据系统所提供的程序界面来编写应用程序,可以大大的减少应用程序员的负担。对于使用操作系统的嵌入式系统来说,嵌入式系统软件结构一般包含四个层面:设备驱动层、实时操作系统(RTOS)、应用程序
12、接口(API)层、实际应用程序层。有些资料将应用程序接口API归属于OS层,如图上半部分所示的嵌入式系统的软件结构,是按三层划分的。由于硬件电路的可裁减性和嵌入式系统本身的特点,其软件部分也是可裁减的。对于功能简单仅包括应用程序的嵌入式系统一般不使用操作系统,仅有应用程序和设备驱动程序。现代高性能嵌入式系统应用越来越广泛,操作系统使用成为必然发展趋势。,2、嵌入式系统软件的层次结构,具有操作系统的嵌入式软件层次驱动层程序 实时操作系统(RTOS)操作系统的应用程序接口(API)应用程序,3 启动程序BootLoader介绍,对于PC机,其开机后的初始化处理器配置、硬件初始化等操作是由BIOS(
13、Basic Input/Output System)完成的,但对于嵌入式系统来说,出于专用性、经济性、价格方面考虑一般不配置BIOS,因此我们必须自行编写完成这些工作的程序。这就是所需要的开机程序,在嵌入式中称为BootLoader程序。系统加电复位后,几乎所有的 CPU都从由复位地址上取指令。强调:在系统加电复位后,处理器将首先执行 Boot Loader 程序。,3 启动程序BootLoader介绍,BootLoader是系统加电后、操作系统内核或用户应用程序运行之前,首先必须运行的一段程序代码。通过这段程序,为最终调用操作系统内核、运行用户应用程序准备好正确的环境。对于嵌入式系统来说,有
14、的使用操作系统,也有的不使用操作系统,但在系统启动时都必须运行BootLoader,为系统运行准备好软硬件环境。系统启动代码完成基本软硬件环境初始化后,对于有操作系统的情况下,启动操作系统、启动内存管理、任务调度、加载驱动程序等,最后执行应用程序或等待用户命令;对于没有操作系统的系统直接执行应用程序或等待用户命令,3 启动程序BootLoader介绍,系统的启动通常有两种方式,一种是可以直接从Flash启动,另一种是可以将压缩的内存映像文件从Flash(为节省Flash资源、提高速度)中复制、解压到RAM,再从RAM启动。当电源打开时,一般的系统会去执行ROM(应用较多的是Flash)里面的启
15、动代码。这些代码是用汇编语言编写的,其主要作用在于初始化CPU和板上的必备硬件如内存、中断控制器等。有时候用户必须根据自己板子的硬件资源情况做适当的调整与修改。,1.3 嵌入式系统硬件组成,嵌入式处理器典型嵌入式处理器介绍嵌入式SoC可编程片上系统SOPC嵌入式外围接口电路和设备接口,1、嵌入式处理器,嵌入式微控制器(MCU)嵌入式微处理器(MPU)嵌入式DSP,2、典型嵌入式处理器介绍,MIPS处理器PowerPC处理器 Sparc处理器 ARM处理器,3、嵌入式SoC,SoC技术的出现表明了微电子设计由以往的IC(电路集成)向IS(系统集成)发展。面向嵌入式系统的SoC设计将是未来推动集成
16、电路设计业发展至关重要的问题。IP内核模块是单片系统设计的基础 以HMS30C7202为例来看实际的SoC,4、可编程片上系统SOPC,采用超深亚微米工艺技术;使用一个以上的嵌入式处理器/DSP;外部可以对芯片进行编程;主要采用第三方IP进行设计;足够的片上可编程逻辑资源;具有处理器调试接口和FPGA编程接口;可能包含部分可编程模拟电路;单芯片、低功耗、微封装。,用可编程逻辑技术把整个系统放到一块硅片上,称作可编程片上系统SOPC,4、可编程片上系统SOPC,SOPC的技术基础:超大规模可编程逻辑器件及其开发工具的成熟;FPGA密度提高;FPGA成本大大下降;FPGA设计、综合、仿真、测试工具
17、性能飞速提高。微处理器/DSP以IP核的形式方便的嵌入到FPGA中;基于IP Core的开发模式深入人心。,5、嵌入式外围接口电路和设备接口,根据外围设备的功能可分为以下5类 存储器类型通信接口输入输出设备 设备扩展接口 电源及辅助设备,1.4 嵌入式操作系统,嵌入式操作系统嵌入式实时操作系统典型嵌入式操作系统介绍,1、嵌入式操作系统,嵌入式操作系统就是支持嵌入式系统工作的操作系统。嵌入式系统一般具有实时特点。所谓实时系统,是指一个优先等级高的任务能够获得立即的、没有延迟的服务,它不需要等候任何其它任务。而且在得到CPU的使用权后,它可以一直执行到工作结束或是有更高等级的进程出现为止。嵌入式系
18、统的需要,嵌入式操作系统必须包括操作系统的一些最基本的功能,如中断处理与进程调度,用户可以通过API来使用操作系统。,1、嵌入式操作系统,嵌入式操作系统相对于一般操作系统而言,仅指操作系统的内核(或者微内核),其他的诸如窗口系统界面或是通讯协议等模块,可以另外选择,目前大多数的嵌入式操作系统必须提供以下管理功能:多任务管理 存储管理 周边资源管理 中断管理,2、嵌入式实时操作系统,大多嵌入式系统应用在实时环境中,因此嵌入式操作系统跟实时(Real-Time)操作系统密切联系在一起。实时操作系统可以根据实际应用环境的要求对内核进行剪裁和重新配置,组成可根据实际的不同应用领域而有所不同。但以下几个
19、重要组成部分是不太变化的:实时内核、网络组件、文件系统和图形接口等。RTOS的结构如图所示,3、典型嵌入式操作系统介绍,嵌入式操作系统的种类繁多,但大体上可分为两种商用型和免费型。商用型的操作系统主要有VxWorks、Windows CE、Psos、Palm OS、OS-9、LynxOS、QNX、LYNX等 免费型的操作系统主要有Linux和C/OS-II 嵌入式系统需要的是一套高度简练、界面友善、质量可靠、应用广泛、易开发、多任务,并且价格低廉的操作系统,3、典型嵌入式操作系统介绍,C/OS-II 嵌入式操作系统内核 VxWorks嵌入式实时操作系统 WinCE操作系统 Linux操作系统,
20、1.5 嵌入式应用软件开发,嵌入式软件开发的特点和技术挑战嵌入式软件开发环境嵌入式应用软件开发的基本流程嵌入式软件开发的可移植性和可重用性,1、嵌入式软件开发的特点和技术挑战,嵌入式软件开发需要软硬件开发环境和工具 嵌入式软硬件必须协同设计 需要新的任务设计方法 开发过程完成后,系统应用程序代码需要固化到系统中进行功能、性能和可靠性测试 技术挑战:软件要求更高,开发工作量和难度更大,2、嵌入式软件开发环境,1)交叉开发环境 交叉开发软件一般为一个整合了编辑、编译汇编、链接、调试、工程管理及函数库等功能模块的集成开发环境IDE(Intergrated Development Environmen
21、t)。,2、嵌入式软件开发环境,嵌入式交叉开发环境的宿主机到目标机的调试通道一般有以下三种:在线调试(On-Chip Debugging,OCD)或在线仿真(On-Chip Emulator)*基于JTAG的ICD(In-Circuit Debugger)*背景调试模式(BDM)在线仿真器ICE(In-Circuit Emulator)ROM监控器(ROM monitor),2、嵌入式软件开发环境,2)软件模拟环境 软件模拟环境也称为指令集模拟器(Instruction Set Simulator)软件模拟不可能完全代替真正的硬件环境,这种模拟调试只能作为一种初步调试,主要是用作用户程序的模拟
22、运行,用来检查语法、程序的结构等简单错误,用户最终还必须在真实的硬件环境中实际运行调试,完成整个应用的开发。,2、嵌入式软件开发环境,3)评估电路板 一般用来作为开发者使用的学习板、实验板,可以作为应用目标板出来之前的软件测试、硬件调试的电路板,3、嵌入式应用软件开发的基本流程,3、嵌入式应用软件开发的基本流程,基于交叉开发环境的嵌人式应用软件开发主要分如下几个步骤:开发环境的建立、源代码编辑阶段、交叉编译和链接、重定位和下载、联机调试五个基本阶段:开发环境建立 源文件编辑阶段 编译 链接 下载 调试,4、嵌入式软件开发的可移植性和可重用性,在确保软件的正确性、实时性的前提下,必须关注软件的可
23、移植性和可重用性。嵌入式软件与通用软件的不同在于嵌入式应用软件高度依赖于目标应用的软硬件环境,软件的部分任务功能函数由和处理器密切相关的汇编语言完成,可移植性差。一个运行良好的嵌入式软件或其中的部分子程序可能在今后的开发中被应用于类似的应用领域。原有的代码已被反复应用和维护,具有更好的稳定性。在原有的代码上进行移植将会减少开发的周期、提高开发效率、节约开发成本,4、嵌入式软件开发的可移植性和可重用性,采用下面的方法可以提高应用软件的可移植性和可重用性。多用高级语言少用或者不用汇编语言 将不可移植部分局域化 提高代码的可重用性,1.6 嵌入式系统开发流程,嵌入式开发的考虑要素软硬件协同设计嵌入式
24、开发的基本流程,1、嵌入式开发的考虑要素,在嵌入式系统设计开发时必须考虑以下因素:功能可靠实用、便于升级实时并发处理,及时响应体积符合要求,结构紧凑接口符合规范,易于操作配置精简稳定,维护便利功耗管理严格,成本低廉,2、软硬件协同设计,嵌入式系统设计是使用一组物理硬件和软件来完成所需功能的过程。系统是指任何由硬件、软件或者两者的结合来构成的功能设备。由于嵌入式系统是一个专用的系统,所以嵌入式产品的设计过程中,软件设计和硬件设计是紧密结合、相互协调的。这就产生了一种全新的发展中的设计理论软硬件协同设计特点是在设计时,从系统功能的实现考虑,把实现时的软硬件同时考虑进去,硬件设计包括芯片级“功能定制
25、”设计。既可以最大限度的利用有效资源、缩短开发周期,又能取得更好的设计效果。,2、软硬件协同设计,3、嵌入式开发的基本流程,系统定义与需求分析 系统设计方案的初步确立 初步设计方案性价比评估与方案评审论证 完善初步方案、初步方案实施 软硬件集成测试 系统功能性能测试及可靠性测试,1.7 嵌入式系统的发展趋势,即将来临的以ARM为核心的32位浪潮嵌入式系统与Internet的融合未来嵌入式系统的发展趋势,1、即将来临的以ARM为核心的32位浪潮,嵌入式系统应用的高低端 即将来临的32位浪潮 32位应用向ARM转移,形成ARM市场主导地位,2、嵌入式系统与Internet的融合,计算机应用的普及、
26、互联网技术的实用以及纳米微电子加工技术的突破,正有力推动着21世纪工业生产、商业活动、科学实验和家庭生活等领域自动化和信息化进程。过程生产自动化、大范围电子商务活动、高度协同科学实验以及现代化家庭起居,都为高端嵌入式产品造就了崭新、巨大的商机。随着因特网技术的不断成熟、带宽传送速度的提高、网上提供的信息内容日趋丰富、应用项目多种多样。像电话手机、电话座机及电冰箱、微波炉等嵌入式电子设备的功能不再单一,电气结构也更为复杂。这些都可能成为嵌入式Internet的应用,3、未来嵌入式系统的发展趋势,互联网的普及、微电子加工工艺的提高、3C(Computer,Communication,Consumer)技术的普遍融合、使用者的需求增多、信息服务应用生活化、技术的渗透性和融合性、设备的关联性以及个性化服务的普遍需求,21世纪,人们要求移动化处理信息,即随时随地获取信息、处理信息,这些已成为信息社会把握先机而制胜的必然武器。日益发展的嵌入式技术已能够满足人们可以随时随地利用任何设备、手段接收信息、处理信息和发布信息的需求,下图是这种未来嵌入式技术发展的示意图,这些必将进一步刺激和加速嵌入式技术的发展,造就更加广泛的市场空间,未来嵌入式技术发展,3、未来嵌入式系统的发展趋势,