嵌入式系统重点复习

合集下载

嵌入式复习资料精

嵌入式复习资料精

第一章嵌入式系统基础知识1.嵌入式系统基础知识计算机系统的两个发展分支通用计算机与嵌入式计算机嵌入式系统的一般定义、IEEE定义一般定义:以应用为中心、以计算机技术为基础,软硬件可裁剪,应用系统对功能、可靠性、成本、体积、功耗和应用环境有特殊要求的专用计算机系统。

是将应用程序、操作系统和计算机硬件集成在一起的系统。

(技术角度)嵌入式系统是设计完成复杂功能的硬件和软件,并使其紧密耦合在一起的计算机系统。

(系统角度)广义定义:任何一个非计算机的计算系统。

IEEE (国际电气和电子工程师协会)定义:嵌入式系统是“用于控制、监视或者辅助操作的机器、设备或装置”。

嵌入式系统4个组成部分嵌入式微处理器、外围硬件设备、嵌入式操作系统、用户应用程序嵌入式系统的三个基本要素嵌入性、专用性、计算机系统嵌入式系统的软硬件特点硬件方面:稳定性、低功耗、体积受限、看门狗电路、成本低、系统资源少软件方面:实时性、可裁剪性、精简性、人机界面要求不高嵌入式系统的硬件架构以嵌入式处理器为中心,配置存储器、I/0设备、通信模块以及电源等必要的辅助接口组成。

嵌入式系统的硬件核心嵌入式微处理器嵌入式处理器的种类嵌入式微处理器、嵌入式微控制器、嵌入式DSP、嵌入式SOCS0CSOC是指在单芯片上集成数字信号处理器、微控制器、存储器、数据转换器、接口电路等电路模块,可以直接实现信号采集、转换、存储、处理等功能。

2.嵌入式系统硬件嵌入式微处理器的体系结构冯诺依曼结构:单一的程序和数据总线。

哈佛结构:独立的程序和数据总线。

RISC(精简指令集计算机)的概念及思想精华1979年,美国加州伯克利分校提出了RISC的概念,基本思想是尽量简化计算机指令功能,只保留那些功能简单,能在一个节拍内执行完成的指令,而把较复杂的功能用一段子程序实现。

RISC思想的精华就是通过简化计算机指令功能、简化计算机指令格式,使指令的平均执行周期减少,同时大量使用通用寄存器来提高计算机的工作主频,提高程序的速度。

嵌入式考试复习要点

嵌入式考试复习要点

1.1.1嵌入式系统的定义1.1.2嵌入式系统的组成1.2嵌入式处理器分类1.3.2 实时操作系统1.3.3 常见的嵌入式操作系统各个操作系统的特点1.4 解决优先级翻转问题的两种方法说出方法即可2.1 交叉编译环境的含义结合实验环境理解2.4 板级支持包概念3.1.1 ARM体系结构特点Thumb指令集与ARM指令的区别3.1.2 ARM体系结构包含哪几部分ARM的流水线结构3级流水线P62 ARM存储器结构P63 DMA3.1.3ARM处理器内核ARM7TDMI处理器内核ARM9TDMI处理器内核3.2.1 数据类型3.2.2 处理器模式3.2.3 处理器工作状态ARM与THUMB两种状态的区别3.2.4 寄存器组织通用寄存器、状态寄存器、程序计数器3.2.5 异常3.2.6 存储器格式大端与小端的区别3.3 掌握ARM基本寻址方式能读懂简单的ARM汇编指令程序段3.5 ARM9与ARM7的比较流水线方面两者区别及特点4.2.1 熟悉ARM汇编支持的伪指令4.2.3 ARM汇编语言程序的基本结构注意ARM汇编程序关键字的含义4.3 基于ARM的硬件启动程序包含那几部分工作?4.4 基于ARM的C语言与汇编语言混合编程掌握寄存器的使用规则、参数的传递规则4.4.3 C语言调用汇编程序方法注意参数的传递(有可能出程序解析题)5.1 S3C2410简介其特点,(填空题)5.1.1 S3C2410A特点掌握其特点,知识点较多体系结构、中断控制器5.2.1 S3C2410A的I/O口工作原理多少的口,分了几组掌握如何对I/O的寄存器编程例如:G口GPGCON、GPGGDAT的相应位如何设置。

(可能会有些编程题)5.2.2 I/O口编程实例掌握P231的例子。

5.3.1 ARM中断原理5.3.2 S3C2410A的中断控制器多少中断源、中断请求信号、优先级逻辑、中断的类别。

5.4 DMA的工作原理理解DMA工作原理,能说明。

嵌入式系统复习总结

嵌入式系统复习总结

第一章嵌入式系统导论一、嵌入式系统架构:(1)嵌入式系统的组成:嵌入式系统由硬件和软件两大部分组成,用于实现对其他设备的控制、监视或管理等功能。

前者是整个系统的物理基础,它提供软件运行平台和通信接口;后者实际控制系统的运行。

1、硬件:嵌入式微处理器、外围电路、外围硬件设备。

2、软件:嵌入式操作系统、用户的应用程序。

(2)嵌入式系统的软/硬件框架硬件:嵌入式微处理器、外围电路、外围硬件设备。

软件:嵌入式操作系统、用户的应用程序。

二、嵌入式定义:是以现代计算机技术为基础,以应用为中心,可以根据系统或用户需求(功能、可靠性、成本、体积、功耗、环境等),灵活裁剪软硬件模块的专用计算机系统;1、IEEE(国际电气和电子工程师协会)对嵌入式系统的定义:“用于控制、监视或者辅助操作机器和设备的装置”。

2、广义定义:任何一个非计算机的计算系统3、通俗的说法:1、把一个计算机嵌入到其他系统中构成的一个系统2、是一个应用3、主体是其他内容,计算机作为一个设备出现三、嵌入式系统的主要特点:(1)面向应用,(2)软硬件可剪裁。

(3)专用计算机控制系统。

四、嵌入式系统与单片机、PC相比的优势(1)性能方面:采用32位RISC结构微处理器,主频从30MHz到624MHz以上,处理能力大大超出单片机系统,接近PC机的水平,但体积更小,能够真正地“嵌入”到设备中;实性性方面:嵌入式机控制器内嵌实时操作系统(RTOS),能够完全保证控制系统的强实时性;(2)人机交互方面:嵌入式控制器可支持大屏幕的液晶显示器,提供功能强大的图形用户界面;输入方法多种多样;(3)系统升级方面:嵌入式控制器可为控制系统专门设计,其功能专一,成本较低,而且开放的用户程序接口(API)保证了系统能够快速升级和更新。

嵌入式系统的应用家用方面:数字电视、信息家电、智能玩具、手持通讯、存储设备的核心。

信息家电技术特点:1、处理器发展趋向低成本、高整合性与低耗能。

嵌入式系统复习要点

嵌入式系统复习要点

第一章 嵌入式系统概述1、嵌入式系统的定义嵌入式计算系统,简称为嵌入式系统。

究竟什么是嵌入式系统呢?● 《嵌入式计算系统设计原理》定义:“不严格地说:它是任意包含一个可编程计算机的设备,但是这个设备不是作为通用计算机而设计的。

因此,一台个人电脑并不能称之为嵌入式计算系统,尽管个人电脑经常被用于搭建嵌入式计算系统。

”● IEEE (国际电气和电子工程师协会)定义:“Device used to control, monitor, or assist the operation of equipment, machinery orplants ”。

● 微机学会定义:“嵌入式系统是以嵌入式应用为目的的计算机系统。

”并分为系统级、板级、片级。

● 目前被大多数人接受的一般性定义是:“嵌入式系统是以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积和功耗等严格要求的专用计算机系统。

”2、嵌入式系统的组成结构嵌入式系统的核心计算系统可以抽象出一个典型的组成模型:硬件层、中间层、软件层和功能层。

(1).硬件层:硬件层由嵌入式微处理器、存储系统、通信模块、人机接口、其它I/O 接口(A/D 、D/A 、通用I/O 等)以及电源等组成。

嵌入式系统的硬件层以嵌入式微处理器为核心。

(2).中间层:硬件层与软件层之间为中间层,它把系统软件与底层硬件部分隔离,使得系统的底层设备驱动程序与硬件无关。

中间层一般包括:硬件抽象层(HardwareAbstract Layer ,HAL )、 板级支持包(Board Support Package ,BSP )图1、嵌入式系统的组成结构(3).软件层:软件层由实时操作系统(Real Time Operating System ,RTOS )、文件系统、图形用户接口(Graphical User Interfaces , GUI )、网络系统及通用组件模块组成。

嵌入式系统复习

嵌入式系统复习
对用户来说,设备文件与普通文件并无区 别
46
6.4 主设备号和次设备号
主设备号:标识该设备的种类,也标识了 该设备所使用的驱动程序
次设备号:标识使用同一设备驱动程序的 不同硬件设备
所有已经注册(即已经加载了驱动程序) 的硬件设备的主设备号可以从 /proc/devices文件中得到
生成设备文件:[root]# mknod /dev/lp0 c 6 0
交叉编译器和交叉链接器是能够在宿主机 上运行,并且能够生成在目标机上直接运 行的二进制代码的编译器和链接器
基于ARM体系结构的gcc交叉开发环境中, arm-linux-gcc是交叉编译器,arm-linuxld是交叉链接器
嵌入式系统在链接过程中通常都要求使用 较小的函数库,如uClibc、uClibm 和 newlib等
Ext2fs 、JFFS和YAFFS
ext、 ext2、xia、vfat、minix、msdos、umsdos、 proc、smb、 ncp、iso9660、sysv、hpfs、affs、ufs、vfs等
41
5.3 使用BusyBox构建根文件系统
BusyBox包括系统不可或缺的 init 程序,以及其 他诸如 sed, ifconfig, halt, reboot, mkdir, mount, ln, ls, echo, cat, vi编辑器...等等,大小不过几百 K左右。
34
4.3 ARM存储管理机制
地址映射
单层, 段(section) 映射 大小:1MB
二层 页面映射 大页面:64KB 小页面:4KB 细小页面:1KB
35
单层映射三步骤
一、初始:32位CPU虚拟地址
高12位确定映射表位置

计算机三级考试《嵌入式系统开发技术》复习要点.docx

计算机三级考试《嵌入式系统开发技术》复习要点.docx

计算机三级考试《嵌入式系统开发技术》复习要点以下是对文章进行润色改写的结果:1.嵌入式系统的定义⑴定义:嵌入式系统是以应用为中心,以计算机技术为基础的专用计算机系统。

它具有软硬件可裁剪的特点,能够满足应用系统对功能、可靠性、成本、体积和功耗等方面的严格要求。

22)IP核模块有行为、结构和物理三个不同层面的设计。

根据描述功能行为的方式不同,可以将其分为软核、固核和硬核三类。

2.嵌入式系统的组成(I)硬件层:包括嵌入式微处理器、存储器、通用设备接口和I/O接口等。

其中,嵌入式核心模块由微处理器、电源电路、时钟电路和存储器CaChe组成。

CaChe位于主存和嵌入式微处理器内核之间,用于存放最近使用的程序代码和数据,以减小存储器访问瓶颈,提高处理速度。

(2)中间层(也称为硬件抽象层HA1.或板级支持包BSP):它将系统上层软件和底层硬件分离开来,使上层软件开发人员无需关注底层硬件的具体情况,只需根据BSP层提供的接口进行开发。

BSP具有硬件相关性和操作系统相关性两个特点。

设计完整的BSP需要完成硬件初始化和设备驱动程序设计两部分工作。

(3)系统软件层:由RTOS,文件系统、GUI、网络系统及通用组件模块组成。

RTOS是嵌入式应用软件的基础和开发平台。

(4)应用软件层:由基于实时系统开发的应用程序组成。

3.实时系统(I)定义:实时系统是能在指定或确定的时间内完成系统功能,并对外部或内部、同步或异步事件做出响应的系统。

(2)区别:通用系统主要追求平均响应时间和用户使用方便,而实时系统主要考虑在最坏情况下的系统行为。

(3)特点:时间约束性、可预测性、可靠性、与外部环境的交互性。

(4)硬实时(强实时):应用的时间需求必须得到完全满足,否则会造成重大安全事故、生命财产损失和生态破坏,如航天、军事系统。

(6)任务的约束包括:时间约束、资源约束、执行顺序约束和性能约束。

4、实时系统的调度(I)调度:给定一组实时任务和系统资源,确定每个任务何时何地执行的整个过程。

嵌入式考点总结

嵌入式考点总结

嵌入式系统复习重点一、嵌入式系统概论(第一章)1、嵌入式系统的定义P2从技术的角度定义:以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。

从系统的角度定义:嵌入式系统是设计完成复杂功能的硬件和软件,并使其紧密耦合在一起的计算机系统。

术语嵌入式反映了这些系统通常是更大系统中的一个完整的部分,称为嵌入的系统。

嵌入的系统中可以共存多个嵌入式系统。

(EG)可以将嵌入式系统定义成“嵌入到对象体系中的专用计算机应用系统”。

2、嵌入式系统三大基本要素P2嵌入性、专用性、内含计算机3、嵌入式系统的分类P5(中央处理器,或简称为处理器,英文缩写为CPU,功能:解译计算机指令以及处理计算机软件中的数据)嵌入式处理器可以分为以下几大类:▪嵌入式微处理器—EMPU;▪嵌入式微控制器—MCU;▪嵌入式DSP处理器—DSP;▪嵌入式片上系统—SOC;二、嵌入式系统硬件(第一章、第二章和第四章)1、嵌入式处理器P32、存储器片内和片外的读写操作P1033、AHB外设EMC:外部存储器控制P152VIC:向量中断控制器P1884、VPB外设P91定义、功能、寄存器设置三、嵌入式处理器1、处理器的分类◆嵌入式微处理器(Embedded Microprocessor Unit, EMPU)◆嵌入式微控制器(Microcontroller Unit, MCU)◆嵌入式DSP处理器(Embedded Digtal Signal Processor, EDSP)◆嵌入式片上系统(System On Chip)存储器1. 嵌入式微处理器从功能上来说可以分为哪两种?它们的含义分别是什么?2. 嵌入式微处理器按指令集不同可以分为哪两大类?两者的主要区别是什么?四、嵌入式处理器1、微处理器的体系架构◆算术格式◆功能单元◆3级流水线P20◆扩充的指令集2、以ARM7TDMI为例,说明ARM系列处理器的体系结构版本支持哪些功能?P19◆ARM7TDMI◆三级流水线包括哪三个步骤?P20ARM状态下:◆存储器访问的格式p48小端模式:LP系列ARM指定采用小端模式大端模式◆处理器的状态有哪两种?分别有什么特点?P24(ARM7TDMI处理器内核包含2套指令系统,分别为ARM指令集和Thumb指令集,并且各自对应1种处理器的状态:)▪ARM状态:32位,处理器执行字方式的ARM指令,处理器默认为此状态;▪Thumb状态:16位,处理器执行半字方式的Thumb指令。

嵌入式系统复习总结(精华)

嵌入式系统复习总结(精华)

第一章1、国内对于嵌入式系统的定义是什么?p1答:嵌入式系统是以应用为中心,以计算机技术为基础,软硬件可裁减,适用于应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。

2、什么是实时系统?根据实时性,嵌入式操作系统有哪些类型? 答:所谓实时系统是指在这种系统中,一个优先级高的任务能够得到立即的、没有延迟的服务,不需要等待任何其他优先级低的任务,一旦它得到CPU 的使用权,将一直执行直到工作结束或者出现更高级别的进程。

嵌入式操作系统是一种支持嵌入式系统应用的操作系统软件。

1)、传统的经典PTOS ,包括VxWorks 操作系统,以及其Tornado 开发平台;2)、嵌入式Linux 操作系统;3)、Windows CE 嵌入式操作系统;4)、uC/OS-II 实时操作系统。

注:实时系统的分类(1)硬实时系统:确保系统中的关键任务在确定的时间得到响应,不能有失败的情况,否则会出现严重后果;(2)软实时系统:设计的时候是有响应时间要求的,但是偶尔某些任务的响应时间超过这个限制也不会有严重的后果;(3)非实时系统:无响应时间的要求。

3、选择嵌入式操作系统原则有哪些?答:一般而言,在选择嵌入式操作系统时,可以遵循以下6个原则:市场进入时间、可移植性、可利用资源、系统定制能力、成本、中文内核支持。

4、列举一些常见的嵌入式操作系统。

答:常见的嵌入式系统有:Linux 、uClinux 、WinCE 、PalmOS 、Symbian 、eCos 、uCOS-II 、VxWorks 、pSOS 、Nucleus 、ThreadX 、Rtems 、QNX 、INTEGRITY 、OSE 、C Executive 。

5、嵌入式系统有什么特点?p11答:专用于特定任务、多类型处理器和处理器系统支持、极其关注成本、是实时系统、可裁剪性好、可靠性高、大多有功耗约束。

6、说说嵌入式系统的发展趋势。

p12答:(1)、嵌入式开发是一项系统工程,因此要求嵌入式系统产商不仅要提供嵌入式软硬件系统本身,同时还需要提供强大的硬件开发工具和软件包支持;(2)、网络化、信息化的要求随着因特网技术的成熟,带宽的提高而日益提高,使得单一功能的设备不再单一,结构更加复杂,这就要求芯片设计厂商在芯片上集成更多的功能;(3)、网络互联成为必然趋势;(4)、精简系统内核、算法,降低功耗和软硬件成本;(5)、提供友好的多媒体人机界面。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

题型:填空题40分(2*20) 简答题20分(每题5*4) 指令测试题 共20分4+4+8+4=20 综合题20分(10+5+5)复习提纲:第一章:1、 嵌入式的定义嵌入式系统的定义:嵌入式系 统是以应用为中心,以计算机技术为基础,软硬件可裁剪, 成本、体积和功耗等严格要求的专用计算机系统。

2、 嵌入式的组成结构 嵌入式系统的组成结构 :硬件层、中间层、 软件层和功能层。

3、 嵌入式系统的分类按照嵌入式软件结构分类:嵌入式系统可分为循环轮询系统、前后台系统和多任务系统。

4、与通用PC的区别答:嵌入式系统一般是专用系统,而PC是通用计算平台嵌入式系统的资源比PC少得多嵌入式系统软件故障带来的后果比PC机大得多嵌入式系统一般采用实时操作系统嵌入式系统大都有成本、功耗的要求嵌入式系统得到多种微处理体系的支持嵌入式系统需要专用的开发工具什么是多任务系统?多任务系统的特点有哪些?答:多任务系统的软件由多个任务、多个中断服务程序以及嵌入式操作系统组成。

特点:(1)每个任务都是一个无限循环的程序,等待特定的输入,从而执行相应的处理。

(2)这种程序模型将系统分成相对简单、相互合作的模块。

(3)不同的任务共享同一个CPU和其它硬件,嵌入式操作系统对这些共享资源进行管理。

(4)多个顺序执行的任务在宏观上看并行执行,每个任务都运行在自己独立的CPU上。

第二章2、指令集(分成ARM和THUMB)ARM 标准32位指令集THUMB 16位压缩形式,与多数CISC相比,编码密度更高,在流水线中进行动态压缩特点:①所有指令长度为32位.②多数指令在单周期内执行./在单时钟周期内执行Shift & ALU 操作③每条指令都有执行条件(load/store 结构,数据处理指令仅作用在寄存器上,三个操作数格式,合并ALU和移位器,用于高速的位操作,特殊的记忆接入指令,强大的自动检索地址模式,32 位和8位的数据类型,v4.中有16位的数据类型,灵活的多个寄存器load和store指令)④通过一个压缩器扩展指令3、ARM型号的识别,有几种变种ARM体系结构的版本1)Thumb指令集(T变种)2)长乘法指令(M变种)3)增强型DSP指令(E变种)4)Java加速器Jazelle(J变种)5)ARM媒体功能扩展(SIMD变种)4、寄存器组,特别是几种特殊的寄存器,R13,R14,R15…..还有程序状态寄存器各个bit的含义。

寄存器r13和r14的用途比较特殊:1.寄存器R13常作为堆栈指针(SP),被初始化成指向异常模式分配的堆栈。

处理异常时,在程序入口处将异常处理程序用到的其他寄存器的值压入堆栈,返回时重新将这些值加载到寄存器中。

这样就可以保证出现异常时不导致程序状态不可靠。

2.R14通常用作子程序链接寄存器(LR),当执行分支指令BL时,r15的内容拷贝到r14中,从而成为子程序调用后的返回地址。

采用这种方式可以类似地用来处理异常的返回。

程序计数器r15。

寄存器r15通常备用作程序计数器PC。

在ARM状态下,由于ARM 指令始终是字对准的,因此PC的值保存在位[31:2],而位[1:0]位0;在Thumb状态下,由于Thumb指令时半字对准的,因此PC的值保存在位[31:1],而位[0]位0。

P39①读程序计数器PC:用指令读出的r15的值为指令地址加8个字节。

读PC主要用于快速对临近的指令和数据进行位置无关的寻址。

②写程序计数器PC:写r15的结果是将写到r15的值作为指令地址,并根据这个地址发生转移。

当前程序状态寄存器CPSR。

当前程序状态寄存器(CPSR)在用户级编程时用于存储条件码。

例如,使用CPSR的相应位来记录比较操作的结果和控制转移的条件。

此外,CPSR 还包含了中断禁止位、当前处理器模式以及其他的一些状态和控制信息。

同时,为了在异常出现时能够保存CPSR的状态,每种异常模式都设置了一个程序状态保存寄存器(SPSR)。

3、指令集,ARM有特色的指令,比如条件执行,块传送指令,ARM和THUMB的切换(一些常见的编程格式错误,详见PPT),区别ARM指令集条件执行是指只有在当前程序状态寄存器CPSR中的条件码标志满足指定的条件时,带条件码的指令才能执行。

条件转移是绝大多数指令集的标准特征,但ARM指令集将条件执行扩展到所有指令,包括监控调用和协处理器指令。

条件域占据32个指令域的高岑位,如图2.17所示。

条件域共有16个值,即16个条件码,如表2-5所示,其中AL阻lways涤件是缺省条件。

1)LDR、STR2)LDM、STM P52句法:op{cond}mode Rn{!},reglist{^}符号说明:mode:包括IA每次传送后地址加1 IB一每次传送前地址加1DA每次传送后地址减1 DB——每次传送前地址减1FD--满递减堆栈ED--空递减堆栈FA——满递增堆栈EA空递增堆栈Reglist:加载或存储的寄存器列表,包含在括号中,也可以包含寄存器的范围,必须用逗号隔开。

^:可选后缀。

不允许在用户模式或系统模式下使用。

用途包括以下两点:若op是LDM,且reglist中包含R15,则进行多寄存器传送时,也将SPSR拷贝到CPSR;用于从异常返回,仅在异常模式下使用。

数据传送的是用户模式的寄存器,而不是当前模式的寄存器。

指令说明:指令用于加载或存储多个寄存器,可传送R0~R15的任何组合。

指令忽略地址的位[1:0]。

到R15的加载将引起处理器转移到加载地址处的指令。

如果Rn包含在寄存器列表中,且用“!”表明要写回,那么若op是STM,且Rn是寄存器列表中数字最小的寄存器,则Rn的初值被保存;否则,Rn的加载和存储值不可预知。

例:LDMIA R8,{R0,R2,R9}STMDB R1!,{R3-R6,R11,R12}STMFD R13!,{R0,R4-R7,LR} ;寄存器进栈LDMFD R13!,{R0,R4-R7,PC} ;寄存器出栈,从子程序返回STMIA R5!,{R5,R4,R9} ;错误,R5的值不可预知LDMDA R2,{} ;错误,列表中至少要有一个寄存器ARM分支指令P57-62Thumb指令集P62 Thumb状态切换P63CPSR的T位决定ARM处理器执行的是ARM指令流还是Thumb指令流。

若T置1,则认为是Thumb指令流;若T置巳则认为是ARM指令流。

⑴进入Thumb状态。

系统复位后,处理器处于ARM状态。

执行BX指令,将转移地址寄存器的位[0]置1,其他位放入PC,即可进入Thumb状态。

由于BX指令引起转移,因此流水线被刷新,已在流水线上的指令将被丢弃。

⑵退出Thumb状态。

退出Thumb状态的方法与进入Thumb状态的方法相对应,使用BX指令,将转移地址寄存器的位[1:0]置为b00,即可退出Thumb状态。

如果发生异常,无论处理器当前的工作状态如何,异常都会使处理器返回到ARM状态。

Thumb指令集与ARM指令集的区别⑴Thumb指令除了分支B指令外大多是无条件执行的。

⑵大多数Thumb指令采用2地址格式,即目的寄存器和源寄存器。

⑶Thumb指令集没有协处理器指令、信号量(semaphore)指令和访问PSR的指令。

⑷Thumb分支指令与ARM分支指令相比,在寻址范围上有更多限制。

⑸Thumb数据处理指令访问R8~R15受限。

除MOV和ADD指令访问R8~R15外,数据处理指令总是更新CPSR的ALU状态标志。

访问RS~R15的Thumb数据处理指令不能更新标志。

⑹Thumb的寄存器Load/Store指令只能访问R0~R7。

PUSH和POP指令使用堆栈指针R13(SP)作为基址实现满递减堆栈。

除传送R0~R7外,PUSH还可用于存储链接寄存器R14(LR)POP还可用于加载程序计数器指针PC。

⑺Thumb伪指令不支持ADRL。

第三章1图3-10 分级存储器系统1.寄存器组寄存器组是最高一级的存储器。

在计算机设备中,寄存器组一般是微处理器内含的,ARM处理器中有37个寄存器。

有些待使用的数据或者运算的中间结果可以暂存在这些寄存器中。

微处理器在对本芯片内的寄存器读写时,速度很快,一般在一个时钟周期内完成。

从总体上说,设置一系列寄存器是为了尽可能减少微处理器直接从外部取数的次数。

但由于寄存器组是制作在微处理器内部的,受芯片面积和集成度的限制,寄存器的数量不可能做得很多。

2.高速缓冲存储器(Cache)第二级存储器是高速缓冲存储器(Cache)。

高速缓存是一种小型、快速的存储器,其存取速度足以与微处理器相匹配。

高速缓存能够保存部分内存的内容的拷贝,如果正确使用,它能够减少内存平均访问时间。

3.内存第三级是内存。

运行的程序和数据都放在内存中。

由于微处理器的寻址大部分在高速缓存上,内存就可以采用速度稍慢的存储器芯片,对系统性能的影响不会太大,同时又降低了成本。

内存除主要使用RAM外,还要使用一定量的ROM。

4.外存最低一级存储器是大容量的外存。

这种外存容量大,但是在存取速度上比内存要慢得多。

目前嵌入式系统中常用闪存作为大容量硬盘存储各种程序和数据。

第四章1、驱动层直接和硬件相关的驱动层软件的类型和用途嵌入式软件的体系结构包括驱动层、操作系统层、中间件层和应用层。

其中,驱动层直接与硬件相关,为操作系统和应用程序提供支持。

可以将驱动层软件分为三种类型:⑴板级初始化程序:在系统上电后,初始化系统的硬件环境,包括嵌入式微处理器、存储器、中断控制器、DMA和定时器等。

⑵与系统软件相关的驱动程序:用于支持操作系统和中间件等系统软件所需的驱动程序。

嵌入式微处理器已经提供了操作系统内核所需的硬件支持,因此开发人员一般所需编写的驱动程序主要是键盘、显示器、外存、网络等外部设备的驱动程序。

⑶与应用软件相关的驱动程序:这类驱动程序不一定要与操作系统连接,其设计和开发由应用所决定。

2、BSP和HAL的概念设备驱动概述:使用任何外部设备都需要有相应驱动程序的支持。

驱动程序为上层软件提供设备的操作接口。

驱动层软件有两个重要的概念:硬件抽象层(HAL,Hardware Abstraction Layer)和板级支持包(BSP,Board Support Package)。

可以简单地理解为硬件抽象层与硬件具有更加紧密的相关性,而板级支持包与操作系统具有更加紧密的相关性。

具体地讲,硬件抽象层的目的是为了将硬件抽象化,即通过程序来控制诸如CPU、I/O、存储器等硬件的操作,从而使得系统的设备驱动程序与硬件无关。

P135设计板级支持包的目的主要是为驱动程序提供访问硬件设备寄存器的函数包,从而实现对操作系统的支持。

为保证与操作系统保持正确的接口,以便良好地支持操作系统,不同的操作系统应对应不同定义形式的板级支持包。

相关文档
最新文档