




下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第 1 章 嵌入式系统基础知识嵌入式系统以数字技术为基础,以计算机科学技术为框架,目前普遍应用在工业控制、信息家电、医疗设备、智能仪器仪表等众多领域。嵌入式系统的出现至今已经有30 多年的历史,近几年来,计算机、通信及消费性电子的一体化趋势日益明显,嵌入式技术已成为一个研究热点,越来越多的公司、科研院所、大专院校以及个人都在从事嵌入式系统的设计开发工作。1.1 嵌入式系统概述本节对嵌入式系统的基本概念、嵌入式系统的组成、嵌入式系统的应用领域、嵌入式系统的发展趋势等内容进行简单的介绍。1.1.1 嵌入式系统简介嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适用于应用系统对功能、
2、可靠性、成本、体积、功耗有严格要求的专用计算机系统。广义上说,凡是带有微处理器的专用软硬件系统都可以称为嵌入式系统,如各类单片机和DSP 系统。狭义上说,那些使用嵌入式微处理器构成独立系统,具有自己的操作系统,具有特定功能的系统都是嵌入式系统。作为一个系统,往往是在硬件和软件交替发展的双螺旋的支撑下逐渐趋于稳定和成熟,嵌入式系统也不例外。嵌入式系统的出现最初是基于单片机的。最早的单片机是Intel 公司的 8048, 它出现在1976年。 Motorola 公司同时推出了68HC05, ZiLOG 公司推出了Z80 系列,这些早期的单片机均含有256B 的 RAM 、 4KB 的 ROM 、
3、4 个 8 位并口、一个全双工串行口、两个16 位定时器。之后在20 世纪 80 年代初,Intel 又进一步完善了8048,在它的基础上研制成功了8051,这在单片机的历史上是值得纪念的一页。迄今为止,51 系列的单片机仍然是最为成功的单片机芯片,在各种产品中有着非常广泛的应用。从 20 世纪 80 年代早期开始,嵌入式系统的程序员开始用商业级的“操作系统”编写嵌入式应用软件,这可以获取更短的开发周期、更低的开发资金和更高的开发效率,“嵌入式系统”真正出现了。确切地说,这时的操作系统是一个实时核,这个实时核包含了许多传统操作系统的特征,包括任务管理、任务间通信、同步与相互排斥、中断支持、内存
4、管理等功能。其中比较著名的有Ready System 公司的 VRTX 、 Integrated System Incorporation(ISI)公司的 pSOS、Wind River System 公司的 VxWorks、QNX 公司的 QNX 等。这些嵌入式操作系统都具有嵌入式的典型特点:它们均采用占先式的调度,响应的时间很短,任务执行的时间可以确定;系统内核很小,具有可裁剪、可扩充和可移植性,可以移植到各 种处理器上;较强的实时和可靠性,适合嵌入式应用。这些嵌入式实时多任务操作系统的 出现,使得应用开发人员得以从小范围的开发解放出来,同时也促使嵌入式有了更为广阔 的应用空间。20世纪9
5、0年代以后,随着对实时性要求的提高,软件规模不断上升,逐渐出现实时 多任务操作系统(RTOS),并作为一种软件平台逐步成为目前国际嵌入式系统的主流。这 时更多的公司看到了嵌入式系统的广阔发展前景,开始大力发展自己的嵌入式操作系统。除了上面的几家老牌公司以外,还出现了Palm OS、Windows CE、嵌入式Linux、Lynx、Nucleux以及国内的Hopen、Delta Os等嵌入式操作系统。随着嵌入式技术的发展前景日益 广阔,相信会有更多的嵌入式操作系统软件出现。1.1.2 嵌入式系统的组成一个嵌入式系统装置一般都由嵌入式计算机系统和执行装置组成,嵌入式计算机系统中间层是整个嵌入式系统
6、的核心,由硬件层、中间层、软件层和功能层组成,如图1-1所示。应用程序文件系统图形用 户接口任务管理实时操作系统硬件抽象层/板级支持包功能层i软件层D/A歌入式微 处理器通用设备接口A/DROMI/OSDRAM嵌入式计算机系统图1-1嵌入式计算机系统的组成下面对嵌入式计算机系统的组成进行介绍。1 .硬件层硬件层中包含嵌入式微处理器、存储器( SDRAM、ROM、FLASH等)、通用设备接 口和I/O接口( A/D、D/A、I/O等)。在一片嵌入式处理器的基础上添加电源电路、时钟 电路和存储器电路,就构成了一个嵌入式核心控制模块。其中操作系统和应用程序都可以 固化在ROM中。(1)嵌入式微处理器
7、嵌入式系统硬件层的核心是嵌入式微处理器,嵌入式微处理器与通用 CPU最大的不同在于嵌入式微处理器大多工作在为特定用户群所专门设计的系统中,它将通用CPU许多由板卡完成的任务集成在芯片内部,从而有利于嵌入式系统在设计时趋于小型化,同时还具有很高的效率和可靠性。( 2)存储器嵌入式系统需要存储器来存放和执行代码。嵌入式系统的存储器包含Cache、主存和外存。Cache是一种容量小、速度快的存储器阵列,它位于主存和嵌入式微处理器内核之间,存放的是最近一段时间微处理器使用最多的程序代码和数据。在需要进行数据读取操作时,微处理器尽可能地从Cache 中读取数据,而不是从主存中读取,这样就大大改善了系统的
8、性能,提高了微处理器和主存之间的数据传输速率。在嵌入式系统中 Cache全部集成在嵌入式微处理器内,可分为数据Cache、指令Cache或混合Cache。一般中高档的嵌入式微处理器才会把Cache集成进去。主存是嵌入式微处理器能直接访问的寄存器,用来存放系统和用户的程序及数据。它可以位于微处理器的内部或外部,其容量为256KB1GB,根据具体的应用而定。一般片内存储器容量小,速度快,片外存储器容量大。常用作主存的存储器有如下几类。ROM 类: NOR FLASH 、 EPROM 和 PROM 等。RAM 类: SRAM 、 DRAM 和 SDRAM 等。嵌入式系统中常用的外存有硬盘、NAND
9、FLASH 、 CF 卡、 MMC 和 SD 卡等。( 3)通用设备接口和I/O 接口嵌入式系统和外界交互需要一定形式的通用设备接口,如A/D 、 D/A、 I/O 等,外设通过和片外其他设备或传感器的连接来实现微处理器的输入/输出功能。每个外设通常都只有单一的功能,它可以在芯片外,也可以内置在芯片中。外设的种类很多,可从一个简单的串行通信设备到非常复杂的802.11 无线设备。2中间层硬件层与软件层之间为中间层,也称为硬件抽象层(Hardware Abstract Layer , HAL )或板级支持包(Board Support Package, BSP),它将系统上层软件与底层硬件分离开
10、来, 使系统的底层驱动程序与硬件无关,上层软件开发人员无须关心底层硬件的具体情况,根据 BSP 层提供的接口即可进行开发。该层一般包含相关底层硬件的初始化、数据的输入/输出操作和硬件设备的配置功能。BSP 具有以下两个特点。硬件相关性:因为嵌入式实时系统的硬件环境具有应用相关性,而作为上层软件与硬件平台之间的接口,BSP 需要为操作系统提供操作和控制具体硬件的方法。操作系统相关性:不同的操作系统具有各自的软件层次结构,因此,不同的操作系统具有特定的硬件接口形式。实际上,BSP 是一个介于操作系统和底层硬件之间的软件层次,包括了系统中大部分与硬件联系紧密的软件模块。3软件层软件层由实时操作系统(
11、Real-Time Operation System , RTOS)、文件系统、图形用户接口( Graphic User Interface , GUI )、网络系统及通用组件模块组成。RTOS 是嵌入式应用软件的基础和开发平台。4功能层当嵌入式系统的其他部分确定以后,嵌入式应用程序决定了系统具体实现的功能。在通用计算机系统中,应用程序一方面完成自己的功能,一方面调用系统的功能。系统调用一般是由操作系统来提供的。1.1.3 嵌入式系统的应用领域嵌入式系统具有非常广阔的应用前景,其应用领域包括以下几方面。( 1 )工业控制基于嵌入式芯片的工业自动化设备将获得长足的发展,目前已经有大量的8 位、
12、16 位、32 位嵌入式微控制器在应用中,如数字机床、电力系统、电网安全、电网设备监测、石油化工系统。( 2)交通管理在车辆导航、流量控制、信息监测与汽车服务方面,嵌入式系统技术已经获得了广泛的应用,内嵌GPS 模块、 GSM 模块的移动定位终端已经在各种运输行业获得了成功的使用。( 3)信息家电这将成为嵌入式系统最大的应用领域,冰箱、空调等的网络化、智能化将引领人们的生活步入一个崭新的空间。即使你不在家里,也可以通过电话线、网络进行远程控制。在这些设备中,嵌入式系统将大有用武之地。( 4)家庭智能管理系统水、电、煤气表的远程自动抄表,安全防火、防盗系统中嵌有的专用控制芯片将代替传统的人工检查
13、,并实现更高、更准确和更安全的性能。(5) POS网络及电子商务公共交通无接触智能卡(Contactless SmartCard, CSC)发行系统、公共电话卡发行系统、自动售货机、各种智能ATM 终端将全面走入人们的生活,到时手持一卡就可以行遍天下。( 6)环境工程与自然水文资料实时监测,防洪体系及水土质量监测、堤坝安全,地震监测网,实时气象信息网,水源和空气污染监测。( 7)机器人嵌入式芯片的发展将使机器人在微型化、高智能方面的优势更加明显,同时会大幅度降低机器人的价格,使其在工业领域和服务领域获得更广泛的应用。( 8)机电产品方面的应用相对于其他领域,机电产品可以说是嵌入式系统应用最典型
14、、最广泛的领域之一。从最初的单片机到现在的工控机,SoC 在各种机电产品中均有着巨大的市场。1.1.4 嵌入式系统的发展趋势信息时代、数字时代使得嵌入式产品获得了巨大的发展契机,为嵌入式市场展现了美好的前景,同时也对嵌入式生产厂商提出了新的挑战,从中可以看出未来嵌入式系统的几大发展趋势。( 1 ) 嵌入式开发是一项系统工程,因此要求嵌入式系统厂商不仅要提供嵌入式软硬件系统本身,同时还需要提供强大的硬件开发工具和软件包支持。目前很多厂商已经充分考虑到这一点,在主推系统的同时,将开发环境也作为重点推广。例如,三星在推广ARM7 、 ARM9 芯片的同时还提供开发板和板级支持包(BSP),而 Win
15、dows CE 在主推系统时也提供Embedded VC+ 作为开发工具,还有VxWorks 的Tonado 开发环境、DeltaOS 的 Limda 编译环境等都是这一趋势的典型体现。当然,这也是市场竞争的结果。( 2)网络化、信息化的要求随着因特网技术的成熟、带宽的提高日益提高,使得以往单一功能的设备如电话、手机、冰箱、微波炉等功能不再单一,结构更加复杂。这就要求芯片设计厂商在芯片上集成更多的功能。为了满足应用功能的升级,设计师们一方面采用更强大的嵌入式处理器如32 位、 64 位 RISC 芯片或信号处理器DSP 增强处理能力,另一方面增加功能接口如USB、扩展总线类型如 CAN BUS
16、,加强对多媒体、图形等的处理,逐步实施片上系统(SoC)的概念。软件方面采用实时多任务编程技术和交叉开发工具技术来控制功能的复杂性,简化应用程序设计,保障软件质量和缩短开发周期。( 3)网络互联成为必然趋势。未来的嵌入式设备为了适应网络发展的要求,必然要求硬件上提供各种网络通信接口。传统的单片机对于网络支持不足,而新一代的嵌入式处理器已经开始内嵌网络接口,除了支持 TCP/IP 协议,有的还支持IEEE1394、 USB、 CAN 、 Bluetooth 或 IrDA 通信接口中的一种或者几种。( 4)精简系统内核、算法,降低功耗和软硬件成本。未来的嵌入式产品是软硬件紧密结合的设备,为了降低功
17、耗和成本,需要设计者尽量精简系统内核,只保留和系统功能紧密相关的软硬件,利用最低的资源实现最适当的功能,这就要求设计者选用最佳的编程模型和不断改进算法,优化编译器性能。( 5)提供友好的多媒体人机界面。嵌入式设备能与用户亲密接触,最重要的因素就是它能提供非常友好的用户界面。这 方面的要求使得嵌入式软件设计者要在图形界面、多媒体技术上多下苦功。1.2 ARM 处理器平台介绍嵌入式微处理器种类繁多,包括 ARM 、 MIPS、 MicroSPARC 、 PowerPC 等。 其中 ARM架构的微处理器是其中比较典型的一种。1.2.1 ARM处理器简介ARM即Advanced RISC Machin
18、es的缩写,既可以认为它是一个公司的名字,也可以 认为它是对一类微处理器的通称,还可以认为它是一种技术的名字。1991年,ARM公司成立于英国剑桥,主要出售芯片设计技术的授权。目前,采用ARM技术知识产权(IP)核的微处理器,即通常所说的ARM 微处理器,已遍及工业控制、消费类电子产品、通信系统、网络系统、无线系统等各类产品市场。ARM处理器本身是 32位设计,但也配备 16位指令集。ARM 的Jazelle技术使Java 加速得到比基于软件的 Java虚拟机(JVM)高得多的性能,和同等的非Java加速核相比功 耗降低80%。CPU功能上增加的DSP指令集提供增强的16位和32位算术运算能力
19、,提高 了性能和灵活性。ARM还提供两个前沿特性来辅助嵌入处理器的高集成SoC器件的调试,它们是嵌入式ICE-RT逻辑和嵌入式跟踪宏核(ETMS)系列。ARM处理器的3大特点是: 耗电少功能强、16位/32位双指令集和众多合作伙伴。1.2.2 ARM体系结构1. ARM微处理器工作状态ARM微处理器的工作状态一般有两种,并可在两种状态之间切换。第一种为ARM状态,此时处理器执行 32位的、字对齐的 ARM指令;第二种为 Thumb状态,此时处理器 执行16位的、半字对齐的 Thumb指令。在程序的执行过程中,微处理器可以随时在两种工作状态之间切换,并且处理器工作 状态的转变并不影响处理器的工作
20、模式和相应寄存器中的内容。但ARM微处理器在开始执行代码时,应该处于 ARM状态。目前流行的ARM体系中,大都支持 Thumb指令集,但是StrongARM内核采用的是ARMV4版本, 不支持Thumb指令集,因此StrongARM的工作模式只有 ARM模式。2. ARM体系结构的存储格式ARM体系结构可以用两种方法存储字数据,分别是大端格式和小端格式。大端格式:在这种格式中,字数据的高字节存储在低地址中,而字数据的低字节 则存放在高地址中。小端格式:与大端存储格式相反,在小端存储格式中,低地址中存放的是字数据 的低字节,高地址中存放的是字数据的高字节。大端和小端格式如图 1-2和图1-3所示
21、。字地址高地址3124 2316 158 708|_ 89101181 45674低地址_01230图1-2大端存储格式高地址311110987654321024 2316 158 7低地址图1-3小端存储格式竹地址8403. ARM处理器运行模式ARM微处理器支持7种运行模式,分别如下。用户模式(usr) : ARM处理器正常的程序执行状态。 快速中断模式(fiq ):用于高速数据传输或通道处理。 外部中断模式(irq):用于通用的中断处理。管理模式(svc):操作系统使用的保护模式。数据访问终止模式(abt):当数据或指令预取终止时进入该模式,可用于虚拟存 储及存储保护。系统模式(sys)
22、:运行具有特权的操作系统任务。定义指令中止模式(und):当未定义的指令执行时进入该模式,可用于支持硬件 协处理器的软件仿真。ARM微处理器的运行模式可以通过软件改变,也可以通过外部中断或异常处理改变。 大多数的应用程序运行在用户模式下,当处理器运行在用户模式下时,某些被保护的系统 资源是不能被访问的。除用户模式以外,其余的 6种模式称为非用户模式或特权模式;其 中除去用户模式和系统模式以外的5种又称为异常模式,常用于处理中断或异常,以及需要访问受保护的系统资源等情况。4. ARM指令集程序的启动都是从 ARM指令集开始,包括所有异常中断都是自动转化为ARM状态,并且所有的指令都可以是有条件执
23、行的。ARM指令集是Load/Store体系结构,只能通过Load/Store指令实现对系统存储器的访问,而其他的指令都是基于处理器内部的寄存器操 作完成的。在ARM的指令编码表中,统一占用编码的最高 4位31:28来表示“条件码”(即cond)。 ARM指令集可以分为6类,分别为数据处理指令、Load/Store指令、跳转指令、程序状态寄存器处理指令、协处理器指令和异常产生指令。ARM指令使用的基本格式如下:opcode condSRd,Rn,operand2参数介绍如下。opcode:指令助记符,如 LDR、STR等。cond:可选的条件码,如 EQ、NE等。S:可选后缀。若指定 S,则根
24、据指令执行结果更新CPSR (Current Program StatusRegister,程序状态寄存器)中的条件码。Rd:目标寄存器。Rn:存放第一个操作数的寄存器。operand2:第二个操作数。ARM 指令集(Instruction Set Architecture , ISA)的主要版本有 ARMv4、ARMv4T、 ARMv5TE、ARMv5TEJ、ARMv6 和 ARMv7 等。版本中的T表示Thumb指令集,E表示增强型DSP指令,J表示Java加速器。1.2.3 ARM微处理器系列ARM微处理器目前包括下面几个系列,以及其他厂商基于ARM体系结构的处理器,它们除了具有 ARM
25、体系结构的共同特点以外, 每一个系列的ARM微处理器都有各自的特 点和应用领域。下面简单介绍一下各种处理器的特点及应用领域。1. ARM7系列微处理器ARM7系列微处理器为低功耗的 32位RISC处理器,最适合用于对价位和功耗要求较 高的消费类应用。ARM7微处理器系列具有如下特点:具有嵌入式ICE-RT逻辑,调试开发方便。极低的功耗,适合对功耗要求较高的应用,如便携式产品。能够提供0.9MIPS/MHZ的3级流水线结构。代码密度高并兼容 16位的Thumb指令集。对操作系统支持广泛,包括Windows CE、Linux、Palm OS等。指令系统与ARM9系列、ARM9E系列和ARM10E系
26、列兼容,便于用户的产品升 级换代。主频最高可达130MIPS ,高速的运算处理能力能胜任绝大多数的复杂应用。ARM7系列微处理器的主要应用领域为工业控制、Internet设备、网络和调制解调器设备、移动电话等多种多媒体和嵌入式应用。ARM7 系歹U微处理器包括 ARM7TDMI 、 ARM7TDMI-S 、ARM720T、ARM7EJ 几种类 型的核。其中,ARM7TDMI是目前使用最广泛的 32位嵌入式RISC处理器,属低端ARM 处理器核。ARM7系列微处理器没有内存管理单元( MMU )。TDMI的基本含义如下。T:支持16位压缩指令集 ThumboD:支持片上调试(Debug)。M :
27、内嵌硬件乘法器(Multiplier )。I:嵌入式ICE,支持片上断点和调试点。2. ARM9系列微处理器ARM9系列微处理器在高性能和低功耗特性方面提供最佳的性能。具有以下特点:采用取指、译码、执行、缓冲、回写等5 级整数流水线,指令执行效率更高。提供 1.1MIPS/MHz 的哈佛结构。支持 32 位 ARM 指令集和16 位 Thumb 指令集。支持 32 位的高速AMBA 总线接口。全性能的MMU , 支持 Windows CE 、 Linux、 Palm OS 等多种主流嵌入式操作系统。MPU 支持实时操作系统。支持数据Cache和指令Cache,具有更高的指令和数据处理能力。AR
28、M9 系列微处理器主要应用于无线设备、仪器仪表、安全系统、机顶盒、高端打印机、数字照相机和数字摄像机等。ARM9 系列微处理器包含ARM920T 、 ARM922T 和 ARM940T 3 种类型,以适用于不同的应用场合。3. ARM9E 系列微处理器ARM9E 系列微处理器为可综合处理器,使用单一的处理器内核提供了微控制器、DSP、Java 应用系统的解决方案,极大地减少了芯片的面积和系统的复杂程度。ARM9E 系列微处理器提供了增强的DSP 处理能力,非常适合于那些需要同时使用DSP 和微控制器的应用场合。ARM9E 系列微处理器的主要特点如下:支持 DSP 指令集,适合于需要高速数字信号
29、处理的场合。5 级整数流水线,指令执行效率更高。支持 32 位 ARM 指令集和16 位 Thumb 指令集。支持 32 位的高速AMBA 总线接口。支持 VFP9 浮点处理协处理器。全性能的MMU , 支持 Windows CE 、 Linux、 Palm OS 等多种主流嵌入式操作系统。MPU 支持实时操作系统。支持数据Cache和指令Cache,具有更高的指令和数据处理能力。主频最高可达300MIPS 。ARM9E 系列微处理器主要应用于下一代无线设备、数字消费品、成像设备、工业控制、存储设备和网络设备等领域。ARM9E 系列微处理器包含ARM926EJ-S 、 ARM946E-S 、
30、ARM966E-S 、 ARM968E-S和 ARM966HS 等类型,以适用于不同的应用场合。4. ARM10E 系列微处理器ARM10E 系列微处理器具有高性能、低功耗的特点,由于采用了新的体系结构,与同等的 ARM9 器件相比较,在同样的时钟频率下,性能提高了近50%,同时, ARM10E 系列微处理器采用了两种先进的节能方式,使其功耗极低。ARM10E 系列微处理器的主要特点如下:支持 DSP 指令集,适合于需要高速数字信号处理的场合。6 级整数流水线,指令执行效率更高。支持 32 位 ARM 指令集和16 位 Thumb 指令集。支持32 位的高速AMBA 总线接口。支持VFP10
31、浮点处理协处理器。全性能的MMU , 支持 Windows CE 、 Linux、 Palm OS 等多种主流嵌入式操作系统。支持数据Cache和指令Cache,具有更高的指令和数据处理能力。主频最高可达400MIPS 。内嵌并行读/写操作部件。ARM10E 系列微处理器主要应用于下一代无线设备、数字消费品、成像设备、工业控 制、通信和信息系统等领域。ARM10E 系列微处理器包含ARM1020E 、 ARM1022E 和 ARM1026EJ-S 3 种类型,以适用于不同的应用场合。5. ARM11 系列微处理器ARM11 系列微处理器是ARM 公司近年推出的新一代RISC 处理器,它是ARM
32、 新指令架构 ARMv6 的第一代设计实现。ARM11 的媒体处理能力和低功耗特点特别适用于无线和消费类电子产品;其高数据吞吐量和高性能的结合非常适合网络处理应用;在实时性能和浮点处理方面,ARM11 可以满足汽车电子应用的需求。ARM11 系列微处理器主要有ARM11MPCore、 ARM1136J( F) -S、 ARM1156T2( F) -S和 ARM1176JZ ( F) -S 等。6. SecurCore系列微处理器SecurCore 系列微处理器专为安全需要而设计,提供了完善的32 位 RISC 技术的安全解决方案,因此 SecurCore 系列微处理器除了具有ARM 体系结构的
33、低功耗、高性能的特点外,还具有其独特的优势,即提供了对安全解决方案的支持。SecurCore 系列微处理器除了具有ARM 体系结构的各种主要特点外,还在系统安全方面具有如下特点:带有灵活的保护单元,以确保操作系统和应用数据的安全。采用软内核技术,防止外部对其进行扫描探测。可集成用户自己的安全特性和其他协处理器。SecurCore 系列微处理器主要应用于一些对安全性要求较高的应用产品及应用系统,如电子商务、电子政务、电子银行业务、网络和认证系统等领域。SecurCore 系列微处理器包含SecurCore SC100、 SecurCore SC110、 SecurCore SC200和 Secu
34、rCore SC210 4 种类型,以适用于不同的应用场合。7. Xscale 处理器Xscale 处理器是Intel 目前主要推广的一款ARM 微处理器。Xscale 处理器是基于ARMv5TE 体系结构的解决方案,是一款全性能、高性价比、低功耗的处理器。它支持16位的 Thumb 指令和 DSP 指令集,已使用在数字移动电话、个人数字助理和网络产品等场合。 Intel Xscale 处理器具有如下特点:32KB 数据 Cache。32KB 指令 Cache。2KB微小数据Cache。7级流水线。 动态电源管理。8. StrongARM SA-1100 处理器Intel StrongARM
35、SA-1100 处理器是采用 ARM体系结构高度集成的 32位RISC微处理 器。它融合了 Intel公司的设计和处理技术以及ARM体系结构的电源效率,采用在软件上兼容ARMv4体系结构、同日采用具有 Intel技术优点的体系结构。9. Cortex系列微处理器Cortex系列微处理器是基于 ARMv7架构的,分为 Cortex-A、Cortex-R和Cortex-M等 3类。其中Cortex-A是针对传统的、基于虚拟存储的操作系统和应用程序而设计,支持ARM、Thumb和Thumb-2指令集;Cortex-R针对实时系统设计,支持 ARM、Thumb和Thumb-2 指令集;Cortex-M
36、为对价格敏感的产品而设计,只支持 Thumb-2指令集。常见的嵌入式处理器还有 Motorola处理器、旧M Power PC处理器、Intel x86系列处理器、MIPS等。1.2.4 ARM处理器的应用领域和特点1 ARM处理器的应用领域到目前为止,ARM处理器及技术的应用几乎已经深入到各个领域。(1)工业控制领域:作为32位的RISC架构,基于ARM核的微控制器芯片不但占据 了高端微控制器市场的大部分市场份额,同时也逐渐向低端微控制器应用领域扩展,ARM微控制器的低功耗、高性价比,向传统的8位/16位微控制器提出了挑战。(2)无线通信领域:目前已有超过85%的无线通信设备采用了 ARM技
37、术,ARM以其高性能和低成本在该领域的地位日益巩固。(3)网络应用:随着宽带技术的推广,采用 ARM技术的ADSL芯片正逐步获得竞争 优势。此外,ARM在语音及视频处理上进行了优化,并获得了广泛的支持,也对 DSP的 应用领域提出了挑战。(4)消费类电子产品:ARM技术在目前流行的数字音频播放器、数字机顶盒和游戏 机中得到广泛应用。(5)成像和安全产品:现在流行的数码相机和打印机中绝大部分采用ARM技术,手机中的32位SIM智能卡也采用了 ARM技术。除此之外,ARM微处理器及技术还应用到许多不同的领域,并会在将来取得更加广泛的应用。2 ARM 处理器的特点采用 RISC 架构的 ARM 微处
38、理器一般具有如下特点:体积小、低功耗、低成本、高性能。支持 Thumb( 16 位) /ARM ( 32位)双指令集,能很好地兼容8位 /16 位器件。大量使用寄存器,指令执行速度更快。大多数据操作都在寄存器中完成。寻址方式灵活简单,执行效率高。指令长度固定。1.3 Linux 操作系统1991 年, 芬兰赫尔辛基大学的学生Linus Benedict Torvalds 开发出了Linux 的第一个系统内核, Linus 编写它的最初目的是替代Minix 操作系统,该系统具有操作系统的所有特征,并且能够兼容UNIX 系统。之后,各种版本的Linux 不断出现。如今,Linux 已经成为一个广泛
39、使用的操作系统。本节介绍Linux 的发展历史、发行版本、特点和组成、常用命令等内容。1.3.1 Linux 的发展历史要了解 Linux 的发展历史,首先要了解GNU 。 GNU 是由 Richard Stallman 在 1983 年 9月 27 日公开发起的,其目标是创建一套完全免费的、自由的类UNIX( UNIX-like )操作系统。为保证GNU 软件能够被自由地使用、复制、修改和发布,所有GNU 软件都有一份GNU 通用公共许可证( General Public License , GPL) , 这是一个标志了软件能被广泛使用的自由软件许可证。研究Linux ,首先要从 Minix
40、操作系统说起。Minix是荷兰阿姆斯特丹的Vrije大学计算机科学系的Andrew S.Tanenbaum 教授编写的一个类UNIX 操作系统,全部的程序代码共约 12000 行,主要用于培训学生了解操作系统的运行过程。芬兰赫尔辛基大学的学生Linus Benedict Torvalds 由于不满意Minix 操作系统,打算编写一个代替Minix 的操作系统。1991 年, 他用汇编语言编写了Linux 系统的第一个内核Linux0.0.1。该核心程序仅有10000 行代码,必须在Minix 中编译后才能运行。1991 年 10 月,他经过改进发布了Linux 0.0.2 版本,该版本已经不再
41、需要通过Minix 平台,成为了一个完全独立的操作系统。从最初的版本开始,Linus Benedict Torvalds 就宣布这是一个免费的系统,并在网上发布了 Linux 的源代码,希望大家一起来完善该操作系统。到1993 年,大约有上百名程序员参与了 Linux 内核代码的编写和修改工作。随着大量高水平程序员的加入,Linux 得到了快速发展。到1994 年 3 月, Linux 1.0 版发行。正是由于有大量的、基于不同工作平台的人员参与了开发,因此Linux 系统能支持Linux 1.3 版本之后,Linux 已各种不同的硬件平台,这大大提高了其跨平台的移植性。到可运行在Intel
42、、 Digital 以及 SUN SPARC 等处理器上。从 1998 年开始,很多商业公司也加入到了Linux 的开发阵营中,因此出现了很多新的版本,如Slackware、 Red Hat、 Suse、 OpenLinux 和 TurboLinux 等。目前 Linux 内核由 150 多万行代码组成,Linux 也已经拥有1000 多万用户。Linux 内核 GNU/Linux 附同 GNU 工具已经占据UNIX 50% 的市场。一些公司正把内核、应用程序、安装软件进行打包,生产Linux 的发行版本。1.3.2 Linux 发行版本Linux 版本分为内核版本和发行版本两类。内核版本是指
43、Linux 的创始人Linus BenedictTorvalds 领导的开发小组所开发的操作系统内核的版本号,如 2.3.15。 通常在内核版本号之后还会附加一个数字,如2.3.15-4,最后的数字用来表示该内核版本是第几次修改的。Linux 的内核版本号由主版本号、次版本号、次次版本号3 部分组成。当内核有重大改动时,主版本号会加1 ;当内核只有小的改动,次版本号会加1 ,次次版本号的增加只表示内核有轻微的改动,影响很小。次版本号为奇数表示该版本为测试版,为偶数表示是个稳定版本,可以放心使用。就Linux 的本质来说,它只是操作系统的核心,负责控制硬件、管理文件系统、程序进程等。Linux
44、Kernel (内核)并不负责提供用户强大的应用程序,没有编译器、系统管理工具、网络工具、Office 套件、多媒体、绘图软件等,这样的系统也就无法发挥其强大功能,用户也无法利用这个系统工作,因此有人便提出以Linux Kernel为核心再集成搭配各式各样的系统程序或应用工具程序组成一套完整的操作系统,经过如此组合的Linux 套件即称为Linux 发行版。嵌入式Linux 的主要版本如下。RT-Linux :这是由美国墨西哥理工学院开发的硬实时嵌入式Linux操作系统,采用双内核结构,在底层使用一个硬实时内核,Linux 作为内核的空闲任务,当有实时任务时,通过硬实时内核调度任务,没有其他任
45、务时,运行普通Linux 。 到目前为止, RT-Linux 已经成功地应用于航天飞机的空间数据采集、科学仪器测控和电影特技图像处理等领域。uCLinux ( micro-Control-Linux ) : uCLinux 是 Lineo 公司的主打产品,是一种优秀的嵌入式Linux 版本,同时也是开放源码的嵌入式Linux 的典范之作。uCLinux主要是针对目标处理器没有存储管理单元(Memory Management Unit , MMU )的嵌入式系统而设计的。它已经被成功地移植到了很多平台上。Embedix: Embedix 是由嵌入式Linux 行业主要厂商之一Luneo 推出的,
46、是根据嵌入式应用系统的特点重新设计的Linux 发行版本。Embedix 提供了超过25 种的Linux 系统服务,包括Web 服务器等。系统需要最小8MB 内存、 3MB ROM 或快速闪存。 Embedix 基于 Linux 2.2 内核, 并已经成功地移植到了Intel x86 和 PowerPC处理器系列上。像其他的Linux 版本一样,Embedix 可以免费获得。XLinux : XLinux 是由美国网虎公司推出,主要开发者是陈盈豪。他在加盟网虎几个月后便开发出了基于XLinux 的、 号称是世界上最小的嵌入式Linux 系统, 内核只有 143KB ,而且还在不断减小。XLin
47、ux 核心采用了“超字元集”专利技术,让Linux 核心不仅可能与标准字符集相容,还涵盖了12 个国家和地区的字符集。PoketLinux: PoketLinux 由 Agenda 公司作为其新产品VR3 PDA 的嵌入式Linux操作系统。它可以提供跨操作系统构造统一的、标准化的和开放的信息通信基础 结构,并在此结构上实现端到端方案的完整平台。PoketLinux 资源框架开放,使普通的软件结构可以为所有用户提供一致的服务。MidoriLinux :由 Transmeta 公司推出的MidoriLinux 操作系统代码开放,在GUN通用公共许可(GPL)下发布,可以从网站上下载。该公司有个名
48、为MidoriLinux的计划。 MidoriLinux 这个名字来源于日本的 “绿色” Midori , 用来反映其Linux操作系统的环保外观。Caldera OpenLinux : Caldera将OpenLinux这套系统定位为容易使用与设置的发行版, 以集成使用环境与最终用户办公环境、容易安装使用与简便管理为系统目标,有望成为最流行的公司团体台式Linux 操作系统,适合初学者使用,全部安装需要 1GB 的硬盘空间。SuSE: SuSE 是欧洲最流行的Linux 发行版,而且SuSE 是软件国际化的先驱,让软件支持各国语系,贡献颇丰。SuSE 也是用 RPM 作为软件安装管理程序,不
49、过SuSE 并不适合新手使用,提供了非常多的工具软件,全部安装需4.5GB 的硬盘空间,安装过程也较为复杂。TurboLinux : TurboLinux 是日本制作的Linux 发行版,其最大特色便是以日文版、中文简/繁体版、英文版3 种形式发行,其安装的简易性和系统设置的难度与RedHat 差不多,且安装界面是汉化的,系统本身支持中文简体,在中国国内有广大 的用户群。红旗嵌入式Linux: 由北京中科院红旗软件公司推出的嵌入式Linux 是国内做得较好的一款嵌入式操作系统,界面做得非常美观,安装也比较容易,新版本逐渐屏蔽了一些底层的操作,适合于新手使用。1.3.3 Linux 系统的特点和
50、组成Linux 开发的初衷就是制作一个类UNIX 系统, 因此 Linux 是一个具有全部UNIX 特征的操作系统。在Linux 系统上使用的命令,基本上都和UNIX 命令在名称、格式和功能上相同。从1991 年 Linux 诞生到现在的20 年中, Linux 得到了迅猛发展,这与Linux 具有的良好特性是分不开的。Linux 系统的特点如下。1开放性Linux是开放源码自由软件的代表,遵循开放系统互连( OSI)国际标准。作为自由软件, Linux 开放源码并对外免费提供,使用者可以按照自己的需要自由修改、复制和发布程序的源码,并公布在Internet 上。因此,用户可以从互联网上很方便
51、地免费下载到各种版本的Linux 操作系统。由于可以方便地得到Linux 的源代码,因此用户可以清楚地了解操作系统的内部逻辑。这样,当出现一些问题时,用户就可以准确地查明故障原因,及时采取相应对策。在必要的情况下,用户可以自己编写程序,及时地为Linux 打补丁,以修补系统的漏洞,这是其他操作系统所没有的优势。2多用户多任务环境所谓多用户,是指系统资源可以被不同用户使用,每个用户对自己的资源(如文件、设备)有特定权限,互不影响。而多任务,是现代计算机的主要特点,是指计算机同时执 行多个程序,且各程序相互独立运行。3良好的用户界面Linux 向用户提供了两种界面,即字符界面和图形界面。在配置较差
52、的计算机中,可优先使用字符界面。此时,系统管理员通过在字符界面中输入相关的控制、配置命令对操作系统进行控制。在字符界面下进行操作,要求操作人员要熟记Linux 的相关指令(多达上千条)。而对于配置较好的计算机,则可以使用图形界面。Linux 的图形界面称为XWindow 系统。 XWindow 的操作界面类似于微软的Windows 界面,操作人员可以利用鼠标、菜单、窗口和滚动条等设施方便地进行操作。XWindow 界面给用户呈现了一个直观、易操作、交互性强、友好的图形化界面。4设备独立性所谓设备独立性,是指Linux 操作系统将所有外部设备都作为文件来进行处理。在使用这些外部设备之前,只要将这
53、些设备的驱动程序安装好,以后就可以像访问系统中的文件一样去访问这些设备,而不需要知道这些设备在系统中的具体存在形式。5丰富的网络功能提供丰富的网络功能是Linux 的一大特点,因为 Linux 就是依靠Internet 才快速发展起来的。在Linux 安装包中包括了大量的网络功能软件。Linux内置TCP/IP协议,支持Internet,这是其网络功能之一。另外, Linux还免费提 供了大量支持Internet 的软件,用户能用Linux 与世界上的其他人通过Internet 进行通信。6出色的速度性能Linux 系统可以连续运行数年而无须启动,与Windows NT (死机)相比,这项性能
54、尤其突出。7可靠的系统安全Linux 系统采取了许多安全技术措施,包括对读写进行权限控制、带保护的子系统、 审计跟踪等。8良好的可移植性Linux 系统核心只有小于10%的源代码采用汇编语言编写,其余均是采用C 语言编写,可以方便地从一个硬件平台移植到另一个硬件平台,使之仍然能够按照其自身的方式运行。Linux系统一般有4个组成部分,即内核、Shell、文件系统和应用程序。内核、 Shell和 文件系统一起构成了基本的操作系统结构,它们使用户可以运行程序、管理文件并使用系统。Linux 内核: 内核是一个操作系统最基本的组成部分,访问硬件时由它来向应用程序提供服务。Linux Shell :
55、Shell 是系统的用户界面,提供用户与内核的交互接口。Shell 是一个命令解释器,它接收并解释用户输入的命令并把它们送到内核。Linux 文件系统:文件系统是文件存放在磁盘等存储设备上的组织方法。Linux 支持多种目前流行的文件系统,如EXT2 、 EXT3 、 FAT、 VFAT 等。Linux 应用程序:标准Linux 系统都有称为应用程序的程序集,包括文本编辑器、编程语言、XWindow 、办公套件、Internet 工具、数据库等。1.3.4 Linux 常用命令Linux 是一个非常优秀的操作系统,与微软的Windows 相比具有可靠、稳定、速度快等优点, 且拥有丰富的根据UNIX 版本改进的强大功能。Linux 命令是 Linux 系统中最重要的工具,学习Linux 命令是学习Linux 必不可少的环节,也是Linux
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- AI大模型赋能区域医疗医共体建设方案
- 华为人力资源体系发展的三个阶段(7P)
- 鲜花文化试题及答案
- 舞蹈理论试题及答案选择
- 黑龙江省哈尔滨市第九中学2024-2025学年高三下学期第五次模拟考试英语学科试题(原卷版)
- 广东省东莞市光正实验学校2024-2025学年高一下学期期中考试英语试卷(原卷版)
- 2025年贵州省贵阳市云岩区中考二模语文试题(含答案)
- 湖北省恩施土家族苗族自治州巴东县绿葱坡镇民族初级中学2024-2025学年七年级下学期6月生物测试题(含答案)
- 2025养老护理服务合同示例
- 2025国内贷款合同范本模板
- 呆滞库存考核管理制度
- 薪酬管理的试题及答案
- 校长在高考壮行仪式上讲话以青春做桨让梦想为帆
- 中国鸦胆子油行业市场现状调查及前景战略研判报告
- 仓库管理测试题及答案
- 2025年国际贸易实务考试模拟题及答案
- 2025-2030年中国热风枪行业市场现状供需分析及投资评估规划分析研究报告
- 2025年团的基础知识试题及答案
- 2024年江苏省南京市中考语文质检试卷
- 劳动技能实操指导(劳动教育)学习通超星期末考试答案章节答案2024年
- LY/T 1814-2009自然保护区生物多样性调查规范
评论
0/150
提交评论