嵌入式系统复习提纲
嵌入式系统复习提纲

一、ARM架构1、简述ARM处理器的工作模式•ARM体系结构支持7种处理器模式,分别为:用户模式、快中断模式、中断模式、管理模式、中止模式、未定义模式和系统模式,如下表所示。
这样的好处是可以更好的支持操作系统并提高工作效率。
ARM7TDMI完全支持这七种模式2、分述特权模式和异常模式的特点除用户模式外,其它模式均为特权模式。
ARM内部寄存器和一些片内外设在硬件设计上只允许(或者可选为只允许)特权模式下访问。
此外,特权模式可以自由的切换处理器模式,而用户模式不能直接切换到别的模式。
•快中断中断管理中止未定义•这五种模式称为异常模式。
它们除了可以通过程序切换进入外,也可以由特定的异常进入。
当特定的异常出现时,处理器进入相应的模式。
每种异常模式都有一些独立的寄存器,以避免异常退出时用户模式的状态不可靠。
3、ARM指令系统中的寻址方式。
寻址方式是处理器执行指令时寻找真实操作数地址的方式。
ARM处理器支持9种基本寻址方式:寄存器寻址;立即寻址;多寄存器寻址;堆栈寻址;块拷贝寻址;相对寻址;寄存器移位寻址;寄存器间接寻址;基址寻址二、ARM硬件结构1、简述ARM常用的存储系统构成2、从使用角度说明SDRAM、NOR FLASH和NAND FLASH的特点SDRAM是英文SynchronousDRAM 的缩写,译成中文就是同步动态存储器的意思。
从技术角度上讲,同步动态存储器(SDRAM)是在现有的标准动态存储器中加入同步控制逻辑(一个状态机),利用一个单一的系统时钟同步所有的地址数据和控制信号。
使用SDRAM 不但能提高系统表现,还能简化设计、提供高速的数据传输。
在功能上,它类似常规的DRAM,且也需时钟进行刷新。
可以说,SDRAM 是一种改善了结构的增强型DRAM。
目前的SDRAM有10ns 和8ns。
Flash容量:NAND Flash容量通常在8 MB以上,可以达到高存储密度,并且写入和擦除的速度也很快,应用NAND Flash的困难在于需要特殊的系统接口。
嵌入式期末复习提纲(包含复习资料)

考试题型:•1、判断题 10分•2、填空题 20分•3、选择题 20分•4、简答题 30分(5个)•5、应用题 20分(3个)•6、名字解释复习资料:•书本•课件,平时课堂例题。
•平时作业和练习•考试范围:1-5章•其他说明:•课后习题是重点。
•简答题来源于前5章,每章一个。
每章重点:第一章:1.什么是嵌入式系统?试简单列举一些生活中常见的嵌入式系统的实例。
嵌入式系统是用于检测、控制、辅助、操作机械设备的装置。
以应用为中心,一计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积和功耗等严格要求的专用计算机系统。
2.嵌入式系统具有哪些特点?3.嵌入式系统由哪些部分组成?简单说明各部分的功能和作用。
4.嵌入式系统是怎样分类的?5.嵌入式系统的定义。
嵌入式系统是用于检测、控制、辅助、操作机械设备的装置。
以应用为中心,一计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积和功耗等严格要求的专用计算机系统。
6.什么是交叉编译,试说明交叉编译的实现过程。
7.嵌入式系统有哪些应用领域。
嵌入式系统技术具有非常广阔的应用前景,其应用领域可以包括:1.工业控制:基于嵌入式芯片的工业自动化设备将获得长足的发展,目前已经有大量的8、16、32 位嵌入式微控制器在应用中,网络化是提高生产效率和产品质量、减少人力资源主要途径,如工业过程控制、数字机床、电力系统、电网安全、电网设备监测、石油化工系统。
就传统的工业控制产品而言,低端型采用的往往是8位单片机。
但是随着技术的发展,32位、64位的处理器逐渐成为工业控制设备的核心,在未来几年内必将获得长足的发展。
2.交通管理:在车辆导航、流量控制、信息监测与汽车服务方面,嵌入式系统技术已经获得了广泛的应用,内嵌模块,模块的移动定位终端已经在各种运输行业获得了成功的使用。
目前设备已经从尖端产品进入了普通百姓的家庭,只需要几千元,就可以随时随地找到你的位置。
嵌入式系统原理期末复习提纲

嵌入式系统原理期末复习提纲I.嵌入式系统概述A.嵌入式系统定义及特点B.嵌入式系统应用领域C.嵌入式系统的组成和发展历程II.嵌入式系统硬件平台A.微处理器和微控制器1.嵌入式处理器的特点和分类2.微控制器的组成和功能B.存储器1.ROM、RAM和闪存的特点和应用2.存储器层次结构和访问速度C.输入输出设备1.常用的输入输出设备及其接口2.外设管理和设备驱动程序设计III.嵌入式系统软件设计A.系统软件概述1.嵌入式操作系统的作用和特点2.应用程序和设备驱动程序的开发B.嵌入式操作系统1.嵌入式操作系统的分类和选择2.嵌入式操作系统的组成和功能C.实时性和调度1.实时系统和非实时系统的区别2.实时任务调度算法和实时性分析方法D.嵌入式软件开发工具和环境1.嵌入式软件开发流程和工具链2.集成开发环境和仿真调试工具的应用IV.嵌入式系统通信和网络A.系统通信介质1.串行通信和并行通信的特点和应用2.无线通信和有线通信的比较B.数据通信协议1.常用的通信协议及其特点2.数据通信协议的设计和实现C.网络和通信协议1.嵌入式网络的分类和应用2.嵌入式网络协议的体系结构和功能V.嵌入式系统性能优化和测试A.系统性能优化1.优化目标和方法2.硬件优化和软件优化的措施B.系统功耗管理2.低功耗设计和功耗管理方法C.系统测试和调试1.测试方法和策略2.调试工具和技术的应用VI.嵌入式系统安全和可靠性A.系统安全性1.嵌入式系统安全威胁和攻击方式2.安全策略和防护技术B.系统可靠性1.可靠性定义和指标2.提高系统可靠性的方法和技术C.系统错误处理1.常见的系统错误类型和处理方式2.异常处理和错误恢复机制VII.嵌入式系统开发案例分析A.实际案例介绍B.案例分析和设计思路C.案例实现和效果评估以上提纲以嵌入式系统原理为基础,围绕嵌入式系统的硬件平台、软件设计、通信和网络、性能优化和测试、安全和可靠性及案例分析等方面进行了全面的复习内容概括。
嵌入式系统基础-复习提纲

嵌入式系统基础复习题第1章嵌入式系统概论1、什么是嵌入式系统?嵌入到对象体系中的专用计算机应用系统。
2、嵌入式系统的3个基本特点?嵌入性、专用性、计算机3、什么是嵌入式处理器,嵌入式处理器可以分为几大类?嵌入式处理器是为了完成特殊的应用而设计的特殊目的的处理器。
分为嵌入式微处理器、嵌入式微控制器、嵌入式DSP处理器、嵌入式片上系统(SOC)。
4、什么是嵌入式操作系统和?有何特点?列出常见的几种嵌入式操作系统及特点。
5、试比较说明JA TG工具和ISP工具的异同点?6、从硬件系统来看,嵌入式系统由哪几部分组成?画出简图。
第2章ARM7体系结构1、什么是RISC指令系统?什么是CISC指令系统?RISC是精简指令集计算机的缩写。
CISC是复杂指令集计算机的缩写。
2、ARM与ARM公司有什么区别?举出2个以上的ARM公司当前应用比较多的ARM处理器核?ARM7系列、ARM9系列、ARM10系列、ARM11系列、intel的Xscale系列和MPCore系列。
3、ARM7TDMI中的T、D、S、I分别表示什么含义?T:支持高密度16位的Thumb指令集D:支持片上调试S:ARM7TDMI 的可综合(synthesizable)版本(软核)I:支持EmbededICE观察硬件M:支持64位乘法4、ARM7TDMI处理器采用什么样的体系结构,其可寻址地址空间多大?ARM处理器使用冯.诺依曼结构使用单个平面的232个8位字节地址空间。
地址空间可以看作是包含230个32位字,或231个16位半字。
5、ARM7TDMI与ARM9处理器采用几级流水线处理,使用何种存储器编址方式?ARM7TDMI处理器采用三级流水线。
ARM处理器将存储器看做是一个从0开始的线性递增的字节集合。
6、ARM处理器有几种模式和ARM处理器状态有什么区别?各种工作模式下分别有什么特点?R M处理器模式指用户模式、快中断模式、中断模式、管理模式、中止模式、未定义模式和系统模式。
嵌入式复习课整理

第1章复习提纲1、嵌入式系统的定义2、嵌入式系统的分类,简述你所学过的嵌入式系统3、几种常见的嵌入式操作系统WindowsCE、uC/OSII、uCLinux、VxWorks、Palm OS等4、嵌入式系统的应用领域信息家电、移动计算设备、汽车电子、工业控制、机器人、军事领域等。
、第2章嵌入式系统体系结构2、目前应用比较广泛ARM处理器系列是:ARM7、ARM9、ARM9E、ARM10,各系列特点……3、ARM920TDMI命名含义4、ARM指令集和Thumb指令集特点5、ARM920T微处理器的指令流水采用了典型的RISC五级流水线结构,将指令执行过程分为取指、译码、执行、访存和写回5个步骤。
6、ARM处理器支持下列数据类型:字节8位;半字16位(占用两个字节)、字32位(占用4个字节)。
7、ARM处理器的7种工作模式8、ARM9的存储组织结构:32位长的地址,它把存储器看成是0地址开始的字节的线性组合,即一个地址对应于一个存储字节,其范围是232个字节(8位二进制数)。
9、ARM9处理器的内部总共有37个32位的寄存器,其中31个用作通用寄存器,6个用作状态寄存器,每个状态寄存器只使用了其中的12位。
这37个寄存器根据处理器的状态及其工作模式的不同而被安排成不同的组。
10、几个重要的寄存器:R13—堆栈指针、 R14—链接寄存器 R15—程序计数器、 CPSR -状态寄存器 SPSR —备份的状态寄存器 11、CPSR12、什么是异常13、什么是异常向量表异常出现后处理器强制从异常类型所对应的固定存储器地址开始执行程序,这些存储器地址称为异常向量表。
14、进入异常时,ARM9内核完成以下动作:(1)将下一条指令的地址保存在相应的LR 寄存器中。
(2)将CPSR 复制到相应的SPSR 中。
(3)迫使CPSR 模式位M[4:0]的值设置成对应的异常模式值 (4)迫使PC 从相关的异常向量取下一条指令。
嵌入式提纲复习

1.1 嵌入式系统基本概念从技术的角度定义:以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。
从系统的角度定义:嵌入式系统是设计完成复杂功能的硬件和软件,并使其紧密耦合在一起的计算机系统。
IEEE对嵌入式系统的定义为:嵌入式系统是“用于控制、监视或者辅助操作机器和设备的装置”(devices used to control、monitor、or assist the operation of equipment、machinery or plants)这主要是从应用对象上加以定义,涵盖了软、硬件及辅助机械设备。
1.2 嵌入式系统的分类(1) 按表现形式分(硬件范畴)芯片级嵌入(含程序或算法的处理器)模块级嵌入(系统中的某个核心模块)(2) 按实时性要求分(软件范畴)非实时系统(PDA)软实时系统(消费类产品)硬实时系统(工业和军工系统)嵌入式处理器嵌入式处理器可以分为以下几类:嵌入式微处理器EMPU(Embedded Microprocessor Unit)嵌入式微控制器MCU(Microcontroller Unit)嵌入式DSP(Digital Signal Processor)嵌入式片上系统SoC (System On Chip)1.3 常见的嵌入式操作系统∙嵌入式操作系统的种类繁多,但大体上可分为两种——商用型和免费型。
∙目前商用型的操作系统主要有VxWorks、Windows CE 、Psos、Palm OS、OS-9、LynxOS、QNX、LYNX等;∙它们的优点是功能稳定、可靠,有完善的技术支持和售后服务,而且提供了如图形用户界面和网络支持等高端嵌入式系统要求许多高级的功能;缺点是价格昂贵且源代码封闭性,这大大限制了开发者的积极性。
目前免费型的操作系统主要有Linux和µC/OS-II,它们在价格方面具有很大的优势。
嵌入式操作系统复习提纲-仅供参考

复习提纲―――仅供参考!!!!!!!!!!第1部分嵌入式系统导论嵌入式系统的定义嵌入式计算机与通用计算机的异同嵌入式系统的组成嵌入式系统的特点及每个特点的说明嵌入式系统的分类:按实时性分,嵌入式系统可分为几类?它们的特点是什么?|| 按软件结构分,嵌入式系统可分为几类?它们的优缺点是什么?分别适用于哪些系统?|| 前后台系统的组成和运行模式如何?需要考虑的主要因素有哪些?主要性能指标是什么?|| 单处理器多任务系统由哪些部分组成?其运行方式如何?嵌入式的主要应用领域有哪些?嵌入式系统的发展趋势第2部分嵌入式系统硬件设计嵌入式硬件系统由哪几部分组成几个基本概念:冯.诺依曼与哈佛结构、流水线构、CISC和RISC、主存、外存、MPU、MMU、Cache、TCM、Write buffer、总线、异常、交叉编译、交叉开发、寻址方式、堆栈CISC和RISC的异同ARM处理器的特点ARM处理器的分类ARM的异常类型及对异常的处理过程,异常的优先级ARM微处理器的编程模型,CPU模式,处理器的工作状态,寄存器及寄存器的作用CPSR寄存器复位后,ARM处理器执行什么操作?ARM微处理器的内存和I/O:大小端,对齐方式,CPU和I/O的接口信息,I/O的映射方式总线分类,总线的主要参数AMBA总线及组成串行总线主存、外存NOR和NAND Flash的异同嵌入式系统设计主要步骤及每步骤的分析最小系统组成及每部分作用JTAG的作用及引脚在嵌入式系统中,串口的作用ARM指令系统:ARM寻址方式及ARM指令集ARM处理器版本ARM处理器指令系统第3部分嵌入式软件系统几个基本概念:软件、嵌入式操作系统体系结构、Bootloader、进程、任务、任务切换、中断、中断向量表、内存管理嵌入式软件系统的分类嵌入式软件系统的体系结构及每部分的组成和作用嵌入式软件运行流程及每部分的作用嵌入式软件的特点嵌入式操作系统的分类操作系统体系结构分类嵌入式操作系统组成嵌入式内核主要功能嵌入式文件系统功能为什么要交叉编译交叉编译工具链包括什么,及每部分的作用交叉编译环境建立的3种方法Bootloader的主要任务、操作模式、烧写硬实时、软实时采用多任务的好处进程的构成,进程控制块包含的信息引入线程概念后,可把进程和线程分为几种模型嵌入式实时内核使用什么模型任务与程序的区别任务分类任务参数实时内核中,三种基本任务状态是什么任务状态与变迁任务控制块包含什么信息任务切换基本操作步骤任务切换时机内核任务管理机制包括任务创建时通常要使用的信息任务创建要完成什么工作中断分类中断控制器作用中断处理过程中断服务程序主要内容实时内核中断管理内容实时内核提供的中断管理功能内存管理机制,常用管理方式,可变大小存储区管理,堆的操作 MMU的功能MMU用来进行内存保护,可实现什么在内存保护方面,MMU提供了什么措施嵌入式I/O系统管理分层思想(PPT88页)I/O系统工作过程Linux内核版本号含义Linux设备驱动主要完成的功能Linux设备文件分类及其含义Linux设备驱动的特点编写Linux驱动大致过程结合嵌入式目标板,实现Linux设备驱动的大致流程。
嵌入式复习提纲

嵌入式复习提纲程序题(1分析 2设计)分析题对RTC内部寄存器读取操作 void rtcread(void) {INT8U Y,MO,D,W,H,MI,S; //**使能RTC读写操作rRTCCON=(INT8U)(rRTCCON|0x01) //**读取日期和时间 Y=rBCDYEAR;MO=rBCDMON; D=rBCDDAY; W=rBCDDATE; H=rBCDHOUR; MI=rBCDMI;S=rBCDSEC;//**关闭RTC读写操作rRTCCON=(INT8U)(rRTCCON&0xfe)//**将合并BCD码转换为十进制,放到对应的变量中year=(Y&0x0f)+(Y&0xf0)/16*10+2000; month=(MO&0x0f)+(MO&0x10)/16*10;day=(D&0x0f)+(D&0x30)/16*10; wkday=W&0x07;hour=(H&0x0f)+(H&0x30)/16*10; minute=(MI&0x0f)+(MI&0x70)/16*10; second=(S&0x0f)+(S&0x70)/16*10; }设计题用ARM指令编程实现64位数0xEE000000FF和0x9876543210的加法,想加的结果保存在起始地址为0x40001000的存储空间里,采用小端存储模式。
AREAex1,CODE,READONLY ENTRYstart MOV R0,#000000FF;低32位 MOV R1,#000000EE;高32位 LDRR2,#76543210;低32位 LDR R3,#00000098;高32位 ADDS R4,R0,R2 ADCS R5,R1,R3 LDR R6,#40001000STM R6!,{R4,R5};小端存储 STOP MOV R0,#0x18 LDR R1,=0x20026 SWI 0XAB END若需要利用S3C2410芯片Timer部件中的Timer2通道产生一个周期约为1000ms的脉冲信号,系统的PLCK=66MHz,写出初始化程序。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
嵌入式系统复习提纲第一章绪论1.嵌入式系统的定义(1)广义:根据IEEE(电气和电子工程师协会)的定义,嵌入式系统是“用来控制或监视机器、装置或工厂等大规模系统的设备”。
(2)狭义:国内嵌入式行业一个普遍被认同的定义,即以应用为中心,以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。
2.嵌入式实时操作系统嵌入式实时操作系统是指在限定的时间内对输入进行快速处理并做出响应的嵌入式操作系统。
3.当前最常见的源码开放的嵌入式操作系统有哪些,请举出两例,并分析其特点。
(1)嵌入式Linux,特点:源代码开放、开发工具多、内核小、功能强大、运行稳定、效率高等(2)μC/OS-II,特点:源代码公开、可移植性、可固化、可裁剪、占先式、多任务、可确定性第二章ARM技术与ARM体系结构1.ARM的含义ARM通常具有如下三种含义:(1)ARM是Advanced RISC Machine Limited的简称(代表一个公司);(2)ARM是Advanced RISC Machine Limited公司的产品,该产品以IP Core(知识产权核)的形式提供,并可泛指许多半导体厂商购买了这种知识产权后生产出来的“ARM处理器系列的芯片以及衍生品”(代表一类微处理器的通称);(3)ARM是一种RISC MPU/MCU(微处理器/微控制器)的体系结构,如同X86架构是一种CISC结构一样,另外,还有MIPS架构,PowerPC架构等(代表一种技术)。
2.ARM内核版本命名规则见课本P123.流水线内核结构ARM7采用了三条流水线的内核结构,三级流水线分别为取指(Fetch)、译码(Decode)、执行(Excute)ARM920,在指令操作上采用五级流水线,即取指、译码、执行、存储器访问(简称:访存)和寄存器回写(简称:回写)4.ARM处理器的工作模式ARM处理器共有七种工作模式,即用户模式(USR),快速中断模式(FIQ),普通中断模式(IRQ),管理模式(SVC),终止模式(ABT),未定义指令异常模式(UND)和系统模式(SYS),除用户模式外,其他6种处理器模式可以称为特权模式,在6种特权模式中,除了系统模式外,其他5中特权模式又称为异常模式,每种异常都对应有自己的异常处理入口点。
5.ARM内部寄存器在ARM处理器内部共有37个寄存器,这些寄存器包括以下两类寄存器:31个通用寄存器:包括程序计数器PC等,这些寄存器都是32位的寄存器6个状态寄存器:状态寄存器也是32位的寄存器6.ARM7内部寄存器R13、R4和R15的主要功能和作用通用寄存器R13通常被用作栈指针,也称为SP;R14又被称为链接寄存器(LR),在ARM中有两种特殊的用途:(1)当使用BL或者BLX指令调用子程序时,R14被设置成该程序的返回地址。
在子程序中当把R14的值复制到程序计数器PC时,就实现了子程序返回。
(2)当发生异常中断的时候,该模式下的特定物理R14被设置成该异常模式将要返回的地支。
R15,也即程序计数器(也称程序指针)PC,指向被取指的指令。
7.程序状态寄存器(主要了解V、C、Z、N的置位复位情况)V——溢出标志位C——进位或借位标志位Z——结果为零标志位N——符号标志位具体置位情况见课本P228.ARM异常处理ARM异常类型有复位、未定义指令、软件中断、预取指终止、数据终止、IRQ中断、FIQ 中断等(1)异常产生时ARM进行的操作P23-P24等四点(2)异常返回操作A、从SWI和未定义指令返回,指令:MOVS PC,LRB、从FIQ中断、IRQ中断和预取异常返回,指令:SUBS PC,LR,#4C、从数据异常返回,指令:SUBS PC,LR,#89.ARM数据存储方式ARM处理器对存储器操作的数据单元包括字节(8bit)的存取、半字(16bit)的存取、字(32bit)的存取。
数据存储格式根据字节在内存单元中高低地址的分配次序可将存储格式分为两种:小端存储格式和大端存储格式。
小端存储格式即对于字或半字单元的存储,其高字节存储于高地址,低字节存储于低地址;大端存储格式即对于字或半字单元的存储,其高字节存储于低地址,低字节存储于高地址。
10.ARM流水线技术分析程序计数器R15(PC)总是指向“正在取指”的指令,而不是指向“正在执行”的指令或“正在译码”的指令。
所以PC始终指向该指令地址加8字节的地址,即PC值等于当前程序执行位置加8。
互锁:当前指令的执行可能需要前面指令执行的结果,但这时前面的指令没有执行完毕,从而会导致当前指令的执行无法获得合法的操作数,这时就会引起流水线的等待,这种现象在流水线机制里称为互锁。
第三章ARM指令寻址方式1.ARM指令的编码格式每条ARM指令占有4个字节,其指令长度为32位。
其中type(bit[27:26]):表示指令的类型:其他见课本P312.指令条件码需理解(课本P32,表3-2)3.数据处理指令第二操作数的构成方式数据处理指令第二操作数operand2的构成有三种格式:立即数方式、寄存器方式和寄存器移位方式合法立即数的判断要求掌握数据处理指令编码格式要求掌握4.Load/Store指令寻址根据访问数据格式的不同,将这类指令的寻址分为字、无符号字节的Load/Store指令寻址和半字、有符号字节的Load/Store指令寻址两类根据访问存储单元和基地址寄存器更新的先后顺序可以将基址加变址寻址分为两种:(1)前变址法:基地址寄存器中的值和地址偏移量先做加减运算,生成的操作数作为内存访问的地址。
(2)后变址法:将基地址寄存器中的值直接作为内存访问的地址进行操作,内存访问完毕后基地址寄存器中的值和地址偏移量做加减运算,并更新基地址寄存器。
Load/Store指令编码格式要求掌握字,无符号字节寻址指令中,偏移量(地址模式)可以通过三种方式得到,即:立即数、寄存器和寄存器移位。
5.杂类Load/Store指令(半字、有符号字)后缀:SB,Signed Byte,表示有符号字节SH,Signed Half Word,表示有符号半字H,Unsigned Half Word,表示无符号半字杂类Load/Store指令的偏移量(地址模式)只有两种,即:立即数和寄存器6.批量Load/Store指令寻址方式批量Load/Store指令在实现寄存器组和连续的内存单元中数据的传递时,有两种实现方法,即进行内存操作和堆栈操作,分别通过在LDM/STM指令后加不同的后缀来实现:(1)内存操作后增IA(Increment After);先增IB(Increment Before);后减(Decrement After);先减DB(Decrement Before)概念弄清楚(2)堆栈操作堆栈是一种数据结构,按先进后出(First In Last Out,FILO)的方式工作,使用一个称做是堆栈指针的专用寄存器指示当前的操作位置,堆栈指针总是指向栈顶,在ARM里通常用R13作为栈指针满递增堆栈FA(Full Adcending),满递减堆栈FD(Full Decending),空递增堆栈EA (Empty Ascending),空递减堆栈ED(Empty Decending)概念弄清楚第四章ARM指令集系统1.ARM微处理器指令集分类ARM微处理器的指令集可以分为数据处理指令、分支指令、加载/存储指令、批量加载/存储指令、交换指令、程序状态寄存器(PSR)处理指令、协处理器操作指令和异常产生指令八大类。
2.基本指令操作码编码表见课本P51表4-2,需理解3.数据处理指令考察方法举例(1)将数据0XFFFFFFFF送入寄存器R0MOV R0,#-1MVN R0,#0(2)将R2中的内容乘以8倍后存入R1MOV R1,R2,LSL #0x03(3)求R1+R2和放在R1中ADD R1,R1,R2求R4R3+R2R1,结果存入R6R5(64位二进制数加法)ADDS R5,R3,R1ADC R6,R4,R2求R2R1+1,结果存入R4R3ADDS R3,R1,#1ADC R4,R2,#0(4)求R1-R2,差放在R1中SUB R1,R1,R2求R4R3-R2R1,结果存入R6R5(64位二进制数减法)SUBS R5,R3,R1SBC R6,R4,R2求R2R1-1,结果存入R4R3SUBS R3,R1,#1SBC R4,R2,#0(5)将R0低4位数据保留,其余位清零,并影响标志位AND R0,R0,#0x0F保持R0的高24位,低8位置1ORR R0,R0,#0xFF将R0的低8位按位取反EOR R0,R0,#0xFF清除R0中的低8位,其余位不变BIC R0,R0,#0xFF(6)将R0与R1比较,并根据比较的结果设置C和Z标志位CMP R0,R1(若R0>R1,则C=1,若R0<R1,则C=0,若R0=R1,则Z=1)(7)判断R0的低8位是否为0,并置Z标志位TST R0,#0x0FF判断R0的值与R1的值是否相等,并根据结果置Z标志位TEQ R0,R1(8)实现两个无符号32位二进制数的乘积,这两个数分别存于R0,R1中,乘积的结果存于R2,R3中UMULL R2,R3,R0,R1其他乘法指令亦要求理解掌握4.ARM分支指令ARM分支指令用于实现程序流程的跳转,在ARM程序中只有两种方法可以实现程序流程的跳转:(1)使用专门的分支指令(B)(2)直接将程序计数器PC写入跳转地址值程序无条件跳转到标号Label处B label ;当R1=0时,程序跳转到标号stop处执行CMP R1,#0BEQ stop ;程序无条件跳转到标号Label处执行,并将当前的PC值(下一条指令的地址)保存到LR 中BL Label程序跳转到R1指定的地址,并根据R1的bit[0]来切换处理器的状态BX R1该指令中,若R1的bit[0]为1,则跳转时将自动将CPSR中的标志位T置位,目标地址的代码为Thumb代码;如果R1的bit[0]为0,则跳转时自动将CPSR中的T标志位清0,目标地址的代码为ARM代码BLX指令为BL指令和BX指令结合,目标地址可以用标号表示,也可以用寄存器中存储的地址,BX指令的目标地址只能用寄存器来存储,B指令和BL指令的目标地址只能用标号表示,能够实现的跳转范围是-32MB-+32MB(凡是标号表示的目标地址都不超出此范围)5.加载存储指令参考课本P66-P69,例4-27至例4-29,要求能根据指令写出指令实现的加载/存储功能,或者根据需要加载/存储某些数据(字、字节、半字、有无符号等数据)写出相应的指令。