arm嵌入式期末复习
嵌入式处理ARM期末复习常见问答及答案

目录Q:嵌入式系统SoPC特点p6 (2)Q:Namd-Flash和Nor-Flash 的区别?Namd-Flash和Nor-Flash 启动过程中的区别? (2)Q:iic总线的结构,两根线是什么样,他的网络结构,区分两条线,icc总线的作用,作用在哪里9p (3)Q:建立一个基于Linux的嵌入式产品他开发的基本工作。
9p-p30 ,p273 (3)Q:ARM工作模式,切换条件 (5)Q:BL对存储器系统进行初始化涉及什么方面内容10bp-p44 (6)Q: Bootloader中对存储器进行内存映射的目的 (6)Q:BL要做些什么工作,几种工作模式,讲出来就ok啦10bp-39 (7)Q:寄存器的寻址指令,多寄存器的寻址指令。
(给出指令,需明白其中文意思,考选择题) (7)Q:在各种工作模式下,他们的堆栈空间是否是共享的? (8)Q:Nand-flash和nor-flash的读写素的分别谁高谁低?擦除速度呢 (9)Q:在中断模式下,哪些寄存器是其独自享有的? (9)Q:各种模式下,R13,R14,R15是用来干什么的? (10)Q:每种异常产生的条件是什么? (10)Q:Bootloader的程序是放在哪里的? (11)Q:立即数的寻址方式是什么?有的没办法进行寻址的那些是怎么样子的?合法的立即数是什么样子的?采用那些操作指令?格式是怎样的?(会判断即可) (11)Q:关于汇编、C、C++混合编程问题:他们的函数能否互相调用?汇编与C的变量能共享吗? (11)Q:BootLoader的第一阶段的?系统是用汇编语言还是用C语言编写的还是其他语言编的? (11)Q:ARM系统外部总线宽度的确定的(有16位和32位),即确定了16或32位后如何告诉CPU的?有三个选项:(1)芯片引脚(2)内部寄存器软件设定(3)仅仅有些区域是又芯片来决定的,其他事可以用软件来设定的? (11)Q:R15寄存器的作用? (12)Q:嵌入式系统的芯片的时钟源来自何处?可以是怎样产生的?电源管理模式中,哪一种模式的功耗最低。
嵌入式ARM期末考试试卷及复习题

嵌入式ARM期末考试试卷及复习题一、填空题(请将答案填入题后括号中):共10小题,每题2分,满分20分。
1、一般而言,嵌入式系统的构架可以分为4个部分:分别是〔处理器〕、存储器、输入/输出和软件,一般软件亦分为操作系统相关和〔应用软件〕两个主要部分。
2、依据嵌入式系统使用的微处理器,可以将嵌入式系统分为嵌入式微控制器,〔嵌入式微处理器〕,〔嵌入式DSP处理器〕以及片上系统。
3、操作系统是联接硬件与应用程序的系统程序,其基本功能有〔进程管理〕、进程间通信、〔内存管理〕、I/O资源管理。
4、从嵌入式操作系统特点可以将嵌入式操作系统分为〔实时操作系统〕和分时操作系统,其中实时系统亦可分为〔硬实时操作系统〕和软实时系统。
5、内核负责管理各个任务,或者为每个任务分配CPU时间,并且负责任务之间的〔通信〕,内核的基本服务是〔任务切换〕。
6、嵌入式开发一般采纳〔宿主机/目标机〕方式,其中宿主机一般是指〔PC机/台式机〕。
7、哈佛体系结构数据空间和地址空间〔分开〕,ARM7TDMI采纳〔冯诺依曼体系〕的内核架构,ARM920T采纳〔哈佛〕的内核架构。
8. ARM7TDMI采纳〔3〕级流水线结构,ARM920TDMI采纳〔5〕级流水线。
9 .按操作系统的分类可知,Dos操作系统属于顺序执行操作系统,Unix操作系统属于〔分时〕操作系统,VxWorks属于〔实时嵌入式〕操作系统。
10、ARM7TDMI中,T表示支持16位Thumb指令集,D表示〔在片可调试〕,M表示内嵌乘法器Multiplier,I表示〔嵌入式ICE〕,支持在线断点和调试。
二、选择题(请将答案填入题后括号中):共10小题,每题2分,满分20分。
1、要使CPU能够正常工作,以下哪个条件不是处理器必须满足的。
〔 D 〕(A) 处理器的编译器能够产生可重入代码〔B〕在程序中可以找开或者关闭中断(C) 处理器支持中断,并且能产生按时中断〔D〕有大量的存储空间2、下面哪种操作系统最方便移植到嵌入式设备中。
《嵌入式系统与设计》期末复习题

《嵌入式系统与设计》期末复习题一、填空题1.ARM这个缩写包含三种含义:一是指();二是指();三是指()。
2.常用的AT89C52单片机为()位单片机,而STM32单片机为()位单片机。
3.常用的STM32F103系列单片机是基于()内核,此内核采用的是()结构。
4.STM32单片机共有8种输入输出模式,其中输入模式有()种,输出模式有()种。
5.在编写按键检测程序时,加一个延时判断的目的是为了()这种方法叫()。
6.如果LED阴极接地,阳极通过一个电阻接单片机PA1端口,则当单片机PA1端口输出为高电平时LED 状态为();当输出为低电平时LED状态为()。
7.STM32单片机的GPIO口可以配置为()模式和()模式。
8.常STM32的()为通用同步异步收发器,可以利用()发生器提供宽范围的波特率选择。
9.STM32通用定时器TIM的16位计数器可以采用三种方式工作,分别为向上计数模式、()模式和()模式。
10.STM32具有单独的位设置或位清除能力。
这是通过()和()寄存器来实现的。
11.如嵌入式系统的设计可以分成三个阶段:分析、()和()。
12.微处理器有两种总线架构,使用数据和指令使用同一接口的是(),分开的指令和数据接口、取指和数据访问可以并行进行()的是(),13.ARM核有两个指令集,分别是()指令集、()指令集。
14.嵌入式系统开发采用的交叉开发环境是由()和()组成的。
15.STM32单片机程序开发中常用的延时产生方法有()和()。
16.当STM32的I/O端口配置为输入时,()被禁止,()被激活。
17.STM32的所有端口都有外部中断能力。
当使用()时,相应的引脚必须配置成()。
18.STM32芯片内部集成的()位ADC是一种逐次逼近型模拟数字转换器,具有()个通道。
19.在STM32中,只有在()的转换结束时才产生DMA请求,并将转换的数据从()寄存器传输到用户指定的目的地址。
ARM嵌入式期末复习

一、名词解释1、嵌入式微控制器MCU,又名单片机,将整个计算机系统集成到一块芯片中。
与微处理器相比,最大特点是单片化,体积减小,功耗和成本下降、可靠性提高,是目前嵌入式系统工业的主流。
2、RTOS实时操作系统,针对不同处理器优化设计的高效、实时、多任务内核。
3、嵌入式系统以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统4、JTAGJTAG(Joint Test Action Group,联合测试行动小组)是一种国际标准测试协议,主要用于芯片内部测试及对系统进行仿真、调试。
1、IP核IP核是一段具有特定电路功能的硬件描述语言程序,该程序与集成电路工艺无关,可以移植到不同的半导体工艺中去生产集成电路芯片。
2、流水线技术是将一个重复的时序分解成若干个子过程,而每一个子过程都可有效地在其专用功能段上与其他子过程同时执行。
3、MMU内存管理单元包含指令cache,指令MMU,数据cache,数据MMU4、DMA这是指一种高速的数据传输操作,允许在外部设备和存储器之间直接读写数据,既不通过CPU,也不需要CPU干预。
5、交叉编译环境交叉编译是指,在某个主机平台上用交叉编译器编译出可在其他平台上运行的代码的过程。
二、简答题1、ARM处理器的工作状态与切换方法ARM处理器有32位ARM和16位Thumb两种工作状态。
在32位ARM状态下执行字对齐的ARM指令,在16位Thumb状态下执行半字对齐的Thumb指令。
ARM处理器在两种工作状态之间可以切换,切换不影响处理器的模式或寄存器的内容。
(1)当操作数寄存器的状态位(位[0])为1时,执行BX指令进入Thumb状态。
如果处理器在Thumb状态进入异常,则当异常处理返回时,自动转换到Thumb状态。
(2)当操作数寄存器的状态位(位[0])为0时,执行BX指令进入ARM状态,处理器进行异常处理。
ARM嵌入式期末考试题库精心整理版

ARM嵌入式期末考试题库精心整理版本文是对ARM嵌入式期末考试题库进行精心整理,旨在帮助学生更好地备考和复习。
以下是各个知识点的题目和解析,供大家参考。
一、ARM处理器架构1. ARM处理器的特点及应用领域。
2. ARM处理器的工作模式及切换方法。
3. ARM处理器的寄存器架构及常用寄存器的功能介绍。
4. ARM指令集及其分类。
解析:ARM处理器具有低功耗、高性能和较小体积等特点,在智能手机、平板电脑、物联网设备等领域得到广泛应用。
ARM处理器的工作模式包括用户模式、系统模式、中断模式等,切换方法包括软件切换和硬件切换。
ARM处理器的寄存器架构包括通用寄存器、程序状态寄存器等,常用寄存器具有保存数据和控制程序运行的功能。
ARM指令集包括ARM指令集和Thumb指令集,用于实现不同的应用要求。
二、ARM汇编语言1. 简述ARM汇编语言的特点。
2. ARM汇编语言中的指令格式及分类。
3. ARM汇编语言中的数据处理指令和逻辑指令。
4. ARM汇编语言中的分支指令和访存指令。
解析:ARM汇编语言具有可移植性强、效率高、灵活性好等特点。
ARM汇编语言中的指令格式包括数据处理指令、分支指令、访存指令和其他指令等,每种指令都有其特定的操作码和操作数。
数据处理指令和逻辑指令用于处理数据和实现逻辑运算,分支指令用于实现程序控制转移,访存指令用于读写内存和外设等操作。
三、ARM体系结构1. ARM体系结构的层次结构及各层的功能。
2. 简述ARM微处理器的构成和工作原理。
3. ARM微处理器的中断和异常处理机制。
4. ARM微处理器的乘法和除法指令实现。
解析:ARM体系结构包括指令集体系结构、系统架构和微体系结构等几个层次,各层的功能分别是定义指令集和寻址方式、定义内存和总线系统、定义处理器的内部功能和互连方式。
ARM微处理器由处理器核、寄存器文件、存储单元、总线和外设等构成,工作原理是根据指令执行流程逐条执行指令。
嵌入式期末复习提纲(包含答案)

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

期末考试复习题一、填空题1. ARM微处理器有7种工作模式,它们分为两类_特权模式_、_非特权模式_其中用户模式属于_非特权模式__。
2. ARM微处理器共有__37_个__32__位寄存器,其中__31_个为通用寄存器,_6___个为状态寄存器。
3. 嵌入式系统一般哪4个部分组成( 嵌入式处理器、外围设备、嵌入式操作系统(可选)、嵌入式应用软件)4. 协处理器主要控制:___片内的MMU __、___指令和数据缓存___、___写缓冲___。
5. ARM嵌入式系统主要由___相关支撑硬件___、___ARM处理器___和__嵌入式软件系统____构成。
6. S3C2410芯片外部寻址空间是1G,被分成___8__个存储块,每块_ 128 _MB。
SDRAM 存储器应连接到第____7或8__个存储块。
7. 操作系统是联接硬件与应用程序的系统程序,其基本功能有进程管理、内存管理、文件系统管理、I/O资源管理。
8. 常用的嵌入式外围设备有存储设备_、通信设备____和___显示设备___三类。
10. 嵌入式系统是用来控制或者监视哪些设备( )11. 嵌入式系统的三个基本要素。
引导程序内核文件系统12. 链接分为:(硬链接)和( 软链接)。
13. 数据寄存器,其中控制寄存器的主要功能是设置_引脚的功能_,数据寄存器的功能是从寄存器读取数据或者向寄存器写入数据。
15. 目前流行的嵌入式操作系统主要有:_ WinCE_、_ Vxworks__、_ Linux/µCLinux_和_µC/OS-II、PalmOS____。
16. 嵌入式操作系统的调试一般包括:___操作系统__调试和___应用程序__调试。
17. ARM字数据存储格式有:大端格式和小端格式。
18. 某文件的权限为:drw-r--r--,用数值形式表示该权限,则该八进制数为:( 644 ),该文件属性是( 目录)。
19. 在宿主机上使用编译器软件将嵌入式应用。
嵌入式期末考试复习资料

嵌⼊式期末考试复习资料1、ARM 微处理器有 7种⼯作模式,它们分为两类⾮特权模式、特权模式。
其中⽤户模式属于⾮特权模式 ARM 处理器有两种总线架构,数据和指令使⽤同⼀接⼝的是冯诺依曼,数据和指令分开使⽤不同接⼝的是哈佛结4、ARM 微处理器复位后,PC 的地址通常是 0x0 ,初始的⼯作模式是Supervisor 。
5、ARM 微处理器⽀持虚拟内存,它是通过系统控制协处理器 CP15 和MMU(存储管理部件)来进⾏虚拟内存的存储和管理。
当系统发⽣数据异常和指令领取异常时,异常处理程序透过嵌⼊式操作系统的内存管理机制,通过MMU 交换物理内存和虚拟内存的页⾯,以保证程序正常执⾏。
6、编译链接代码时,有两种存储代码和数据的字节顺序,⼀种是⼩端对齐,另⼀种是打断对齐7、构建嵌⼊式系统开发环境的⼯具链有多种,其中开放源码的⼯具链是 GNU ⼯具链,ARM 公司提供的⼯具链是 ADS ⼯具链计算机有CISC 和RISC 两种类型,以ARM 微处理器为核⼼的计算机属于 RISC 类型,其指令长度是定长的1、⽬前使⽤的嵌⼊式操作系统主要有哪些?请举出六种较常⽤的。
Windows CE/Windows Mobile 、VxWork 、Linux 、uCos 、Symbian 、QNX 任选六 2、ARM 系统中的堆栈有四种,如下图。
请按图标出四种堆栈的类型。
ATPCS 编程规范约定使⽤的堆栈是哪⼀种?答:FD 、FA 、ED 、EA 。
ATPCS 编程规范约定使⽤的堆栈是FD3、Boot Loader 在嵌⼊式系统中主要起什么作⽤?完成哪些主要的⼯作?答:Boot Loader 是在嵌⼊式系统复位启动时,操作系统内核运⾏前,执⾏的⼀段程序。
通过Boot Loader ,初始化硬件设备,建⽴内存和I/O 空间映射图,为最2、ARM ⽀持两个指令集,ARM 核因运⾏的指令集不同,分别有两个状态 ARM 、 Thumb,状态寄存器CPSR 的 T 位反映了处理器运⾏不同指令的当前状态3、ARM 核有多个寄存器,其中⼤部分⽤于通⽤寄存器,有⼩部分作为专⽤寄存器, R15 寄存器⽤于存储PC ,R13通常⽤来存储 SPHi Address Hi Address4、搭建嵌⼊式开发环境,连接⽬标板,⼀般使⽤什么通信接⼝连接?在Windows 主机上使⽤什么软件建⽴连接?在Linux主机上使⽤什么软件建⽴连接?1、答:RS-232,以太⽹⼝、并⼝在Windows主机上使⽤超级终端软件在Linux主机上使⽤Minicom软件5嵌⼊式开发环境主要包括哪些组件?嵌⼊式系统开发需要交叉编译和在线调试的开发环境,主要包括●宿主机●⽬标机(评估电路板)●基于JTAG的ICD仿真器、或调试监控软件、或在线仿真器ICE●运⾏于宿主机的交叉编译器和链接器、以及开发⼯具链或软件开发环境●嵌⼊式操作系统6 在进⾏基于ARM核的嵌⼊式系统软件开发时,调⽤如下函数:int do_something(int arg1,void *arg2,char arg3,int *arg4)这四个参数通过什么⽅式从调⽤程序传⼊被调函数?根据ATPCS编程规范,调⽤函数和⼦程序通过R0——R3四个寄存器传递参数,超过四个参数使⽤堆栈传递。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件固化在存储器芯片中
专门开发工具的支持
硬件抽象层
嵌入式系统组成
应用软件
嵌入式操作系统
• • • • • • Linux RT-Linux Windows CE μC/OS-Ⅱ Palm OS Vx Works等
嵌入式Linux
• • • • • 是最为流行的一款开放源代码的操作系统 资源丰富,而且免费 内核小、效率高,更新速度快 支持多种操作平台,如ARM、PowerPC、MIPS等 提供了强大的应用程序开发环境
逻辑运算指令
助记符 BIC{cond}{S} Rd, Rn, operand2 说明 位清除指令 操作 Rd←Rn & (~operand2)
BIC
R1,R1,#0x0F
;将R1的低4位清零,其它位不变
比较指令
CMP{cond} Rn, operand2
比较指令 ——CMP指令将寄存器 Rn的值减去operand2的值, 根据操作的结果更新 CPSR 中的相应条件标志位,以便后面的 指令根据相应的条件标志来判断是否执行。 应用示例: CMP CMP R1,#10 R1,R2 ; R1与10比较,设置相关标志位 ; R1与R2比较,设置相关标志位
嵌入式系统与应用
何为嵌入式系统
• 嵌入式系统三要素 :
–嵌入性:嵌入到对象体系中,有对象环境要求,如物 理环境(小型)、电气/环境(可靠)、成本(价廉) 等要求。 –专用性:软、硬件按对象要求裁减。 –计算机:实现对象的智能化功能 。
嵌入式系统的特点
专用性强
低功耗、高可靠性、高稳定性 各学科结合的产物 实时性要求
外部中断模式(irq)
管理模式(svc) 数据访问终止模式(abt)
未定义指令中止模式(und)
• 不同的工作模式下,算术运算及逻辑运算等 操作所使用的通用寄存器组不同
处理器模式
• 异常模式
快中断 (fiq) 中断 (irq) 管理 (svc)
除了系统和用户模式外 这五种模式称为异常模式。它们除 了可以通过程序切换进入外,也可 以由特定的异常进入。 每种异常模式都有一些独立的寄存 器,以避免异常退出时用户模式的 状态不可靠。
说明 PC←label
操作
条件码位置 B{cond} BL{cond}
label 带链接的分支指令 Rm
LR←PC-4,PC←label
带状态切换的分支指令 PC←label,切换处理器状态 BX{cond}
10:16
31
ARM汇编语言程序设计举例
【例3-2】 实现1+2+……+N。
N EQU 5 ; 常量的定义 AREA Example,CODE,READONLY ; 定义段名属性等 ENTRY ; 程序入口 CODE32 ; ARM代码 START ; 行标定义 LDR R0,=N ; R0赋值 MOV R2,R0 ; R2充当计数器 MOV R0,#0 ; R0←0 MOV R1,#0 ; R1←0 LOOP ; 行标 CMP R1,R2 ; 比较R1 R2 BHI ADD_END ; 如果R1>R2 跳转到 ADD_END ; 分支的实现 ADD R0,R0,R1 ; R0←R0+R1 ADD R1,R1,#1 ; R1←R1+1 B LOOP ; 无条件跳转至LOOP ; 循环的实现 ADD_END ; 行标定义 B ADD_END ; 无条件跳转ADD_END END ; 代码结束
MOV MOV
R1,#0x10
R0,R1 R3,R0,LSL #2
;R1=0x10
;R0=R1 ;R3=R0×4
MOV
PC,LR
;PC=LR,子程序返回
算术运算指令
助记符 ADD{cond}{S} Rd, Rn, operand2 SUB{cond}{S} Rd, Rn, operand2 说明 加法运算指令 减法运算指令 操作 Rd←Rn+operand2 Rd←Rn-operand2
系统总线 HOLD 总线请求 HLDA 总线响应 内存 CPU DMA请求 设备 DMA响应
DMAC
DMA传送过程如下 : ① I/O接口电路向DMA控制器发出DMA请求; ② DMA控制器向总线仲裁器发出总线请求; ③ 总线仲裁器向DMA控制器回答总线应答信号; ④ DMA控制器向I/O接口电路回答DMA应答信号; ⑤ DMA传输开始,完毕引起中断。
数据中止
IRQ(中断) FIQ(快速中断)
中止(abt)
IRQ(irq) FIQ(fiq)
17
ARM指令分类及格式
– 数据处理指令:数据传输指令,算术指令,逻辑指令 ,比较指令,乘法指令,前导零计数 – 程序状态访问指令:MRS和MSR – 分支指令:B、BL和BX – 访存指令:单数据访存指令,多数据访存指令,数据 交换指令
如:LDR 如:LDR 如:LDR
Rd,[Rn] Rd,[Rn,#0x04]! Rd,[Rn],#0x04
10:16
29
单寄存器操作指令
前索引偏移
R2=1000H,(1000H)=0x35,(1004H)=0xA2
执行指令 LDR R1, [R2,#0x04]!
R1? R2?
分支指令
助记符 B BL BX label 分支指令
程序状态寄存器处理指令
注意:
T控制位的修改问题:程序中不能通过MSR指令,直接修改 CPSR中的T控制位来实现ARM状态/Thumb状态的切换,必须 使用BX指令完成处理器状态的切换。
28
单寄存器操作指令
•LDR和STR——字和无符号字节加载/存储指令
零偏移。 前索引偏移。 后索引偏移。
Rd/#immed_8r
写状态令
31 30 29 28 27 26…8 (保留) 7 6 5 4 3 2 1 0
N
Z
C
V
I
F
T M4 M3 M2 M1 M0
应用示例1:
;子程序:使能FIQ中断 ENABLE_IRQ MRS BIC MSR MOV R0, CPSR R0, R0,#0x40 CPSR_c,R0 PC,LR
嵌入式系统的应用
嵌入式系统的应用按照市场领域划分,可以分为以下几 类: 消费电子 如移动电话,数码相机等 通信网络 工业控制 机器人 汽车电子 军事国防 医疗仪器
所有的电子设备都属于嵌入式设备?
RISC和CISC
指 标 RISC CISC
指令集 寻址方式 寄存器 Load/Store 结构
18
ARM数据处理指令
<opcode> {<cond>} {S} <Rd>, <Rn> {, <operand2> } { <;注释> }
31
28 27
25 24
21 20 19
16 15
12 11
8 7
0
cond 条件码 1000 1001
00X
Opcode S
Rn
Rd
Operand2 标 志 C=1且Z=0 C=0或Z=1
指令长度固定 简单 更多通用寄存器 对内存的访问只能通过 Load/Store指令来实现
指令长度不固定
多种灵活寻址方式
用于特定目的的专用寄存器 处理器能够直接处理存 储器中的数据。
CISC将被RISC所取代 ?
ARM处理器模式
ARM微处理器支持7种运行模式,分别为:
系统模式(sys) 用户模式(usr) 快速中断模式(fiq)
未 分 组 寄 存 器 分 组 寄 存 器
程序计数器
通用寄存器
R13寄存器在ARM指令中常用作堆栈指针,又称为SP R14寄存器可用作子程序连接寄存器或链接寄存器LR
当ARM9处理器执行带链接的分支指令BL时,R14中保存R15( 程序计数器PC)的备份。 当发生中断或异常时,对应的分组寄存器R14_fiq、R14_irq 、R14_svc、R14_abt、R14_und用于保存R15的返回值。
NAND Flash和NOR Flash比较
• NOR flash:读速度高,擦写速度低,容量小,价格高。
• NAND flash: 读速度不如Nor flash(NAND flash串行读 写),擦写速度高,容量大,价格低。
35
DMA传送过程
HOLD和HLDA用于DMA方式请求和响应,DMAC(DMA控制器)是DMA 传送的核心电路。
应用示例2:
;子程序:禁能FIQ中断 DISABLE_IRQ MRS ORR MSR MOV R0, CPSR R0, R0,#0x40 CPSR_c,R0 PC,LR
(1) (2) (3)
(4)
1.将CPSR寄存器内容读出到R0; 2.修改对应于CPSR中的I控制位;
3.将修改后的值写回 CPSR寄存器的 对应控制域; 4.返回上一层函数;
BL NEXT
相对寻址
多寄存器寻址
STMIA R0!,{R1,R2,R3,R4}
数据传送指令
助记符
MOV{cond}{S} Rd,operand2
说明
数据传送
操作
Rd←operand2
MOV 指令可完成从另一个寄存器、被移位的寄存器或将一 个8位图立即数加载到目的寄存器。
MOV指令举例如下:
MOV
汇编语言与C语言的混合编程
如果汇编代码比较简单,则可以直接利用内嵌汇编的方式 进行混合编程;
如果汇编代码比较复杂,则可以将汇编程序和C程序分别 以文件的形式加到一个工程里,通过ATPCS标准来完成汇 编程序和C程序之间的调用。