原理与应用技术。
嵌入式系统是以应用为中心,以计算机技术为基础,并且软/硬件可裁剪,并满足应用系统对功能、可靠性、成本、体积和功耗有严格要求的专用计算机系统。
与通用计算机相比,嵌入式系统具有以下特征:
通常是面向特定应用的。具有功耗低、体积小和集成度高等特点。
硬件和软件都必须高效率的设计,量体裁衣,力争在同样的硅片面积上实现更高的性能,这样才能满足功能、可靠性和功耗的苛刻要求。
实时操作系统支持。
嵌入式系统与具体应用有机结合在一起,升级换代也是同步进行的。因此,嵌入式系统产品一旦进入市场,具有较长的生命周期。
为了提高运行速度和系统可靠性,嵌入式系统中软件一般都固化在存储器芯片中。
专门开发工具的支持。
嵌入式系统一般由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用户应用软件四个部分组成,用于实现对其他设备的控制、监视和管理等功能。
嵌入式微处理器是嵌入式系统的核心。嵌入式微处理器的体系结构可以采用冯·诺依曼体系结构或哈佛体系结构,指令系统可以选用精简指令集系统risc或复杂指令集系统cisc。
外围硬件设备是指在嵌入式硬件系统中,除嵌入式微处理器以外的完成存储、显示、通信、调试等功能的部件。根据外围设备的功能可分为存储器和接口两大类。
嵌入式操作系统eos是一种用途广泛的系统软件,它负责嵌入式系统的全部软、硬件资源的分配、调度、控制和协调。
嵌入式操作系统除了具有一般操作系统的最基本特点外,还具有以下特点:
强稳定性,弱交互性。
较强的实时性。
可伸缩性。外围硬件接口的统一性。
由于嵌入式系统中的存储器容量有限,嵌入式系统的核心通常较小。
嵌入式系统的应用软件是设计人员针对专门的应用领域而设计的应用程序。
从应用角度看,嵌入式处理器可分为:嵌入式微处理器、嵌入式微控制器、嵌入式数字信号处理器、嵌入式片上系统。
一般从应用角度考虑嵌入式微处理器的选型,需考虑的主要因素有:功能、性能、**、熟悉程度及开发资源、操作系统支持、升级、供货情况、多处理器应用。
arm微处理器的选型:arm微处理器内核的选择、系统的工作频率的选择、芯片内存储器容量的选择、片内外围电路的选择。
嵌入式操作系统是一种支持嵌入式系统应用的操作系统软件,它是嵌入式系统极为重要的组成部分。使用最多的嵌入式操作系统有linux、windowsce、μc/os-ⅱ、palmos和vxworks等。
arm9系列嵌入式微处理器主要有arm9 tdmi、arm9e-s等系列。arm9处理能力的提高是通过提高时钟频率和缩短指令执行周期实现的。
arm9中1条指令的执行可以分为以下几个阶段:取指-译码-执行-访存(缓冲/数据)-回写。
arm嵌入式微处理器使用的是amba总线体系结构。amba是arm公司颁布的总线标准,该标准定义了以下3种总线:ahb、asb总线、apb总线。
arm9的指令集是依据risc原理而设计的,指令集和相关译码机制较为简单。arm指令集为32位指令集,可以实现arm架构下所有功能。thumb指令集是对32位arm指令集的扩充,它的目标是为了实现更高的**密度。
arm9体系结构采用32位长度地址,存储器的地址空间可被看成是从0地址单元开始的字节的线性组合,即一个地址对应于一个存储字节。arm9体系结构允许使用现有的存储器和i/o器件进行各种存储器的系统设计。arm9体系结构可以有两种格式存储字数据,分别为大端格式和小端格式。
i/o端口的访问方式有两种,一种是端口地址和存储器统一编码,即存储器映射方式;另一种是i/o端口地址与存储器分开独立编址,即i/o映射方式。arm9体系结构使用存储器映射方式实现i/o端口的访问。从存储器映射的i/o加载即是输入,而向存储器映射的i/o地址存储即是输出。
arm9处理器内部共有37个32位寄存器,可分为通用寄存器和状态寄存器两大类。通用寄存器用于保存数据和地址,共有31个;状态寄存器用来标识或设置存储器的工作模式或工作状态等功能,共有6个,每个状态寄存器只使用了其中的12位。
通用寄存器用于保存数据或地址,用字母r前缀加该寄存器的编号来标识。通用寄存器包括r0~r15寄存器,可分为未分组寄存器、分组寄存器和程序计数器3种。
所谓异常(异常中断)是指处理器由于内部或外部的原因,停止执行当前的程序,转而处理特定的事件,处理完毕返回原来的程序继续执行。只要正常的程序流程被暂时停止,则异常发生。
arm9的异常有7种类型,异常发生后,处理器的pc值将被强制赋予该异常所对应的存储器地址,处理器从此地址处开始执行程序,这些存储器地址称为异常向量,简称向量。
7种异常包括:复位异常、未定义指令异常、软件中断异常、指令欲取中止、数据中止、irq(中断请求)和fiq(快速中断请求)。处理器进入异常处理程序前,应该保存其当前的状态,以便当异常处理程序完成后,处理器能回到原来程序的断点处继续执行。
arm处理器具有arm和thumb两种工作状态。因此其指令系统也对应有32位的arm指令和16位的thumb指令。
arm嵌入式微处理器的指令集是加载、存储型的,即指令集中仅能处理寄存器中的数据,而且处理结果都要写回寄存器中,而对存储器的访问则需要通过专门的加载、存储指令来完成。arm指令可分为以下6类:数据处理指令、程序状态访问指令、分支指令、访存指令、异常产生指令、协处理器指令。
arm数据处理指令基本格式为:
},arm处理器支持几种常见的寻址方式:寄存器寻址、立即寻址、寄存器移位寻址、寄存器间接寻址、变址寻址、多寄存器寻址、堆栈寻址、块复制寻址、相对寻址。
arm数据处理指令主要完成寄存器中数据的算术和逻辑运算操作。arm数据处理指令包括:数据传送指令(mov和mvn);算术指令(add,adc,sub,sbc,rsb和rsc);逻辑指令(and,orr,eor和bic);比较指令(cmp,cmn,tst和teq);乘法指令(mla,mul,smlal,smull,umala和umull)。
访存指令分为单数据访存指令、多数据访存指令和数据交换操作指令3大类。
异常指令可分为以下几种:swi软件中断指令、bkpt断点指令、clz前导0计数。
arm协处理器指令主要分为协处理器数据处理指令、arm寄存器与协处理器寄存器的数据传送指令和协处理器寄存器和内存单元之间数据存/取指令。
伪指令是汇编语言程序里的特殊指令助记符,在汇编时被合适的机器指令替代。而伪操作为汇编程序所用,在源程序进行汇编时由汇编程序处理,只在汇编过程起作用,不参与程序运行。宏指令是通过伪操作定义的一段独立的**,在调用它时将宏体插入到源程序中,也就是常说的宏。
s3c2410时钟与电源管理模块由时钟控制,usb控制和电源控制构成。
为了降低功耗,在s3c2410中电源管理模块通过软件控制pll、时钟控制逻辑和唤醒信号。s3c2410有4种电源管理模式:正常模式、空闲模式、低速模式和休眠模式。
s3c2410中与电源管理相关的寄存器有6个,分别为pll锁定时间寄存器(locktime),pll控制寄存器(mpllcon和upllcon),时钟控制寄存器(clkcon),低速时钟控制寄存器(clkslow),时钟分频控制寄存器(clkdivn)。
由于arm体系结构的一致性,外围的电源电路、晶振电路和复位电路基本都是通用的。
存储器,主要用来保存程序和数据,是计算机工作所需的主要部件。i/o接口是微处理器与外部设备连接的主要桥梁。存储器的组织结构按作用可以划分为4级:
寄存器、cache、主存储器和辅助存储器。
在设计嵌入式系统中的存储器部分时,主要考虑以下两方面的问题:
cpu的存储结构,即cpu本身定义了能够访问多大的存储空间、能够访问什么类型的存储器以及访问时序等;
存储器本身的工作原理。
sram和dram被称为随机存储器,其保存的信息在通电状态下是不会丢失的,主要用来存储正在运行的程序和数据。随机存储器又分为两大类:静态随机存储器和动态随机存储器。
sram存储器的主要特点是sram芯片的地址引脚是与芯片内部存储容量相对应的。
dram是动态存储器的缩写,sdram是同步动态存储器的意思。sdram由于其自身结构原因,芯片中存储单元的内容在通电状态下随着时间的推移会丢失,因而,其存储单元需要定期的刷新。这就要求微处理器具有刷新控制逻辑,或在系统中另加刷新控制逻辑电路。
只读存储器分为掩膜编程只读存储器和现场可编程只读存储器。
目前,嵌入式系统中常用的存储器接口主要有以下几种:
sram型的全地址/数据总线接口;
dram型动态存储器接口;
串行存储器接口。
高速缓存是一种小型、快速的存储器,它处于cpu和主存储器之间,由于高速缓存**较贵,在系统中它的容量不可能设计得很大,通常为几mb存储单元。
高速缓存未命中的原因,可分为以下几种类型:
强制性未命中;
容量未命中;
冲突未命中。
当高速缓存未命中时,高速缓存控制器通过地址映射,把主存中存放的数据按照某种规则装入到高速缓存中,并建立主存地址到高速缓存地址之间的对应关系。
虚拟存储器的基本思想:程序、数据和堆栈总的大小可以超过物理存储器的大小,操作系统把当前使用的部分保存在内存,而把其他未使用的部分保存在磁盘上。
在使用了虚拟存储器的情况下,虚拟地址不是被直接送到内存地址总线上,而是送到内存管理单元—mmu。mmu由一个或一组芯片组成,一般存在于协处理器中,其功能是把虚拟地址映射为物理地址。mmu实现的主要功能有:
将主存地址从虚拟存储空间映射到物理存储空间;
存储器访问权限控制;
设置虚拟存储空间的缓冲特性等。
mmu有多种方式管理虚拟存储器,包括分段方式、分页方式和段页方式。
s3c2410的存储空间主要是两部分:1gb的可连接外部存储器的寻址空间;用于控制寄存器和i/o端口使用、微处理器内部占用的地址空间。s3c2410支持两种启动模式,一种是从nandflash启动,另一种是从外部ngcs0片选的norflash启动。
在这两种启动模式下,存储空间的分配是不同的。
s3c2410共有117个输入/输出引脚,大部分引脚是多功能的,分属于8个i/o端口来命名(gpa~gph),端口功能可以根据设计的不同要求通过寄存器编程设置。
嵌入式ARM嵌入式系统设计
摘要 本系统设计了基于arm系统的嵌入式硬件平台,其中主要介绍了系统母版的具体电路实现,其硬件电路已经通过了信号完整性分析。中国 网 关键词 arm 嵌入式系统 中图分类号 tp368.1 文献标识码 a 文章编号 1007 9416 2012 12 0104 01 1 序言 本系统是设计一款基于a...
嵌入式系统
期末作业考核。满分100分。一 判断题 每题3分,共30分 1.嵌入式系统中的软件系统主要由嵌入式操作系统和应用软件组成,其中嵌入式微处理器属于嵌入式软件系统的核心。答 错。2.运行在智能手机或平板电脑中的android系统是一种嵌入式操作系统。答 对。3.windriver公司所提供的软件开发包是...
嵌入式系统
关于嵌入式系统 献给热爱此道的初学者们前言。网上看到众多网友都问了关于嵌入式系统方面的很多问题,很多都可在这里找到答案,希望我的这篇文章能给他们以启发。也请大家不要轻易 一 嵌入式系统的概念。着重理解 嵌入 的概念。主要从三个方面上来理解。1 从硬件上,将基于cpu的处围器件,整合到cpu芯片内部,...