版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第1章概述1.1嵌入式系统1.2嵌入式处理器1.3嵌入式操作系统1.4嵌入式系统开发
1.1嵌入式系统1.1.1嵌入式系统概述嵌入式系统(EmbeddedSystem)的定义是:以应用为中心,以计算机技术为基础,软硬件可裁剪,适用于应用系统,对功能、可靠性、成本、体积、功耗等方面有着特殊要求的专用计算机系统。它的主要特点是嵌入、专用。
嵌入式系统也是一种计算机系统,但它与通用的计算机系统的不同之处在于,嵌入式系统是一种“完全嵌入受控器件内部,为特定应用环境而设计的专用计算机系统”,具体体现在以下几个方面:
嵌入式系统是面向特定应用的。嵌入式CPU大多是为特定应用而设计的,具有功耗低、体积小、集成度高等特点,一般是包括多个外围设备接口的片上系统。
嵌入式系统是将先进的计算机技术、半导体技术和电子技术与各个行业的具体应用相结合的产物,这就决定了它必然是一个技术密集、资金密集、高度分散、不断创新的知识集成系统。
嵌入式系统的硬件和软件的设计都必须效率高、量体裁衣、去除冗余,这样系统才能体现更高的性价比,在选择上更有竞争力。
嵌入式系统和具体应用有机地结合在一起,它的升级换代和产品同步进行,因此嵌入式系统产品一旦进入市场,将具有较长的生命周期。
为了提高系统的执行速度和可靠性,嵌入式系统的软件一般都固化在存储器芯片中。
嵌入式系统本身并不具备自主开发的能力,因此必须有配套的开发工具和环境才能开发。
嵌入式系统是面向用户、面向应用的系统,这就决定了嵌入式系统的组成。一般来讲,一个嵌入式系统由应用软件、嵌入式操作系统和硬件设备组成,如图1-1所示。图1-1嵌入式系统组成嵌入式系统各部分的功能如下:
应用软件可以具体实现用户的需求,是开发者在操作系统上基于硬件接口所开发的软件,其功能是完成嵌入式系统的功能应用;
嵌入式操作系统是整个系统的核心,它负责整个系统的软、硬资源的分配,任务的调度和控制等,可实现系统所要求的功能;
硬件设备包括嵌入式处理器及其外围设备,其中嵌入式处理器是硬件设备中的核心,外围设备是嵌入式系统用于实现存储、通信、显示等功能的辅助部件。1.1.2嵌入式系统发展从20世纪70年代单片机的出现到各式各样的嵌入式微处理器、微控制器的大规模应用,嵌入式系统已经有了30多年的发展历史。
1.过去嵌入式系统的出现最初基于单片机(SCM,SingleChipMicrocomputer)。利用单片机实现的设备已经初步具备了嵌入式的应用特点,但是这时的应用只是使用8位芯片,执行一些单线程的程序,还谈不上“系统”的概念。最早的单片机是Intel公司的8048,它出现在1976年。之后在20世纪80年代初,Intel公司又进一步完善了8048,在它的基础上研制成功了8051,这在单片机的历史上是值得纪念的一页,迄今为止,51系列的单片机仍然是最为成功的单片机,在各种产品中有着非常广泛的应用。
20世纪80年代早期,“嵌入式操作系统”出现了,它是在微控制器(MCU,MicroControllerUnit)的基础上开发的。设计者们可以根据要求进行外围接口电路的扩展,可以在专用操作系统上进行开发,缩短了开发周期,提高了开发效率,但是CPU与系统的兼容性很差,功能相对单一。
2.现在随着新技术、新工艺的飞速发展,嵌入式系统技术也获得了广阔的发展。具体表现在:
嵌入式操作系统能够运行于各种不同类型的处理器上,兼容性好、操作系统内核小、效率高,并且有高度的模块化和扩展性。
同时具备文件和目录管理,支持多任务,支持网络应用,具备图形窗口和用户界面,具有大量的应用程序接口API,使得开发应用程序比较简单。更重要的是,设计者们还可以根据目标系统的要求进行软件、硬件的定制。
3.未来未来的时代是信息化、智能化和网络化的,嵌入式系统还具有极其宽广的发展空间。根据目前用户对嵌入式设备的需求来看,未来嵌入式系统应具有以下特点:
系统开发需要强大的开发工具和操作系统的支持。
Internet联网成为必然趋势。
精简系统内核、算法,降低功耗和软硬件成本。
提供良好的人机交互界面。1.2嵌入式处理器1.2.1处理器分类目前,嵌入式处理器已经超过1000种,流行的架构体系有30多个系列。从最初的4位处理器以及目前仍然大规模使用的8位单片机,到最新的受到广泛青睐的32位/64位嵌入式CPU,处理器的速度越来越快、性能越来越强、封装引脚越来越多。根据功能以及应用场合的不同,处理器可分为以下几类:
1.嵌入式微处理器嵌入式微处理器(MPU,MicroProcessorUnit)是由通用计算机中的CPU演变而来的,具有32位以上的处理器,但它只保留了和嵌入式功能相关的硬件。与工业控制计算机相比,嵌入式MPU具有体积小、重量轻、成本低、可靠性高等优点。目前主要的嵌入式MPU有Am186/88、386EX、ARM/StrongARM系列,在市场上占有很大的优势。
2.嵌入式微控制器嵌入式微控制器(MCU,MicroControllerUnit)的片上外设资源比较丰富,适合于控制,因此称为微控制器,其典型代表是单片机。单片机芯片内部集成了RAM、ROM、I/O、A/D、TIMER等基本功能外设,实用性较强,开发较容易,价格也比较低廉,因此8/16位单片机在嵌入式设备上仍有广泛的应用。比较有代表性的单片机有大家比较熟知的51核的单片机系列。近来Atmel 公司推出的AVR单片机具有很高的性价比,推动了单片机的发展。但是MCU因资源的限制,例如总线宽度一般为4位、8位或16位,使得MCU处理速度有限,进行一些复杂的应用很困难,运行操作系统更难。
3.嵌入式DSP处理器嵌入式DSP处理器(EDSP,EmbeddedDigitalSignalProcessor)是专门用于信号处理方面的处理器,在系统结构和指令算法方面进行了特殊设计,具有很高的编译效率和执行速度,在数字滤波、光谱分析等仪器上已获得大规模的使用。但是DSP是运算密集处理器,一般用于执行特定算法,实现控制比较困难,为了追求执行效率,一般不使用操作系统。目前,使用较为广泛的DSP是TI公司的TMS320C2000/5000系列。
4.嵌入式片上系统嵌入式片上系统(SOC,SystemOnChip),顾名思义,是直接在处理器片内嵌入操作系统。SOC从整个系统的功能和性能出发,利用IP核(IntellectualPropertyCore)复用和深亚微米技术,采用软件和硬件结合的设计和验证方法,综合考虑软硬件资源的使用成本,设计满足性能要求的高效率、低成本的软硬件体系结构。目前高集成半导体工艺技术的飞速发展,使得SOC成为替代集成电路的主要解决方案,也已经成为当前微电子芯片发展的必然趋势。1.2.2ARM处理器
ARM处理器具有一个32位精简指令集(RISC)处理器架构,其丰富的硬件资源和软件资源广泛地使用在嵌入式系统设计中,常作为嵌入式系统处理器的首选。
1. ARM简介
ARM是AdvancedRISCMachines的简写,可以理解为以下三个含义:
一个生产高级RISC(精简指令集)处理器的公司。
一种高级RISC的技术。
一类采用高级RISC的处理器。
也就是说,ARM是一类嵌入式微处理器,同时也是一个公司的名字。
ARM公司成立于1990年,总部位于英国剑桥,它是一家专门从事16位/32位RISC微处理器知识产权设计的供应商,并不生产和销售实际的半导体芯片,只是向生产和销售半导体的公司和厂商授权ARM内核,并提供基于ARM架构的开发设计技术。对于每一个授权公司和厂商来说,他们获得的授权都是独一无二的。他们可以根据不同的应用领域和自身的技术优势,适当加入外围电路,形成自己的ARM微处理器芯片进入市场,从而缩短了开发周期,提升了产品竞争力。例如本书采用的ARM9系列的ARMS3C2440,即为三星公司在ARM公司向其授权的ARM9内核及开发技术基础上开发研制而成的半导体芯片。到目前为止,ARM公司向200多家公司出售了600多个处理器许可证,全球已经销售了超过150亿枚基于ARM的芯片。
2. RISC
RISC的英文全称是ReducedInstructionSetComputing,即“精简指令集”。RISC与CISC(ComplexInstructionSetComputing,复杂指令集)相对应,这是指令系统两个截然不同的优化方向。
RISC的主要特点如下:
简化指令集,原则是使常用指令简单高效,不常用功能通过流水线技术和超标量技术加以弥补,增强了处理效率。
采用大量寄存器,并且使寄存器操作简单化,使大部分指令操作可以在寄存器中进行,提高了处理速度。
3. ARM体系架构版本
ARM体系架构各版本从最初开发至今已经有了重大改进,在保持各版本更高的兼容性的基础上不断完善。其典型架构版本发展历史以及代表内核如图1-2所示。
图1-2ARM处理器架构进化各个架构版本的特点如下所述:
ARMv4T架构:引进了16位Thumb指令集和32位ARM指令集,目的是在同一个架构中同时提供高性能和较高的代码密度。16位Thumb指令集相对于32位ARM指令集可缩减高达35%的代码大小,同时保持32位架构的优点。采用此架构的内核如ARM7TDMI,具体芯片有三星S3C44B0x系列等。
ARMv5TEJ架构:引进了数字信号处理(DSP)算法和JazelleJava字节码引擎来启用Java字节码的硬件执行,从而改善了用Java编写的应用程序的性能。与非Java加速内核比较,Jazelle将Java执行速度提高了8倍,并且减少了80%的功耗。许多基于ARM处理器的便携式设备中已经使用此架构,目的是在游戏和多媒体应用程序的性能方面提供显著改进的用户体验。采用此架构的内核如ARM926EJ-S,具体芯片有ATMEL的AT91SAM926x系列等。
ARMv6架构:引进了包括单指令多数据(SIMD)运算在内的一系列新功能。SIMD扩展已针对多种软件应用程序(包括视频编解码器和音频编解码器)进行优化,对于这些软件应用程序,SIMD扩展最多可将性能提升4倍。此外,还引进了作为ARMv6架构的变种的Thumb-2和TrustZone技术。采用此架构的内核如ARM1176JZ,具体芯片有三星S3C6410x系列等。
ARMv7架构:此架构是目前ARM公司最新的架构,所有Cortex处理器都实现了ARMv7架构(ARMv6/M的Cortex-M系列处理器除外)。所有ARMv7架构都实现了Thumb-2技术(一个经过优化的16位/32位混合指令集),在保持与现有ARM解决方案的代码完全兼容的同时,既具有32位ARM指令集的性能优势,又具有16位Thumb指令集的代码大小优势。ARMv7架构还包括NEON媒体加速技术,该技术可将DSP和媒体处理吞吐量提升高达400个百分比,并提供改进的浮点支持以满足下一代3D图形和游戏物理学以及传统嵌入式控制应用程序的需要。1.2.3ARM处理器系列目前,基于ARM内核结构的处理器有以下系列:ARM7系列、ARM9系列、ARM9E系列、ARM10系列、ARM11系列、SecurCore系列以及IntelStrongARM系列等,其中ARM7、ARM9、ARM9E、ARM10和ARM11系列为通用处理器系列。每个系列名字都有后缀字母,例如ARM7TDMI、ARM920T等等,这些后缀字母的含义如下:
T:表示支持Thumb指令集。
D:表示支持片上调试。
M:表示支持内嵌硬件乘法器。
I:表示支持片上断点和调试点。
E:表示支持增强型DSP功能。下面分别介绍各个系列的特点以及应用领域。
1. ARM7
ARM7系列处理器包括ARM7TDMI、ARM7TDMI-S、ARM720T、ARM7EJ等。其主要特点如下:
32位RISC处理器。
具有嵌入式ICE,调试开发方便。
兼容16位的Thumb指令集,代码密度高。
0.9MIPS/MHz的3级流水线结构。
支持小型操作系统。
主频最高可达130MHz。
指令与其他通用系列兼容,产品容易升级。主要应用领域:工业控制、Internet设备、网络和调制解调器设备以及移动电话等。
2. ARM9
ARM9系列处理器主要包括ARM920T、ARM922T和ARM940T。其主要特点如下:
5级流水线。
提供1.1MIPS/MHz的哈佛结构。
支持32位ARM指令集和16位Thumb指令集。
支持32位的高速AMBA总线接口。
支持MMU、指令Cache、数据Cache。
支持多种操作系统。主要应用领域:无线设备、仪器仪表、安全系统、高端打印机、数字照相机等。本书将选取三星公司ARM920T内核的S3C2440作为嵌入式系统的处理器。
3. ARM9E
ARM9E系列处理器包括ARM926EJ-S、ARM946E-S和ARM966E-S。其主要特点如下:
支持DSP指令集。
支持数据Cache和指令Cache。
主频最高可达300MHz。主要应用领域:无线设备、数字消费品、成像设备、工业控制、网络设备等。
4. ARM10
ARM10系列处理器包括ARM1020E、ARM1022E和ARM1026EJ-S。其主要特点如下:
与ARM9相比,在相同时钟频率下,性能提高50%,功耗极低。
支持DSP指令集。
6级整数流水线。
支持32位ARM指令集和16位Thumb指令集。
支持VFP10浮点协处理器。
支持MMU、指令Cache、数据Cache。
主频最高可达400MHz。
内嵌并行读/写操作部件。
支持多种操作系统。主要应用领域:下一代无线设备、数字消费品、成像设备、工业控制、通信和信息系统。
5. ARM11
ARM11系列处理器包括ARM1136J、ARM1156T2、ARM1176JZ。其主要特点如下:
使用ARMv6体系架构。
8级流水线,64位数据。
低延迟中断模式。
支持MMU,4个64KB指令和数据Cache。
内嵌可配置的TCM。
有4个主存端口。
可以集成VFP协处理器。应用领域:无线、消费类电子、网络处理、汽车电子等
6. SecurCore
SecurCore系列处理器包括SecurCoreSC100、SecurCoreSC110、SecurCoreSC200和SecurCoreSC210。其主要特点如下:
32位RISC技术。
灵活的保护单元,确保操作系统和应用数据的安全。
采用软内核技术,防止外部对其进行扫描探测。
可集成用户自己的安全特性和其他协处理器。
SecurCore系列专为安全需要设计,主要应用领域:电子商务、电子政务、电子银行业务、网络和认证系统等。
7. IntelStrongARM
IntelStrongARM系列处理器包括StrongARMSA-1100等。其主要特点如下:
采用ARM体系架构。
具有高度集成的32位RISC微处理器。
融合了Intel设计与处理技术和ARM体系架构。主要应用领域:便携式通信产品、消费类电子产品、掌上电脑等。
1.3嵌入式操作系统
嵌入式操作系统(EmbeddedOperatingSystem,EOS)指用于嵌入式系统的操作系统。广义来说,嵌入式操作系统是一种用途广泛的系统软件,通常包括与硬件相关的底层驱动软件、系统内核、设备驱动接口、通信协议、图形界面以及标准化浏览器等。操作系统负责嵌入式系统的全部软、硬件资源的分配、任务调度以及控制协调并发活动。例如,常用嵌入式设备——手机,其键盘、触摸屏、显示、网络、视频、文档管理等都需要操作系统来统一管理。
在嵌入式领域中,操作系统种类繁多,常见的通用型嵌入式操作系统有Linux、VxWorks、WindowsCE、uC/OS,以及应用在智能手机和平板电脑的Android等。
1. VxWorks
VxWorks操作系统是美国WindRiver公司于1983年设计开发的一种实时操作系统。VxWorks具有可裁剪的微内核结构,高效的任务管理,灵活的进程间通信,微秒级的中断处理,支持多种物理介质及标准,完整的TCP/IP网络协议等。VxWorks在航天、航空、军事方面应用较多。其缺点是支持的硬件少,源码不开放,授权费较高。
2. WindowsCE
WindowsCE是微软公司开发的一个开放的、可升级的32位嵌入式操作系统,是基于掌上型电脑类的电子设备操作。它相当于精简的Windows95,图形用户界面相当出色。WindowsCE可以灵活裁剪以减少系统体积,并提供了丰富的硬件驱动程序,与PC上的Windows操作系统相通,对于习惯Windows操作系统的设计者而言,开发更加容易。其缺点是源码不开放,内存占用多,授权费较高。
3. uC/OS
uC/OS是Micrium公司开发的操作系统。uC/OS的源码公开,可裁剪,是可移植性强的实时性嵌入式操作系统,设计者很容易就能把操作系统移植到各个不同的硬件平台上。缺点是它仅是一个实时内核,硬件驱动需要设计者自行开发,还要收费。
4. Linux
Linux系统属于GNU自由操作系统,采用的是GPL(GeneralPublicLicense)协议,这是最开放也是最严格的许可协议方式,规定了源码可以无偿地获取并且修改,因此保证了源码的公开性。目前,越来越多的Linux爱好者参与着Linux的开发工作,为Linux操作系统的标准化做出了巨大的贡献。嵌入式Linux系统是指对标准Linux系统进行裁剪后,能够固化在嵌入式设备的存储器芯片中,适合特定应用的Linux系统。在目前开发的嵌入式系统中,49%的项目选择Linux作为操作系统,Linux现已成为嵌入式操作的理想选择。
Linux作为嵌入式操作系统的优势如下:
(1)内核小,可定制。Linux具有独特的内核机制,用户可以方便地开发定制,可以自由地卸装用户模块,不受任何限制,使整个系统可以短小精炼。裁剪后的内核最小甚至可以达到几十千字节,这对资源要求比较严格的嵌入式系统特别适合。
(2)源码开放。Linux内核源码可以直接从官方网站上获取,并且这些Linux爱好者就是最好的技术支持。
(3)可应用多种硬件平台。Linux支持X86、PowerPC、ARM等30多种CPU和硬件平台,很容易开发和使用。
(4)性能优异。Linux运行高效且稳定,良好的内核结构可以让用户更好地使用硬件资源。
(5)良好的网络支持。Linux的内核结构在网络方面是非常完整的,它提供了对包括十兆位、百兆位、千兆位的以太网络及无线网络、令牌环、光纤甚至卫星的支持。
(6)低成本开发系统。源码开放,不需缴纳版权费,良好的技术支持缩短了开发周期,间接地减少了开发成本。
Linux系统的缺点是实时性较差、内核调试不方便、开发难度比较大。1.4嵌入式系统开发
嵌入式系统开发是在硬件基础上构建一个系统环境,要求开发者对硬件系统和软件系统(操作系统)的开发都要熟悉,这就说明嵌入式系统的开发与通常的软件开发或硬件开发有很大的不同。本节从开发流程和开发环境两个方面来概括描述嵌入式系统的开发。
1.4.1嵌入式系统开发流程一般来说,一个嵌入式系统的开发流程如图1-3所示。图1-3嵌入式系统开发流程图从图中可以看出,最终提交进行集成测试的程序有三个部分:Bootloader、基于操作系统构建的最小系统以及应用程序。对于嵌入式系统来说,这三个部分必不可少。嵌入式系统开发就是对这三个部分的相关开发。
1.4.2嵌入式系统开发环境通常,嵌入式系统在不同的开发阶段使用不同的开发环境与开发工具。本书针对初学者的学习过程,将嵌入式系统开发分为三个阶段,即ARM基础开发阶段、Linux系统开发阶段和嵌入式Linux开发阶段。下面将针对这三个阶段概括介绍相关开发环境及开发工具,详细应用将在后面章节陆续进行讲叙。
1. ARM基础开发
ARM的基础开发即ARM的裸机开发,此过程没有操作系统的参与,一般采用少量的汇编语言和C语言来实现处理器对各基本外设的驱动使用。开发流程为编码→编译→链接→调试→下载,常用到的开发工具如下:
1) MDK
MDK-ARM开发套件是ARM公司收购Keil后推出的针对各种嵌入式处理器的软件开发工具。MDK-ARM包括µVision4集成开发环境与RealView编译器,支持ARM7、ARM9和最新的Cortex-M核处理器,具有自动配置启动代码、集成Flash烧写模块、强大的软件模拟、性能分析等功能,集编辑、编译、仿真于一体,与传统的ADS工具相比,最新版本编译器的性能改善超过20%。
MDK的特点如下:
功能强大的源码编辑器。
用于创建和维护工程的工程管理器。
可根据开发工具配置的设备数据库。
集汇编、编译和链接过程于一体的编译工具。
用于设置开发工具配置的对话框。
真正集成高速CPU及片上外设模拟器的源码级调试器。
可配合J-Link进行仿真调试。
可直接烧写Flash。
提供完善的开发工具手册、设备数据手册和用户向导。
MDK图标如图1-4所示。图1-4MDK图标MDK使用界面如图1-5所示。图1-5MDK使用界面
2) J-Link仿真器
J-Link是SEGGER公司为支持仿真ARM内核芯片推出的JTAG仿真器,支持ARM7、ARM9、ARM11等系列内核芯片,即插即用,操作方便,可实现调试、烧写Flash等功能,是学习开发ARM比较实用的工具。MDK配合J-Link仿真器可以实现可视化的仿真调试。
3) DNW
DNW软件是三星公司开发的基于ARM处理器的嵌入式系统开发工具,主要有两个功能:
串口调试程序。
在Windows下通过USB下载程序并将其烧写至Flash。
DNW图标如图1-6所示。图1-6DNW图标DNW使用界面如图1-7所示
图1-7DNW使用界面
2. Linux系统开发
Linux系统开发是嵌入式系统开发的基础,在此阶段要完成内核的移植和根文件系统的构建。这里介绍嵌入式Linux发行版本环境和Linux下的C语言开发环境的建立。
1) Linux发行版本环境本书将采用发行版本Ubuntu作为Linux的操作系统。Ubuntu的安装通常有三种方式:光盘安装、Wubi安装和VMware虚拟机安装。本书采用虚拟机安装方式。
VMware是一个在Window或Linux计算机上运行的应用程序,可以模拟一个基于X86的标准PC环境,和真实的PC环境一样,可以
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 肇庆学院《管理会计模拟实验》2023-2024学年第一学期期末试卷
- 企业员工绩效质量个人贡献度评价体系
- 保险行业投资分析模板
- 20XX年度绩效总结模板
- 房地产经纪操作实务-2019年房地产经纪人协理《房地产经纪操作实务》真题汇编
- 人资行政岗位述职报告模板
- 有关保护环境的调查报告
- 二零二五版带利息支付的商业汇票贴现合同样本3篇
- 陕西省西安市部分学校2024-2025学年高一上学期第四次阶段性检测化学试卷(含答案)
- 二零二五年度高速公路钢筋材料供应协议3篇
- 2025寒假散学典礼(休业式)上校长精彩讲话:以董宇辉的创新、罗振宇的坚持、马龙的热爱启迪未来
- 安徽省示范高中2024-2025学年高一(上)期末综合测试物理试卷(含答案)
- 安徽省合肥市包河区2023-2024学年九年级上学期期末化学试题
- 《酸碱罐区设计规范》编制说明
- PMC主管年终总结报告
- 售楼部保安管理培训
- 仓储培训课件模板
- 2025届高考地理一轮复习第七讲水循环与洋流自主练含解析
- GB/T 44914-2024和田玉分级
- 2024年度企业入驻跨境电商孵化基地合作协议3篇
- Art285 中国视觉艺术史
评论
0/150
提交评论