《第1章 嵌入式系统开发基础.ppt》由会员分享,可在线阅读,更多相关《第1章 嵌入式系统开发基础.ppt(96页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、嵌入式系统嵌入式系统教师:张劲松教师:张劲松 实验楼实验楼304304各種嵌入式系統裝置 Hy-wire未來汽車 NASA火星漫遊者 Roomba機器人真空吸塵器 狗語翻譯機 Sony Ericsson的P800 Smart Phone 高度整合的嵌入式系統高度整合的嵌入式系統 n平时40%、考试60%n教学目的:nARM体系结构、嵌入式开发过程(无操作系统和有操作系统)第一章第一章 嵌入式系统开发基础嵌入式系统开发基础n本章介绍了嵌入式系统开发的基础知识:本章介绍了嵌入式系统开发的基础知识:n嵌入式计算机的历史由来、嵌入式系统的定义、嵌入式计算机的历史由来、嵌入式系统的定义、嵌入式系统的基本
2、特点、嵌入式系统的分类及嵌入式系统的基本特点、嵌入式系统的分类及应用、嵌入式系统软硬件各部分组成、嵌入式应用、嵌入式系统软硬件各部分组成、嵌入式系统的开发流程、嵌入式技术的发展趋势系统的开发流程、嵌入式技术的发展趋势等方等方面进行了介绍,面进行了介绍,n涉及到嵌入式系统开发的基本内容,使大家系涉及到嵌入式系统开发的基本内容,使大家系统地建立起的嵌入式系统整体概念。统地建立起的嵌入式系统整体概念。本章主要内容有本章主要内容有 1.1嵌入式系统基本概念嵌入式系统基本概念1.2嵌入式系统的组成结构嵌入式系统的组成结构1.3嵌入式系统硬件组成嵌入式系统硬件组成1.4嵌入式操作系统嵌入式操作系统1.5嵌
3、入式应用软件开发嵌入式应用软件开发1.6嵌入式系统开发流程嵌入式系统开发流程1.7嵌入式系统发展的趋势嵌入式系统发展的趋势 1.1 嵌入式系统基本概念 1.1.1 1.1.1 嵌入式计算机嵌入式计算机1.1.2 1.1.2 嵌入式系统的概念嵌入式系统的概念1.1.3 1.1.3 嵌入式系统的特点嵌入式系统的特点1.1.4 1.1.4 嵌入式系统的分类嵌入式系统的分类1.1.5 1.1.5 嵌入式系统的应用范围嵌入式系统的应用范围1.1.6 1.1.6 嵌入式技术是中国嵌入式技术是中国ITIT发展的难得机发展的难得机遇遇 1.1.11.1.1嵌入式计算机嵌入式计算机在电子计算机发展的初期,计算机
4、一直是在电子计算机发展的初期,计算机一直是“供养供养”在特殊的机房中的大型、昂贵的专用设备,主在特殊的机房中的大型、昂贵的专用设备,主要是实现一些特殊的数值计算。要是实现一些特殊的数值计算。直到直到2020世纪世纪7070年代微处理器的出现,计算机应用年代微处理器的出现,计算机应用才出现了历史性的变化。这也使计算机摘掉神圣才出现了历史性的变化。这也使计算机摘掉神圣的光环走下了神坛,步入平民化的时代。的光环走下了神坛,步入平民化的时代。同时微处理器表现出的智能化水平引起了设备制同时微处理器表现出的智能化水平引起了设备制造、机电控制等专业人士的兴趣,要求将造、机电控制等专业人士的兴趣,要求将微型机
5、微型机嵌入到一个控制对象的体系中嵌入到一个控制对象的体系中,实现对象体系的,实现对象体系的智能化控制。智能化控制。嵌入式计算机嵌入式计算机微处理器的问世极大的促进了控制领域的发展,复杂的控制系统以微处理器这样的部件作为主要的控制和反馈器件,极大的提高了系统的可控性和智能化。为了满足控制领域对微处理器的需求,1976年出现微控制器经过发展,到80年代初微处理器及微控制器各自 已发展为一个庞大的家族,以Intel公司x86为主流的应用于个人计算机PC的微处理器格局已形成。为了区别于原有使用在区别于原有使用在PC的通用计算机,的通用计算机,把嵌把嵌入到对象体系中、实现对象体系智能化控制的计入到对象体
6、系中、实现对象体系智能化控制的计算机,称作嵌入式计算机算机,称作嵌入式计算机。嵌入式计算机嵌入式计算机嵌入式计算机是诞生于微处理器发展时代嵌入式计算机是诞生于微处理器发展时代;早期早期嵌入式计算机嵌入式计算机是是将一个计算机嵌入到将一个计算机嵌入到一个具体应用的控制对象的体系中去一个具体应用的控制对象的体系中去,这,这些是嵌入式系统发展的起点。些是嵌入式系统发展的起点。标志着计算机进入了通用计算机与嵌入式标志着计算机进入了通用计算机与嵌入式计算机两大分支、并行发展时代,从而导计算机两大分支、并行发展时代,从而导致致2020世纪末,计算机应用的高速发展并由世纪末,计算机应用的高速发展并由此引发了
7、计算机分类方式的变化。此引发了计算机分类方式的变化。1.1.2 1.1.2 嵌入式系统的概念嵌入式系统的概念传统的计算机分类是按照计算机的处理字长、体系结构、运算速度、结构规模、适用领域进行的,如通常所说的大型计算机、中型机、小型机和微型计算机,并以此标准来组织学科和产业分工,这种分类方法也沿袭了多年。随着近30年来微电子技术、计算机技术和移动通信技术的迅速发展以及网络技术的广泛应用,实际情况已经产生了根本性的变化。例如由在70年代末定义的微型计算机演变出来的个人计算机PC其处理速度已远远超过了当年对大、中、小型计算机的定义。嵌入式系统的概念随着计算机技术对其它行业的广泛渗透和与其它行业应用技
8、术的相互结合,以应用为中心的分类方法变得似乎更加切合实际发展;按计算机的嵌入式应用和非嵌入式应用将其分为通用计算机和嵌入式计算机。而通用计算机具有一般计算机的基本标准形态,通过装配不同的应用软件,以基本雷同的面目出现并应用在社会的各个方面,其典型产品为PC、服务器;嵌入式系统的概念嵌入式系统的概念而非通用计算机的计算机嵌入式计算机,则是非通用计算机形态的计算机应用,它是以作为嵌入式系统的核心部件的形式隐藏在各种装置、设备、产品和系统中。因此嵌入式计算机是计算机技术发展中的一种计算机存在的形式,是从计算机技术的发展中分离出来的。n用于控制、监视或者辅助操作机器和设备的装置。IEEE n以应用为中
9、心,以计算机技术为基础,软硬件以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统。体积、功耗等严格要求的专用计算机系统。-嵌入式系统嵌入式系统n相比较而言国内的定义更全面一些,体现了嵌入式系统“嵌入”、“专用性”、“计算机”的基本要素和特征。1.1.3 嵌入式系统的特点嵌入式系统是应用于特定环境下,针对特定用途来设计的系统,所以不同于通用计算机系统。同样是计算机系统,嵌入式系统是针对具体应用设计的“专用系统”。它的硬件和软件都必须高效率地设计、“量体裁衣”、去除冗余,力争在较少的资源上
10、实现更高的性能。它与通用的计算机系统相比具有以下显著特点:嵌入式系统的特点嵌入式系统通常是面向特定任务的,而不同于一般通用PC计算平台,是“专专用用”的计算机系统;嵌入式系统运行环境运行环境差异很大;嵌入式系统比通用比通用PCPC系统资源少系统资源少得多;嵌入式系统“嵌入”到对象的体系中,对对象、环境和嵌入式系统自身具有严格的要求,一般的嵌入式系统具有低低功功耗耗、体体积积小小、集集成成度度高高、成本低等成本低等特点;具具有有完完整整的的系系统统测测试试和和可可靠靠性性评评估估体体系系,保证嵌入式系统高效、可靠、稳定工作;嵌入式系统的特点嵌入式系统的特点具有较长的生命周期生命周期;嵌入式系统的
11、目标代码通常是固固化化在非易失性存储器(ROM,EPROM,EEPROM,FLASH)芯片中;嵌入式系统使用的操作系统一般是实时操作系统(RTOS),系统有实时约束;嵌入式系统需要专用开发工具和方法专用开发工具和方法进行设计;嵌入式微处理器通常包含专用调试电路专用调试电路;嵌入式系统是技术密集、资金密集、高度分散、不断创新的知识集成系统知识集成系统;1.1.4嵌入式系统的应用范围嵌入式系统的应用范围 嵌入式系统的应用范围嵌入式系统的应用范围 消费电子消费电子嵌入式应用嵌入式应用信息家电信息家电智能玩具智能玩具军事电子军事电子通信设备通信设备移动存贮移动存贮工控设备工控设备智能仪表智能仪表汽车电
12、子汽车电子网络设备网络设备工业工业军事国防军事国防电子商务电子商务网络网络崭新的数字世界多彩的嵌入式应用无线电的发展BTH矿石收音机 单二极管Bush收音机收音机 7个晶体管Evoke DAB收音机收音机1亿个晶体管2-3个嵌入式处理器电话的发展电话的发展电话电话 无晶体管BT DECT 1千万个晶体管3个处理器诺基亚手机诺基亚手机 超过7亿个晶体管(多数用于存储器)5-6个处理器 计算机的发展+=Apple Macintosh 黑白显示器1 MIP 处理器Acorn Archimedes彩色显示器10 MIP 处理器 RISC集惠普康柏掌上电脑惠普康柏掌上电脑 彩色显示200 MIP 处理器
13、64MB 内存 袖珍型袖珍型 航海仪器的发展地图、时钟、指南针地图、时钟、指南针 印刷及磁技术无晶体管Raytheon 船用航海仪器GarminGPS定位器定位器 约1亿个晶体管2-3个处理器 家用电器的发展家用电器的发展Apple IPODApple IPOD 100 张CDs袖珍型四处理器HP 1315HP 1315 照片质量彩色打印机双处理器GameBoy AdvanceGameBoy Advance 手持式彩色联网型双处理器 我们正步入一个崭新的“数字世界”无线连接是无线连接是“数字胶水数字胶水”嵌入式应用嵌入式应用1.1.51.1.5嵌入式技术是中国嵌入式技术是中国ITIT发展的难得
14、机遇发展的难得机遇当前信息技术和网络技术高速发展和后PC(Post-PC)时代到来,嵌入式系统已经广泛地渗透到科学研究、工程设计、军事技术、各类产业和商业文化艺术以及人们的日常生活等方方面面中。后后PC时代时代,即非PC信息设备大显神通的时代,嵌入式系统正是非PC设备的主体,由于其应用广、领域特色突出,谁也无力独吞这一市场。互联网技术在世界范围的扩展和中国通信事业的高速发展,已为我国开发嵌入式产品造就了广大市场,此外我国是人口大国,素有智力优势 1.2 1.2 嵌入式系统的组成结构嵌入式系统的组成结构n1.2.1 嵌入式系统硬件基本结构介绍 n1.2.2 嵌入式系统软件的层次结构n1.2.3
15、启动程序BootLoader介绍 n 应用程序应用程序实时操作系统(实时操作系统(RTOS)输输入入输输出出接接口口处理器处理器/ARM核核MMU/CacheSOC/SOPCUSBGPIOIISLCDUART和和IrDAADC/DACFPGA/CPLDDSP/浮点运算协处理器浮点运算协处理器DMA电源管理电源管理典型的嵌入式系统组成典型的嵌入式系统组成人机交互接口人机交互接口LCD/触摸屏、键盘、鼠标触摸屏、键盘、鼠标Boot、HAL、设备驱动程序、设备驱动程序文件系统文件系统/图形用户应用程序接口图形用户应用程序接口BSPOS层层应用层应用层软件软件硬件硬件以太网以太网看门狗及看门狗及复位电
16、路复位电路Timer/RTCCANFlashEEPROMSDRAMSRAM内内存存1.2.1嵌入式系统硬件基本结构介绍 嵌入式系统以嵌入式处理器为中心,配置存储器、I/O设备、通信模块以及电源等必要的辅助接口组成。嵌入式系统是“量身定做”的“专用计算机应用系统”,又不同于普通计算机组成,在实际应用中的嵌入式系统硬件配置非常精简,除了微处理器和基本的外围电路以外,其余的电路都可以根据需要和成本进行“裁剪”、“定制化”(Customize),非常经济、可靠。嵌入式系统硬件基本结构介绍嵌入式系统硬件基本结构介绍 嵌入式系统硬件核心是嵌入式微处理器,有时为了提高系统的信息处理能力,常常外接DSP和DS
17、P协处理器(也可内部集成)完成高性能信号处理。随着计算机技术、微电子技术、应用技术的不断发展和纳米芯片加工工艺技术的发展,以微处理器为核心的集成多种功能的SoC系统芯片已成为嵌入式系统的核心,在嵌入式系统设计中,要尽可能的选择能满足系统功能接口的SoC芯片,这些SoC集成了大量的外围USB、UART、以太网、AD/DA、IIS等功能模块。嵌入式系统硬件基本结构介绍嵌入式系统硬件基本结构介绍 可编程片上系统SOPC(System On Programmable Chip)结合了SoC和PLD、FPGA各自的技术优点,使得系统具有可编程的功能,是可编程逻辑器件在嵌入式应用中的完美体现,极大的提高了
18、系统的在线升级、换代能力。以SoC/SOPC为核心,可以用最少的外围部件和连接部件构成一个应用系统,满足系统的功能需求,也是嵌入式系统发展的一个方向因此现代嵌入式设计是以处理器处理器/SoC/SOPC为核为核心心,完成系统设计的,其外围接口包括存储设备、通信接口设备、扩展设备接口和辅助的机电设备(电源、连接器、传感器等)构成硬件系统。1.2.2 1.2.2 嵌入式系统软件的层次结构嵌入式系统软件的层次结构如当设计一个简单的应用程序时,可以不使用操作系统,但是当设计较复杂的程序时,可能就需要一个操作系统(OS)来管理、控制内存、多任务、周边资源等等。依据系统所提供的程序界面来编写应用程序,可以大
19、大的减少应用程序员的负担。对于使用操作系统的嵌入式系统来说,嵌入式系统软件结构一般包含四个层面:板板级级支支持持包包(BSP)、实实时时操操作作系系统统(RTOS)、应应用用程程序序接接口口(API)层层、实实际际应应用用程程序序层层。有些资料将应用程序接口API归属于OS层。由于硬件电路的可裁减性和嵌入式系统本身的特点,其软件部分也是可裁减的。对于功能简单仅包括应用程序的嵌入式系统一般不使用操作系统,仅有应用程序和设备驱动程序。现代高性能嵌入式系统应用越来越广泛,操作系统使用成为必然发展趋势。本节主要讲述的具有操作系统的嵌入式软件层次。嵌入式系统软件的层次结构嵌入式系统软件的层次结构具有操作
20、系统的嵌入式软件层次:1.板级支持包(BSP)2.实时操作系统(RTOS)3.操作系统的应用程序接口(API)4.应用程序 嵌入式系统软件的层次结构嵌入式系统软件的层次结构1.板级支持包板级支持包(BSP)n为上层软件提供了设备的操作接口,上层软件不用理会设备的具体内部操作,只需调用驱动层程序提供接口即可。n板级支持包(BSP)一般包括硬件抽象层HAL、BootLoader和设备驱动程序,通常使用汇编语言和C语言实现。嵌入式系统软件的层次结构嵌入式系统软件的层次结构2.实时操作系统实时操作系统RTOSn操作系统一般以内核映射的形式下载到目标系统中。例。在系统开发完成后,将整个操作系统部分做成内
21、核映像文件,与文件系统一起传送到目标系统中,然后通过BOOTLOADER指定地址运行uclinux内核,启动已经下载好的嵌入式linux系统,再通过嵌入式操作系统解开文件系统,运行应用程序。n内核中通常必需的基本部件是进程管理、进程间通讯、内存管理部分;文件系统、驱动程序、网络协议等可按要求配置。3.API4.应用程序应用程序 建立在主任务基础之上1.2.31.2.3启动程序启动程序BootLoader介绍介绍对于PC机,其开机后的初始化处理器配置、硬件初始化等操作是由BIOS(Basic Input/Output System)完成的,但对于嵌入式系统来说,出于经济性、价格方面考虑一般不配置
22、BIOS,因此我们必须自行编写完成这些工作的程序。这就是所需要的开机程序,在嵌入式中称为BootLoader程序。系统加电复位后,几乎所有的 CPU都从由复位地址上取指令。在系统加电复位后,处理器将首先执行 Boot Loader 程序。启动程序启动程序BootLoader介绍介绍BootLoader是系统加电后、操作系统内核或用户应用程序运行之前,首先必须运行的一段程序代码。通过这段程序,为最终调用操作系统内核、运行用户应用程序准备好正确的环境。对于嵌入式系统来说,有的使用操作系统,也有的不使用操作系统,但在系统启动时都必须运行BootLoader,为系统运行准备好软硬件环境。n系统启动代码
23、完成基本软硬件环境初始化后,对于有操作系统的情况下,启动操作系统、启动内存管理、任务调度、加载驱动程序等,最后执行应用程序或等待用户命令;n对于没有操作系统的系统直接执行应用程序或等待用户命令1.3 1.3 嵌入式系统硬件组成嵌入式系统硬件组成 n1.3.1嵌入式处理器n1.3.2典型嵌入式处理器介绍n1.3.3嵌入式SoCn1.3.4可编程片上系统SOPCn1.3.5嵌入式外围接口电路和设备接口 1.3.1嵌入式处理器n嵌入式微处理器 n嵌入式微控制器 n嵌入式DSP 嵌入式微处理器嵌入式微处理器嵌入式微处理器就是和通用计算机的微处理器对应的CPU。目前的嵌入式处理器主要包括:Am186/8
24、8、386EX、PowerPC、Motorola 68000、ARM、MIPS系列等等。嵌入式微控制器嵌入式微控制器嵌入式微控制器又称为单片机,它将CPU、存储器(少量的RAM、ROM或两者都有)和其它外设封装在同一片集成电路里。常见的有8051。嵌入式微控制器又称单片机,顾名思义,就是将整个计算机系统集成到一块芯片中。和嵌入式微处理器相比,微控制器的最大特点是单片化,体积大大减小,从而使功耗和成本下降、可靠性提高。嵌入式嵌入式DSPDSP嵌入式嵌入式DSP处理器有两个发展方向:处理器有两个发展方向:嵌入式DSP处理器和嵌入式处理器经过单片化设计,片上增加丰富的外设成为具有高性能DSP功能的S
25、oC;在通用微处理器、微控制器或SoC中增加DSP协处理器,例如Intel的MCS-296和Siemens的TriCore。n嵌入式系统核心是嵌入式的处理器,因此学习、研究、开发嵌入式系统要从学习嵌入式处理器开始。1.3.2 1.3.2 典型嵌入式处理器介绍典型嵌入式处理器介绍 nMIPS 处理器n PowerPC 处理器 nSparc 处理器 nARM 处理器 MIPSMIPS处理器处理器MIPS技术公司是一家设计制造高性能、高档次及嵌入式32位和64位处理器的厂商。在RISC处理器方面占有重要地位。MIPS的意思是“无内部互锁流水级的微处理器”(Microprocessor without
26、 interlocked piped stages),最早是在80年代初期由美国斯坦福大学Hennessy教授领导的研究小组研制出来的。1986年推出R2000处理器,1988年推出R3000处理器,1991年推出第一款64位商用微处理器R4000。之后,又陆续推出R8000(于1994年)、R10000(于1996年)和R12000(于1997年)等型号。之后,MIPS公司的战略发生变化,把重点放在嵌入式系统上。MIPSMIPS处理器处理器在嵌入式方面,MIPS 系列微处理器是目前仅次于ARM的用得最多的处理器之一(1999年以前MIPS是世界上用得最多的处理器),其应用领域覆盖游戏机、路由
27、器、激光打印机、掌上电脑等各个方面。MIPS的系统结构及设计理念比较先进,在设计理念上MIPS强调软硬件协同提高性能,同时简化硬件设计。PowerPCPowerPC处理器处理器PowerPC架构的特点是可伸缩性好,方便灵活。PowerPC处理器品种很多,既有通用的处理器,又有嵌入式控制器和内核,应用范围非常广泛,从高端的工作站、服务器到桌面计算机系统,从消费类电子产品到大型通信设备,无所不包。处理器芯片主要型号是PowerPC 750,它于1997年研制成功,最高的工作频率可以达到500MHz,采用先进的铜线技术。该处理器有许多品种,以便适合各种不同的系统。包括IBM小型机、苹果电脑和其他系统
28、。嵌入式的PowerPC 405(主频最高为266MHz)和PowerPC 440(主频最高为550MHz)处理器内核可以用于各种SoC设计上,在电信、金融和其他许多行业具有广泛的应用。SparcSparc处理器处理器全称为“可扩充处理器架构”(Scalable Processor Architecture),Sun公司以其性能优秀的工作站闻名,这些工作站的心脏全都是采用Sun/TI公司自己研发的Sparc芯片。根据Sun公司未来的发展规划,在64位UltraSparc处理器方面,主要有3个系列,首先是可扩展式s系列,主要用于高性能、易扩展的多处理器系统。目前UltraSparc s的频率已经
29、达到750MHz。将推出UltraSparc s和UltraSparc s等型号。其中UltraSparc s的频率为1GHz,UltraSparc s则为1.5GHz.其次是集成式i系列,它将多种系统功能集成在一个处理器上,为单处理器系统提供了更高的效益。已经推出的UltraSparc i的频率达到700MHz,未来的UltraSparc i的频率将达到1GHz。最后是嵌入式e系列,为用户提供理想的性能价格比,嵌入式应用包括瘦客户机、电缆调制解调器和网络接口等。Sun公司还将推出主频300、400、500MHz等版本的处理器。ARM处理器nARM(Advanced RISC Machines
30、)n世界第一大IP知识产权厂商n只提供IP授权,不生产具体芯片,Chiplessn高性能,低功耗。1.3.3 1.3.3 嵌入式嵌入式SoCSoCn 随着半导体产业进入超深亚微米乃至纳米 加工时代,在单一集成电路芯片上就可以实现一个复杂的电子系统,诸如手机芯片、数字电视芯片、DVD 芯片等。n随着半导体工艺技术的发展,IC设计者能够将愈来愈复杂的功能集成到单硅片上,SoC正是在集成电路(IC)向集成系统(IS)转变的大方向下产生的。注:通常把08035m称为亚微米,025m及其以下称为深亚微米,005m及其以下称为纳米级。n所谓SoC技术,是一种高度集成化、固件化的系统集成技术。n使用SoC技
31、术设计系统的核心思想,就是要把核心思想,就是要把整个应用电子系统全部集成在一个芯片中。整个应用电子系统全部集成在一个芯片中。在使用SoC技术设计应用系统,除了那些无法集成的外部电路或机械部分以外,其他所有的系统电路全部集成在一起。SoC技术的特点技术的特点nSoC具有以下几方面的优势,因而创造其产品价值与市场需求:n降低耗电量n减少体积n增加系统功能n提高速度n节省成本nIP核(Intellectual Property core)是一段具有特定电路功能的硬件描述语言程序,该程序与集成电路工艺无关,可以移植到不同的半导体工艺中去生产集成电路芯片。n利用IP核设计电子系统,引用方便,修改基本元件
32、的功能容易。具有复杂功能和商业价值的IP核一般具有知识产权。嵌入式嵌入式SoCSoC IP内核模块是SOC设计的基础,究竟购买哪一级IP内核模块,要根据现有基础、时间、资金和其他条件权衡确定。但总的来说,通过购买IP内核模块不仅可以降低开发风险,还能节省开发费用,因为一般购买IP内核模块的费用要低于自己单独设计和验证的费用。嵌入式嵌入式SoCSoC当然,并不是所需要的IP内核模块都可以从市场上买的到。为了垄断市场,有一些公司开发出来的关键IP内核模块(至少暂时)是不愿意授权转让使用的。像这样的IP内核模块就不得不自己组织力量来开发。ARM公司以IP提供者的身份向各大半导体制造商出售知识产权,自
33、己却不介入芯片的生产和销售。ARM芯核的卓越特性,使其成为32位嵌入式应用开发工程师的首选;基于ARM处理器核的SoC芯片的应用开发得到广泛的应用。SoC芯片已经成为提高移动通信、网络、信息家电、高速计算、多媒体应用及军用电子系统性能的核心器件,是嵌入式系统的硬件核心。1.3.4 1.3.4 可编程片上系统可编程片上系统SOPCSOPC SOPCSOPC它是用可编程逻辑技术把整个系统放到它是用可编程逻辑技术把整个系统放到一块硅片上一块硅片上,来用于嵌入式系统的研究和电子信来用于嵌入式系统的研究和电子信息处理息处理.SOPC.SOPC是一种特殊的嵌入式系统是一种特殊的嵌入式系统,它是片它是片上系
34、统(上系统(SOCSOC),),即由单个芯片完成整个系统的即由单个芯片完成整个系统的主要逻辑功能。但它不是简单的主要逻辑功能。但它不是简单的SOC,SOC,它也是可编它也是可编程系统,具有灵活的设计方式,可裁减、可扩充、程系统,具有灵活的设计方式,可裁减、可扩充、可升级,并具备软硬件在系统可编程的功能。可升级,并具备软硬件在系统可编程的功能。可编程片上系统可编程片上系统SOPCSOPC n SOPC的技术基础:的技术基础:超大规模可编程逻辑器件及其开发工具的成熟;-FPGA密度提高;-FPGA成本大大下降;-FPGA设计、综合、仿真、测试工具性能飞速提高。微处理器/DSP以IP核的形式方便的嵌
35、入到FPGA中;基于IP Core的开发模式深入人心。nSOPC是PLD和ASIC技术的结合,集成了CPU、DSP、存储器、外围I/O及可编程逻辑的SOPC芯片在应用上具有极大的灵活性。在价格上具有极大优势,SOPC被称为半导体产业的未来。nASIC(Application Specific Integrated Circuit):专用集成电路 1.3.5嵌入式外围接口电路和设备接口 n根据外围设备的功能可分为以下根据外围设备的功能可分为以下5类类 n存储器类型n通信接口n输入输出设备 n设备扩展接口 n电源及辅助设备 存储器类型:存储器类型:n存储器是嵌入式系统中存储数据和程序的功能部件,目
36、前常见的存储设备按使用的存储器类型分为:n 静态易失型存储器(RAM,SRAM);n 动态存储器(DRAM);n 非易失性存储器ROM(MASK ROMEPROM,n EEPROM,FLASH);n 硬盘、软盘、CDROM等。通信接口通信接口n 目前存在的所有计算机通信接口在嵌入式领域中都有其广泛的应用,应用最为广泛的接口设备包括 RS-232接口(串口UART)USB接口(通用串行总线接口)IrDA(Infra Red Data Association红外线接口)、SPI(串行外围设备接口)、I2C、CAN总线接口、蓝牙接口(Bluetooth)Ethernet(以太网接口)、IEEE139
37、4接口和通用可编程接口GPIO。输入输出设备输入输出设备 CRT、LCD和触摸屏等,构成了嵌入式系统中重要的信息输入输出设备,应用广泛。触摸屏可以方便的实现鼠标和键盘功能。设备扩展接口设备扩展接口 简单的嵌入式系统如具有简单的记事本、备忘录以及日程计划等功能的PDA,它所需要存储的数据量并不需要很大的内存。由于目前的嵌入式系统功能越来越复杂,需要大容量内存,大的内存使得系统成本和体积加大。目前一些高端的嵌入式系统都会预留可扩展存储设备接口,为日后用户有特别需求时,可购买符合扩展接口规格的装置直接接入系统使用。常用的扩展卡还有各种CF卡、SD卡、Memory Stick等。目前高端的嵌入式系统都
38、留有一定的扩展卡接口。CF卡-Compact Flash SD卡-Secure Digital Memory Card 电源及辅助设备电源及辅助设备 嵌人式系统力求外观小型化、重量轻以及电源使用寿命长,例如移动电话或PDA,体积较大或者过重的机型已经被淘汰。目前发展的目标是体积小、易携带和外观设计新颖等。在便携式嵌入式系统的应用中,必须特别关注电源装置等辅助设备。1.4 嵌入式操作系统 n1.4.1嵌入式操作系统n1.4.2嵌入式实时操作系统n1.4.3典型嵌入式操作系统介绍 1.4.11.4.1嵌入式操作系统嵌入式操作系统F计算机由硬件和软件两部分组成,操作系统OS(Operating Sy
39、stem)是配置在计算机硬件上的第一层软件,在计算机系统中占据了特殊重要的地位;F操作系统可以解释或理解为补平硬件差异的界面或是说隐藏硬件隐藏硬件,让应用程序可以在上面运行。F通过由操作系统统一提供出来的系统界面来写应用程序,无须考虑到不同硬件所造成的差异,让程序设计人员能够专注于所擅长领域的开发 嵌入式操作系统F从用户的观点看 OS是用户与计算机硬件系统之间的接口,用户在OS的帮助下能够方便、快捷、安全、可靠地操纵计算机硬件和运行自己的程序;F从资源管理观点 可以把OS视为计算机系统资源的管理者。F嵌入式操作系统就是支持嵌入式系统工作的操作系统。它在知识体系和技术本质上与通用操作系统没有太大
40、的区别,一般用于比较复杂的嵌入式系统软件开发中1.4.21.4.2嵌入式实时操作系统嵌入式实时操作系统n大多嵌入式系统应用在实时环境中,因此嵌入式操作系统跟实时(Real-Time)操作系统密切联系在一起。n实时操作系统可以根据实际应用环境的要求对内核进行剪裁和重新配置,组成可根据实际的不同应用领域而有所不同。但以下几个重要组成部分是不太变化的:实时内核、网络组件、文件系统和图形接口等。嵌入式操作系统n嵌入式操作系统相对于一般操作系统而言,仅指操作系统的内核(或者微内核),其他的诸如窗口系统界面或是通讯协议等模块,可以另外选择,目前大多数的嵌入式操作系统必须提供以下管理功能:n(1)多任务管理
41、 n(2)存储管理 n(3)周边资源管理 n(4)中断管理 所有的嵌入式操作系统都是多任务的,目前说的多任务大所有的嵌入式操作系统都是多任务的,目前说的多任务大都是指多线程(都是指多线程(Multi-ThreadsMulti-Threads)方式或多进程(方式或多进程(Multi-Multi-ProcossesProcosses)方式。操作系统主要是方式。操作系统主要是提供调度机制提供调度机制提供调度机制提供调度机制来控制这些执来控制这些执行程序的起始、执行、暂停、结束。行程序的起始、执行、暂停、结束。嵌入式操作系统中的进程状态有如下三种:运行状态(running)就绪状态(ready)等待状
42、态(waitting)(1)多任务管理)多任务管理(2)存储管理)存储管理在系统资源非常有限的嵌入式系统中一般不采用虚拟内存管理,不采用虚拟内存管理,而采用动态内存管理方式,而采用动态内存管理方式,当程序的某一部分需要使用内存时,利用操作系统提供的分配函数来处理,一旦使用完毕,可以通过释放函数来释放所占用的内存,这样内存可以重复使用。(3)周边资源管理)周边资源管理在一个嵌入式系统里,除了系统本身的中央处理器、内存之外,还有许多不同的周边系统,例如输入/输出设备、通讯端口、或是外接的控制器等,操作系统中必须提供周边资源的驱动程序,以方便资源管理和应用程序使用。对于应用程序来说,则必须向操作系统
43、注册一个请求机制,然后等待操作系统将资源安排给应用程序。(4)中断管理)中断管理因为查询方式需要占用大量CPU时间,因此,嵌入式操作系统和一般操作系统一样,一般都是用中断方式来处理外部事件和I/O请求。中断管理负责中断的初始化安装、现场的保存和恢复、中断栈的嵌套管理等。1.4.31.4.3典型嵌入式操作系统介绍典型嵌入式操作系统介绍 n嵌入式操作系统的种类繁多,但大体上可分为两种商用型和免费型。商用型和免费型。n商用型的操作系统主要有VxWorks、Windows CE、Psos、Palm OS、OS-9、LynxOS、QNX、LYNX等 诺基亚的Symbian(塞班)n免费型的操作系统主要有
44、Linux和C/OS-II n嵌入式系统需要的是一套高度简练、界面友善、质量可靠、应用广泛、易开发、多任务,并且价格低廉的操作系统 典型嵌入式操作系统介绍 nC/OS-II 嵌入式操作系统内核 nVxWorks嵌入式实时操作系统 nWinCE操作系统 nLinux操作系统 C/OS-II C/OS-II 嵌入式操作系统内核嵌入式操作系统内核 C/OS-II是一个可裁减的、源码开放的、结构小巧、可剥夺型的实时多任务内核,主要面向中小型嵌入式系统,具有执行效率高、占用空间小、可移植性强、实时性能优良和可扩展性强等特点。C/OS-II中最多可以支持64个任务,分别对应优先级063,其中0为最高优先级
45、。实时内核在任何时候都是运行就绪了的最高优先级的任务,是真正的实时操作系统。C/OS-II最大程度上使用ANSI C语言开发,现已成功移植到近40多种处理器体系上。C/OS-II C/OS-II 嵌入式操作系统内核嵌入式操作系统内核C/OS-II结构小巧,最小内核可编译至2k(这样的内核没有太大实用性),即使包含全部功能如信号量、消息邮箱、消息队列及相关函数等,编译后的C/OS-II内核也仅有610kb,所以它比较适用于小型控制系统。C/OS-II具有良好的扩展性能,比如系统本身不支持文件系统,但是如果需要的话也可自行加入文件系统的内容。VxWorks嵌入式实时操作系统嵌入式实时操作系统n是美
46、国 Wind River System 公司(以下简称风河 公司,即 WRS 公司)推出的一个实时操作系统。支持多种处理器,如X86、i960、SUN Sparc、Motorola MC68xxx、MIPS RX000、PowerPC等。n VxWorks嵌入式实时操作系统基于微内核结嵌入式实时操作系统基于微内核结构,由构,由400多个相对独立、短小精悍的目标模多个相对独立、短小精悍的目标模块组成,用户可根据需要增加或删减适当模块块组成,用户可根据需要增加或删减适当模块来裁剪和配置系统。来裁剪和配置系统。WinCEWinCE操作系统操作系统 Microsoft Windows CE是针对有限资
47、源的平台而设计的多线程、完整优先权、多任务的操作系统,但它不是一个硬实时操作系统。高度模块化是WinCE的一个鲜为人知的特性,这一特性有利与它对从掌上电脑到专用的工业控制器的用户电子设备进行定制。WinCE操作系统的基本内核需要至少200K的ROM,它支持 Win32 API子集、多种用户界面硬件、多种的串行和网络通讯技术、COM/OLE和其他的进程间通讯的先进方法。Microsoft公司为Windows CE提供了Platform Builder和Embedded Visual Studio开发工具。WinCEWinCE操作系统操作系统FWindows CE有五个主要的模块 内内核核模模块块
48、:支持进程和线程处理及内存管理等基 本服务;内内核核系系统统调调用用接接口口模模块块:允许应用软件访问操作系统提供的服务;文件系统模块:文件系统模块:支持DOS等格式的文件系统;图图形形窗窗口口和和事事件件子子系系统统模模块块:控制图形显示,并提供Windows GUI界面;通讯模块:通讯模块:允许同其他的设备之间进行信息交换。WinCEWinCE操作系统操作系统Windows CE嵌入式操作系统最大的特点是能提供与PC机类似的图形界面和主要的应用程序。Windows CE嵌入式操作系统的界面显示大多数在Windows里出现的标准部件,包括桌面、任务栏、窗口、图标和控件等等。Linux 介绍介
49、绍n简单地说,Linux是一套免费使用和自由传播的类Unix操作系统,这个系统是由世界各地的成千上万的程序员设计和实现的。其目的是建立不受任何商品化软件的版权制约的、全世界都能自由使用的Unix兼容产品。uclinux表示micro-control linux.即“微控制器领域中的Linux系统”是开放源码的嵌入式Linux的典范之作。uCLinux主要是针对目标处理器没有MMU的嵌入式系统而设计的。1.5 1.5 嵌入式应用软件开发嵌入式应用软件开发1.5.1 嵌入式软件开发的特点和技术挑战1.5.2 嵌入式软件开发环境1.5.3 嵌入式应用软件开发的基本流程1.5.4 嵌入式软件开发的可移
50、植性和可重用性 1.5.11.5.1嵌入式软件开发的特点和技术挑战嵌入式软件开发的特点和技术挑战n开发复杂程度增加开发复杂程度增加n嵌入式软件开发需要软硬件开发环境和工具嵌入式软件开发需要软硬件开发环境和工具 n嵌入式软硬件必须协同设计嵌入式软硬件必须协同设计 n需要新的任务设计方法需要新的任务设计方法 n开发过程完成后,系统应用程序代码需要固化开发过程完成后,系统应用程序代码需要固化到系统中进行功能、性能和可靠性测试到系统中进行功能、性能和可靠性测试 n技术要求高技术要求高1.5.21.5.2嵌入式软件开发环境嵌入式软件开发环境1)交叉开发环境 n交叉开发软件一般为一个整合编辑、编译汇编链接