ARM嵌入式系统结构与编程习题答案

合集下载

ARM嵌入式系统结构与编程习题答案(全).

ARM嵌入式系统结构与编程习题答案(全).

《ARM嵌入式系统结构与编程》习题答案第一章绪论1.国内嵌入式系统行业对“嵌入式系统”的定义是什么?如何理解?答:国内嵌入式行业一个普遍认同的定义是:以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能,可靠性,成本,体积,功耗严格要求的专业计算机系统。

从这个定义可以看出嵌入式系统是与应用紧密结合的,它具有很强的专用性,必须结合实际系统需求进行合理的剪裁利用。

因此有人把嵌入式系统比作是一个针对特定的应用而“量身定做”的专业计算机系统。

2.嵌入式系统是从何时产生的,简述其发展历程。

答:从20世纪70年代单片机的出现到目前各式各样的嵌入式微处理器,微控制器的大规模应用,嵌入式系统已经有了30多年的发展历史。

嵌入式系统的出现最初是基于单片机的。

Intel公司1971年开发出第一片具有4位总线结构的微处理器4004,可以说是嵌入式系统的萌芽阶段。

80年代初的8051是单片机历史上值得纪念的一页。

20世纪80年代早期,出现了商业级的“实时操作系统内核”,在实时内核下编写应用软件可以使新产品的沿着更快,更节省资金。

20世纪90年代实时内核发展为实时多任务操作系统。

步入21世纪以来,嵌入式系统得到了极大的发展。

在硬件上,MCU的性能得到了极大的提升,特别是ARM技术的出现与完善,为嵌入式操作系统提供了功能强大的硬件载体,将嵌入式系统推向了一个崭新的阶段。

3.当前最常用的源码开放的嵌入式操作系统有哪些,请举出两例,并分析其特点。

答:主要有嵌入式Linux和嵌入式实时操作内核uC/OS-II嵌入式Linux操作系统是针对嵌入式微控制器的特点而量身定做的一种Linux操作系统,包括常用的嵌入式通信协议和常用驱动,支持多种文件系统。

主要有以下特点:源码开放,易于移植,内核小,功能强大,运行稳定,效率高等。

uC/OS是源码工卡的实时嵌入式系统内核,主要有以下特点:源码公开,可移植性强,可固化,可剪裁,占先式,多任务,可确定性,提供系统服务等。

arm嵌入式系统课后习题部分答案

arm嵌入式系统课后习题部分答案

a r m嵌入式系统课后习题部分答案The pony was revised in January 2021一填空题嵌入式系统从大的方面分为(嵌入式系统硬件平台)和(嵌入式软件)两大部分。

驱动层程序一般包括(硬件抽象层HAL)、(板级支持包BSP)和(设备驱动程序)。

嵌入式系统核心是嵌入式处理器,可分为(嵌入式微处理器)、(嵌入式微控制器)、嵌入式DSP处理器和(嵌入式片上系统SoC)4大类。

处理器分为(ARM)和(Thumb)两种操作状态。

状态下,SP寄存器指的是(R13)、LR寄存器指的是(R14)、PC寄存器指的是(R15).处理器支持的数据类型中,字节为(8)位、半字为(16)位、字为(32)位。

(-S)指令集包括(ARM)指令集和(Thumb)指令集。

指令用于从(存储器)中将一个32位的字数据传送到(目的寄存器)中。

指出下面各条指令的寻址方式。

SUB R0,R1,R2 ;寻址方式:(寄存器寻址)。

SUBS R0,R0,#1 ;寻址方式:(立即寻址)。

MOV R0,R2,LSL#3 ;寻址方式:(寄存器移位寻址)。

SWP R1,R1,[R2] ;寻址方式:(寄存器间接寻址)。

LDR R2,[R3,#0x0C] ;寻址方式:(基址寻址)。

汇编语言源程序中语句一般有(指令)、(伪指令)、(伪操作)和宏指令组成。

对Flash存储器的编程可通过(JTAG仿真/调试器)、( ISP )和(IAP)3重方法来实现。

异常向量表可以来自4个不同的存储器区域,分别是(片内Flash )、(片内SRAM )、( Boot Block )和片外存储器。

系列的定时器主要用于3个方面:(对内部事件进行计数的间隔定时器)、(通过捕获输入实现脉宽解调器)、(自由运行的定时器)。

二选择题可以表示微控制器的缩略词是( B )A. MPUB. MCUC. WDT类存储器包括( ABD )A. NOR FlashB. EPROMC. SRAMD. PROM不属于ARM的系列是( D )A. MCS-96B. 80C51C. LPC2000处理器系列采用( A )级流水线。

ARM嵌入式系统结构与编程(第2版)_第6-8章_习题答案

ARM嵌入式系统结构与编程(第2版)_第6-8章_习题答案

BNE
loop_2
Stop:
B
Stop
.end (2).在 ARM 集成开发环境下编程:
AREA Fctrl, CODE, READONLY
ENTRY
CODE32
START
MOV
R0,#0xB000
MOV
R1,#0x10000001
MOV
R2,#100
loop_1
STR
R1,[R0],#4
ADD
R1,R1,#1
解答: 伪指令是 ARM 处理器支持的汇编语言程序里的特殊助记符,它不在处理器运
行期间由机器执行,只是在汇编时将被合适的机器指令代替成 ARM 或 Thumb 指令, 从而实现真正的指令操作。
伪操作(Directive)是 ARM 汇编语言程序里的一些特殊的指令助记符,其作用主要 是为完成汇编程序做各种准备工作,对源程序运行汇编程序处理,而不是在计算机运 行期间由处理器执行.也就是说,这些伪操作只是汇编过程中起作用,一旦汇编结束,伪 操作也就随之消失。
(1)分配一段字节内存单元,并用57, 0x11, 031, ‘Z’,0x76进行初始化;
《ARM 嵌入式系统结构与编程》第 2 版,邱铁 编著. 清华大学出版社. 2013 年 8 月第 2 版,2015 年 8 月第 4 次印刷
(2)分配一段半字内存单元,并用0xFFE0,0xAABB,0x12,进行初始化;
《ARM 嵌入式系统结构与编程》第 2 版,邱铁 编著. 清华大学出版社. 2013 年 8 月第 2 版,2015 年 8 月第 4 次印刷
《ARM 嵌入式系统结构与编程》第 2 版,第 6~8 章
思考与练习题答案(此答案仅供教师教学用)

ARM嵌入式系统课后习题(部分)答案

ARM嵌入式系统课后习题(部分)答案

一填空题1、1嵌入式系统从大的方面分为(嵌入式系统硬件平台)与(嵌入式软件)两大部分。

1、2驱动层程序一般包括(硬件抽象层HAL)、(板级支持包BSP)与(设备驱动程序)。

1、3嵌入式系统核心就是嵌入式处理器,可分为(嵌入式微处理器)、(嵌入式微控制器)、嵌入式DSP处理器与(嵌入式片上系统SoC)4大类。

2、2ARM7TDMI处理器分为(ARM)与(Thumb)两种操作状态。

2、3ARM状态下,SP寄存器指的就是(R13)、LR寄存器指的就是(R14)、PC寄存器指的就是(R15)、2、4ARM处理器支持的数据类型中,字节为(8)位、半字为(16)位、字为(32)位。

3、1ARM7TDMI(-S)指令集包括(ARM)指令集与(Thumb)指令集。

3、2LDR指令用于从(存储器)中将一个32位的字数据传送到(目的寄存器)中。

3、3指出下面各条指令的寻址方式。

SUB R0,R1,R2 ;寻址方式:( 寄存器寻址)。

SUBS R0,R0,#1 ;寻址方式:( 立即寻址)。

MOV R0,R2,LSL#3 ;寻址方式:( 寄存器移位寻址)。

SWP R1,R1,[R2] ;寻址方式:( 寄存器间接寻址)。

LDR R2,[R3,#0x0C] ;寻址方式:( 基址寻址)。

4、3ARM汇编语言源程序中语句一般有(指令)、(伪指令)、(伪操作)与宏指令组成。

6、1对Flash存储器的编程可通过(JTAG仿真/调试器)、( ISP )与(IAP)3重方法来实现。

6、2异常向量表可以来自4个不同的存储器区域,分别就是( 片内Flash )、( 片内SRAM )、( Boot Block )与片外存储器。

6、3LPC2000系列的定时器主要用于3个方面:( 对内部事件进行计数的间隔定时器 )、( 通过捕获输入实现脉宽解调器 )、( 自由运行的定时器)。

二选择题1、1可以表示微控制器的缩略词就是( B )A、MPUB、MCUC、WDTD、SPI1、2ROM类存储器包括( ABD )A、NOR FlashB、EPROMC、SRAMD、PROM1、3不属于ARM的系列就是( D )A、MCS-96B、80C51C、LPC2000D、80X862、2ARM7处理器系列采用( A )级流水线。

最新《ARM嵌入式系统结构与编程》第二章课后答案

最新《ARM嵌入式系统结构与编程》第二章课后答案

第2章ARM技术与ARM体系结构121.简述ARM处理器内核调试结构原理3答:ARM处理器一般都带有嵌入式追踪宏单元ETM(Embedded Trace Macro),4它是ARM公司自己推出的调试工具。

ARM处理器都支持基于JTAG(Joint TestAction Group 联合测试行动小组)的调试方法。

它利用芯片内部的Embedded ICE 56来控制ARM内核操作,可完成单步调试和断点调试等操作。

当CPU处理单步执7行完毕或到达断点处时,就可以在宿主机端查看处理器现场数据,但是它不能8在CPU运行过程中对实时数据进行仿真。

910ETM解决了上述问题,能够在CPU运行过程中实时扫描处理器的现场信息,并11数据送往TAP(Test Access Port)控制器。

上图中分为三条扫描链(图中的粗12实线),分别用来监视ARM核,ETM,嵌入式ICE的状态。

13141.分析ARM7TDMI-S各字母所代表的含义。

15答:ARM7 T D M I – S 中16ARM是Advanced RISC Machines的缩写177是系列号;T:支持高密度16位的Thumb指令集;1819D:支持JTAG片上调试;20M:支持用于长乘法操作(64位结果)ARM指令,包含快速乘法器;;21I:带有嵌入式追踪宏单元ETM,用来设置断点和观察点的调试硬件;22S:可综合版本,意味着处理器内核是以源代码形式提供的。

这种源代码形式23又可以编译成一种易于EDA工具使用的形式。

24252.ARM处理器的工作模式有哪几种,其中哪些为特权模式,哪些为异26常模式,并指出处理器在什么情况下进入相应的模式。

27答:ARM技术的设计者将ARM处理器在应用中可能产生的状态进行了分类,并28针对同一类型的异常状态设定了一个固定的入口点,当异常产生时,程序会自29动跳转到对应异常入口处进行异常服务。

301.用户模式:非特权模式,也就是正常程序执行的模式,大部分任31务在这种模式下执行。

ARM嵌入式系统结构与编程题库--西安理工大学

ARM嵌入式系统结构与编程题库--西安理工大学

第一章嵌入式系统开发基础 (2)一.选择 (2)二.填空 (6)三.简答题 (7)四.应用题 (8)第二章ARM技术概述 (9)一.选择 (9)二.填空 (12)三.简答题 (14)四.应用题 (15)五.判断 (16)第三章基于ARM的嵌入式软件开发基础 (18)一.选择 (18)二.填空 (20)三.简答题 (22)四.应用题 (22)五.判断 (26)第四章嵌入式系统应用开发实例 (28)一.选择 (28)二.填空 (30)四.应用题 (30)五.判断 (31)第一章嵌入式系统开发基础一.选择1. Sparc是属于以下哪家公司的;A、IntelB、AppleC、SUND、Acer2. 以下哪款CPU是第一款可扩展功能的微处理器:A、IntelB、AppleC、SUND、Acer3. 以下哪个设备被大规模集成电路集成在一个芯片中。

A、CPUB、计算机C、单片机D、外存4. Flash属于哪种ROM形式A、RAMB、EPROMC、EEPROMD、DRAM5. 以下几种接口设备中传输速度最快的是A、Ieee1394B、USBC、WiFiD、蓝牙6. 以下几种扩展卡中体积最大的是;A、CfB、CFcardC、Sd cardD、memory stick7. 哈佛结构指的是:A、分开的指令存储器和数据存储器B、集成的指令存储器和数据存储器C、分开的指令缓冲器和数据缓冲器D、分开的指令缓冲器和数据缓冲器8. 嵌入式系统开发过程中最费时间的是A、需求分析阶段B、设计阶段C、集成测试阶段D、可靠性测试阶段9. 摩尔定律,每经过几个月,硅晶体管的数量就会增加一倍。

A、6,B、9,C、18D、,2410. 微控制器又被称作:A、DSPB、单片机C、嵌入式应用D、PC11. 以下关于SOPC的特征错误的是:A、SOPC不是一种嵌入式系统B、使用可编程逻辑技术C、具备软硬件在系统可编程的功能D、单芯片、低功耗、微封装12. 以下哪项不属于单片机的集成对象。

ARM嵌入式系统结构与编程习题标准答案

ARM嵌入式系统结构与编程习题标准答案

《ARM嵌入式系统结构与编程》习题答案第一章绪论1.国内嵌入式系统行业对“嵌入式系统”的定义是什么?如何理解?答:国内嵌入式行业一个普遍认同的定义是:以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能,可靠性,成本,体积,功耗严格要求的专业计算机系统。

从这个定义可以看出嵌入式系统是与应用紧密结合的,它具有很强的专用性,必须结合实际系统需求进行合理的剪裁利用。

因此有人把嵌入式系统比作是一个针对特定的应用而“量身定做”的专业计算机系统。

2.嵌入式系统是从何时产生的,简述其发展历程。

答:从20世纪70年代单片机的出现到目前各式各样的嵌入式微处理器,微控制器的大规模应用,嵌入式系统已经有了30多年的发展历史。

嵌入式系统的出现最初是基于单片机的。

Intel公司1971年开发出第一片具有4位总线结构的微处理器4004,可以说是嵌入式系统的萌芽阶段。

80年代初的8051是单片机历史上值得纪念的一页。

20世纪80年代早期,出现了商业级的“实时操作系统内核”,在实时内核下编写应用软件可以使新产品的沿着更快,更节省资金。

20世纪90年代实时内核发展为实时多任务操作系统。

步入21世纪以来,嵌入式系统得到了极大的发展。

在硬件上,MCU的性能得到了极大的提升,特别是ARM技术的出现与完善,为嵌入式操作系统提供了功能强大的硬件载体,将嵌入式系统推向了一个崭新的阶段。

3.当前最常用的源码开放的嵌入式操作系统有哪些,请举出两例,并分析其特点。

答:主要有嵌入式Linux和嵌入式实时操作内核uC/OS-II嵌入式Linux操作系统是针对嵌入式微控制器的特点而量身定做的一种Linux操作系统,包括常用的嵌入式通信协议和常用驱动,支持多种文件系统。

主要有以下特点:源码开放,易于移植,内核小,功能强大,运行稳定,效率高等。

uC/OS是源码工卡的实时嵌入式系统内核,主要有以下特点:源码公开,可移植性强,可固化,可剪裁,占先式,多任务,可确定性,提供系统服务等。

(完整版)《ARM嵌入式系统结构与编程》第三章课后答案

(完整版)《ARM嵌入式系统结构与编程》第三章课后答案

第3章ARM指令集寻址方式1.在指令编码中,条件码占几位,最多有多少个条件,各个条件是如何形成的?答:条件码占4位,最多有15个条件2. 指令条件码中,V标志位在什么情况下才能等于1?答:V—溢出标志位对于加减法运算指令,当操作数和运算结果为二进制补码表示的带符号数时,V=1表示符号位溢出,其他指令通常不影响V位。

3. 在ARM指令中,什么是合法的立即数?判断下面各立即数是否合法,如果合法则写出在指令中的编码格式(也就是8位常数和4位移位数)0x54300x1080x3040x5010xfb100000x3340000x3FC0000x1FE00000x55800000x7F8000x39C0000x1FE80000答:立即数必须由1个8位的常数通过进行32位循环右移偶数位得到,其中循环右移的位数由一个4位二进制的两倍表示。

即一个8位的常数通过循环右移2*rotate_4位(即0,2,4,。

30)得到0X54300000,0000,0000,0000,0101,0100,0011,0000 非法立即数0X1080000,0000,0000,0000,0000,0001,0000,1000 0x42循环右移30位(rotate_4=0xF)0X3040000,0000,0000,0000,0000,0011,0000,0100 0xC1循环右移30位 (rotate_4=0xF ) 0x5010000,0000,0000,0000,0000,0101,0000,0001 非法立即数0xfb100000000,1111,1011,0001,0000,0000,0000,0000 非法立即数0x3340000000,0000,0011,0011,0100,0000,0000,0000 0Xcd 循环右移18位(rotate_4=0x9) 0x3FC0000000,0000,0011,1111,1100,0000,0000,0000 0XFF 循环右移18位(rotate_4=0x9) 0x1FE00000000,0001,1111,1110,0000,0000,0000,0000 非法立即数0x55800000000,0101,0101,1000,0000,0000,0000,0000 非法立即数0x7F8000000,0000,0000,0111,1111,1000,0000,0000 非法立即数0x39C0000000,0000,0011,1001,1100,0000,0000,0000 0XE7循环右移18位(rotate_4=0x9) 0x1FE800000001,1111,1110,1000,0000,0000,0000,0000 非法立即数4.分析逻辑右移,算术右移,循环右移,带扩展的循环右移它们间的差别。

ARM嵌入式系统结构与编程复习题答案 邱铁著

ARM嵌入式系统结构与编程复习题答案 邱铁著

第8章 ARM汇编语言与嵌入式C混合编程1.严格按照嵌入式C语言的编程规,写一个C语言程序,实现将一个二维数组的数据行和列进行排序。

答:略2.嵌入式C程序设计中常用的移位操作有哪几种,请说明每种运算所对应的ARM指令实现。

答:移位操作分为左移操作与右移操作左移运算符“<<”实现将“<<”左边的操作数的各个二进制位向左移动“<<”右边操作数所指定的位数,高位丢弃,低位补0。

其值相当于乘以:2“左移位数”次方。

右移运算符“>>”实现将“>>”左边的操作数的各个二进制位向右移动“<<”右边操作数所指定的位数。

•对于空位的补齐方式,无符号数与有符号数是有区别的。

•对无符号数进行右移时,低位丢弃,高位用0补齐,其值相当于除以:2“右移位数”次方•对有符号数进行右移时,根据处理器的不同选择逻辑右移或算术右移3.volatile限制符在程序中起到什么作用。

请举例说明。

答:volatile的本意为“暂态的”或.“易变的”,该说明符起到抑制编译器优化的作用。

如果在声明时用“volatile”关键进行修饰,遇到这个关键字声明的变量,编译器对访问该变量的代码就不再进行优化,从而可以提供特殊地址的稳定访问。

•例:硬件端口寄存器读取•Char x=0,y=0,z=0;•x=ReadChar(0x54000000);//读端口•y=x;•x=ReadChar(0x54000000);//再读端口•z=x;•以上代码可能被编译器优化为•Char x=0,y=0,z=0;•x=ReadChar(0x54000000);//读端口•y=x;•z=x;•为了确保x的值从真实端口获取,声明时应该为•Volatile char x;•Char y,z;4.请分析下列程序代码的执行结果。

#include<stdio.h>main(){int value=0xFF1;int *p1,**p2,***p3,****p4;p1=&value;p2=&p1;p3=&p2;p4=&p3;printf("****p4=%d\n",****p4);}答:程序输出结果为:****p4=40815.分析宏定义#define POWER(x) x*x 是否合理,举例说明。

arm嵌入式系统试题及标准答案

arm嵌入式系统试题及标准答案

arm嵌入式系统试题及标准答案一、选择题1. ARM的英文全称为()。

A. Advanced RISC MachinesB. Advanced Reduced Instruction Set ComputingC. Advanced Risk Instruction Set MachinesD. Advanced Reduced Innovative System Machines 正确答案:A2. ARM的发展平台主要有()。

A. CortexB. Keil MDKC. MbedD. All of the above正确答案:D3. ARM架构中,RISC指的是()。

A. Reduced Instructions for Simple ComputingB. Reduced Instruction Set ComputingC. Reduced Instructions for Speedy ComputingD. Reduced Innovative System Computing正确答案:B4. ARM的家族庞大,主要分为()。

A. ARMv1-ARMv5B. ARMv6-ARMv7C. ARMv8-ARMv12D. ARMv12-ARMv16正确答案:B5. 在ARM处理器中,Cortex-A系列主要针对()。

A. 浮点运算B. 实时性C. 安全性D. 性能正确答案:D二、填空题1. ARM架构的特点之一是指令集精简,采用()指令集。

正确答案:RISC(Reduced Instruction Set Computing)2. ARM处理器的体积小、功耗低的特点使得其在()领域得到广泛应用。

正确答案:嵌入式系统3. ARM主要设计并销售()和相关的软件开发工具、IP核等。

正确答案:处理器4. Keil MDK是由ARM公司开发的()。

正确答案:集成开发环境5. ARM Cortex-M系列处理器适用于对能耗和成本有严格要求的()。

ARM嵌入式系统结构与编程习题答案 邱铁著

ARM嵌入式系统结构与编程习题答案 邱铁著

第8章ARM汇编语言与嵌入式C混合编程1.严格按照嵌入式C语言的编程规范,写一个C语言程序,实现将一个二维数组内的数据行和列进行排序。

答:略2.嵌入式C程序设计中常用的移位操作有哪几种,请说明每种运算所对应的ARM指令实现。

答:移位操作分为左移操作与右移操作左移运算符―<<‖实现将―<<‖左边的操作数的各个二进制位向左移动―<<‖右边操作数所指定的位数,高位丢弃,低位补0。

其值相当于乘以:2―左移位数‖次方。

右移运算符―>>‖实现将―>>‖左边的操作数的各个二进制位向右移动―<<‖右边操作数所指定的位数。

•对于空位的补齐方式,无符号数与有符号数是有区别的。

•对无符号数进行右移时,低位丢弃,高位用0补齐,其值相当于除以:2―右移位数‖次方•对有符号数进行右移时,根据处理器的不同选择逻辑右移或算术右移3.volatile限制符在程序中起到什么作用。

请举例说明。

答:volatile的本意为―暂态的‖或.―易变的‖,该说明符起到抑制编译器优化的作用。

如果在声明时用―volatile‖关键进行修饰,遇到这个关键字声明的变量,编译器对访问该变量的代码就不再进行优化,从而可以提供特殊地址的稳定访问。

•例:硬件端口寄存器读取•Char x=0,y=0,z=0;•x=ReadChar(0x54000000);//读端口•y=x;•x=ReadChar(0x54000000);//再读端口•z=x;•以上代码可能被编译器优化为•Char x=0,y=0,z=0;•x=ReadChar(0x54000000);//读端口•y=x;•z=x;•为了确保x的值从真实端口获取,声明时应该为•V olatile char x;•Char y,z;4.请分析下列程序代码的执行结果。

#include<stdio.h>main(){int value=0xFF1;int *p1,**p2,***p3,****p4;p1=&value;p2=&p1;p3=&p2;p4=&p3;printf("****p4=%d\n",****p4);}答:程序输出结果为:****p4=40815.分析宏定义#define POWER(x) x*x 是否合理,举例说明。

嵌入式系统与结构。吉大考试题库答案

嵌入式系统与结构。吉大考试题库答案

嵌入式系统与结构。

吉大考试题库答案1.如果r0=0x01,r1=0x03,执行MOV r0,r1后,r0的值是多少?答案是3.2.在ARM上,实现内存管理的单元称为什么?答案是MMU。

3.ARM采用多少位的体系结构?答案是32位。

4.Thumb指令集的长度是多少?答案是16位。

5.哪些描述是正确的?答案是ARM包含除法硬件。

6.程序状态寄存器CPSR的C位表示什么?答案是运算结果产生进位。

7.指令MOV r0,r1,LSL,#3中,LSL的作用是什么?答案是逻辑左移。

8.下列哪条指令可以将地址单元(r1+r2×4)的数据读取到r0?答案是LDR r0,[r1,r2,LSL #2]。

9.ARM使用什么样的总线协议?答案是AMBA。

10.用户模式下的可见通用寄存器有多少个?答案是16个。

11.处理器上电默认进入哪种状态?答案是ARM。

12.提供了安全解决方案的ARM系列产品是以下系列中的哪一种?答案是SecurCore。

13.当前程序状态字寄存器的名称是什么?答案是CPSR。

14.CPSR寄存器的作用是什么?答案是存储当前的处理器状态。

15.下面所列指令,哪一条指令语法格式正确?答案是ADD r1,r2,r3.16.ARM汇编指令中,用于实现减法运算的是哪条指令?答案是SUB。

17.ARM上实现内存管理的单元叫什么?答案是MMU。

18.ARM的全称是什么?答案是Advanced RISC Machines。

19.下列哪些指令可以协处理器的访问?答案是XXX。

20.ARM用于响应快速外部中断的处理器模式叫什么?答案是FIQ。

21.下面哪条指令使用了ARM中的桶型移位寄存器?答案是STR r0,[r1,r2,LSL #2]。

22.ARM共有几种处理器模式?答案是7种。

23.如果r0=0x05,r1=0x03,执行SUB r0,r0,r1后,r0的值是多少?答案是0x02.24.ATPCS中规定,使用哪个寄存器存放堆栈基地址?答案是r13.25.如何禁止IRQ中断?答案是将CPSR寄存器的I位置1.26.ATPCS中规定,用哪些寄存器传递参数?答案是r0~r3.27.ARM上电后进入哪种模式?答案是管理模式。

arm课后习题及答案

arm课后习题及答案

第 1 章嵌入式系统基础1. 什么是嵌入式系统?它由哪几部分组成?有何特点?写出你所想到的嵌入式系统。

答:(1)定义:国内对嵌入式系统的一般定义是:以应用为中心,以计算机技术为基础,软硬件可裁剪,从而能够适应实际应用中对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统。

(2)组成:嵌入式处理器、外围设备、嵌入式操作系统和应用软件等几部分组成。

(3)特点: a. 软硬件一体化,集计算机技术、微电子技术、行业技术于一体;b. 需要操作系统支持,代码小,执行速度快;c. 专用紧凑,用途固定,成本敏感;d. 可靠性要求高;e. 多样性,应用广泛,种类繁多。

(4)嵌入式系统:个人数字助理(PDA、机顶盒(STB、IP电话。

2. 嵌入式处理器分为哪几类?答:( 1、低端的微控制器( MicroController Unit,MCU 、;( 2、中高端的嵌入式微处理器( Embeded MicroProcessor Unit,EMPU 、;(3)通信领域的DSP处理器(Digital Signal ProcessorQSP );(4、高度集成的片上系统( System on Chip,SoC、。

3. ARM英文原意是什么?它是一个怎样的公司?其处理器有何特点?答:(1、英文原意:Advaneed RISC Machines。

高级精简指令集机器。

(2)公司简介:该公司是全球领先的16/32位RISC微处理器知识产权设计供应商,通过将其高性能、低成本、低功耗的RISC微处理器、外围和系统芯片设计技术转让给合作伙伴来生产各具特色的芯片。

ARh公司已成为移动通信、手持设备、多媒体数字消费嵌入式解决方案的RISC标准。

(3)其处理器特点: a. 小体积、低功耗、低成本而高性能; b.16/32 位双指令集; c. 全球的合作伙伴众多。

4. 什么是实时系统?它有哪些特征?如何分类?答:(1)实时系统的定义:实时系统(Real Time System)是指产生系统输出的时间对系统至关重要的系统。

《ARM嵌入式系统结构与编程》习题答案 邱铁编著

《ARM嵌入式系统结构与编程》习题答案   邱铁编著

《ARM嵌入式系统结构与编程》邱铁编著. 清华大学出版社.年月第版 年月第二次印刷20093120108 《ARM嵌入式系统结构与编程》第1~4章思考与练习题答案 此答案仅供教师教学用 第1章绪论思考与练习题答案 1. 国内嵌入式系统行业对“嵌入式系统”的定义是什么 如何理解答 见教材1.1节。

2. 嵌入式系统是从何时产生的 简述其发展历程。

答 见教材1.1节。

3. 当前最常见的源码开放的嵌入式操作系统有哪些 请举出两例 并分析其特点。

答 见教材1.2.1节的嵌入式Linux和嵌入式实时操作内核μC /OS-II。

4. 举例说明嵌入式设备在工控设备中的应用。

答 见教材1.3节的“工业控制领域”。

5. 未来嵌入式技术的发展趋势有哪些 答 见教材1.4节的嵌入式技术的发展趋势。

第2章 ARM技术与ARM体系结构思考与练习题答案 1 简述ARM处理器内核调试结构原理。

答 对教材1.2节的图2-1进行描述。

2 分析ARM7TDMI-S各字母所代表的含义。

答 参考教材2 1 2 ARM核版本命名规则说明。

课后答案网《ARM嵌入式系统结构与编程》邱铁编著. 清华大学出版社. 年月第版 年月第二次印刷200931201083 ARM处理器的工作模式有哪几种 其中哪些为特权模式 哪些为异常模式并指出处理器在什么情况下进入相应的模式。

答 ARM处理器共有7种工作模式用户模式 非特权模式 也就是正常程序执行的模式 大部分任务在这种模式下执行。

在用户模式下 如果没异常发生 不允许应用程序自行改变处理器的工作模式 如果有异常发生 处理器会自动切换工作模式FIQ模式 也称为快速中断模式 支持高速数据传输和通道处理 当一个高优先级(fast)中断产生时将会进入这种模式。

IRQ模式 也称为普通中断模式 :当一个低优先级中断产生时将会进入这种模式。

在这模式下按中断的处理器方式又分为向量中断和非向量中断两种。

通常的中断处理都在IRQ模式下进行。

ARM嵌入式体系结构与接口技术(Cortex-A9版)-习题答案

ARM嵌入式体系结构与接口技术(Cortex-A9版)-习题答案

ARM嵌入式体系结构与接口技术(Cortex-A9版)-习题答案第一章1.简述ARM可以工作的几种模式。

答:ARMv7-A架构处理器共有8种工作模式,即用户模式(User)、快速中断模式(FIQ)、外部中断模式(IRQ)、特权模式(Supervisor)、数据访问中止模式(Abort)、未定义指令中止模式(Undef)、系统模式(System)、监控模式(Monitor)2.ARM 核有多少个寄存器?答:ARM处理器有40个32位长的寄存器3.什么寄存器用于存储PC和LR寄存器?答:R15和R14寄存器4.R13通常用来存储什么?答:R13通常用来存储堆栈指针5.哪种模式使用的寄存器最少?答:用户模式(User)和系统模式(System),因为这两种模式下没有SPSR寄存器6.CPSR 的哪一位反映了处理器的状态?答:T位是处理器的状态控制位第二章1.熟悉 Eclipse 开发环境。

答:略,参照第2.3节2.新建一个工程,编写一个汇编程序实现3+13=16的操作。

答:略,参照第2.6节第三章1.用 ARM 汇编实现下面列出的操作。

R0=15R0=R1/16(有符号数)R1=R2*3R0=?R0答:R0=15-- MOV R0,#15R0=R1/16 --MOV R0,R1,ASR #4BIC R0, R0, #0x78000000R1=R2*3-- MOV R3, #3MUL R1,R2,R3R0=?R0 -- MOV R1, #-1MOV R2, R0MUL R0,R1,R22.BIC 指令的作用是什么?答:将一个寄存器中的某一位或者某几位清零3.执行 SWI 指令时会发生什么情况?答:执行SWI指令时ARM处理器会自动将CPSR拷贝到SVC模式下的SPSR,然后修改CPSR 寄存器的T位使处理器进入ARM状态,修改CPSR寄存器的低五位模式位使处理器进入SVC模式,修改CPSR寄存器的I位禁止IRQ中断,保存当前SWI指令下一条指令的地址到SVC 模式下的LR寄存器,然后PC的值改为异常向量表中偏移地址为0x08的地址。

ARM嵌入式系统结构与编程,课后练习及答案

ARM嵌入式系统结构与编程,课后练习及答案

第一章思考与练习1、举出3个书本中未提到的嵌入式系统的例子。

答:红绿灯控制,数字空调,机顶盒2、什么叫嵌入式系统?嵌入式系统:以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。

3、什么叫嵌入式处理器?嵌入式处理器分为哪几类?嵌入式处理器是为完成特殊的应用而设计的特殊目的的处理器。

嵌入式微处理器(Embedded Microprocessor Unit, EMPU)嵌入式微控制器(Microcontroller Unit, MCU)嵌入式DSP 处理器(Embedded Digital Signal Processor, EDSP)嵌入式片上系统(System On Chip)4、什么是嵌入式操作系统?为何要使用嵌入式操作系统?是一段在嵌入式系统启动后首先执行的背景程序,首先,嵌入式实时操作系统提高了系统的可靠性。

其次,提高了开发效率,缩短了开发周期。

再次,嵌入式实时操作系统充分发挥了 32 位CPU 的多任务潜力。

第二章1、嵌入式系统项目开发的生命周期分哪几个阶段?各自的具体任务是什么?项目的生命周期一般分为识别需求、提出解决方案、执行项目和结束项目4 个阶段。

识别需求阶段的主要任务是确认需求,分析投资收益比,研究项目的可行性,分析厂商所应具备的条件。

提出解决方案阶段由各厂商向客户提交标书、介绍解决方案。

执行项目阶段细化目标,制定工作计划,协调人力和其他资源;定期监控进展,分析项目偏差,采取必要措施以实现目标。

结束项目阶段主要包括移交工作成果,帮助客户实现商务目标;系统交接给维护人员;结清各种款项。

2、为何要进行风险分析?嵌入式项目主要有哪些方面的风险?在一个项目中,有许多的因素会影响到项目进行,因此在项目进行的初期,在客户和开发团队都还未投入大量资源之前,风险的评估可以用来预估项目进行可能会遭遇的难题。

需求风险;时间风险;资金风险;项目管理风险3、何谓系统规范?制定系统规范的目的是什么?规格制定阶段的目的在于将客户的需求,由模糊的描述,转换成有意义的量化数据。

《ARM嵌入式系统结构与编程》第二章课后答案复习进程

《ARM嵌入式系统结构与编程》第二章课后答案复习进程

第2章ARM技术与ARM体系结构1.简述ARM处理器内核调试结构原理答:ARM处理器一般都带有嵌入式追踪宏单元ETM(Embedded Trace Macro),它是ARM 公司自己推出的调试工具。

ARM处理器都支持基于JTAG(Joint Test Action Group 联合测试行动小组)的调试方法。

它利用芯片内部的Embedded ICE来控制ARM内核操作,可完成单步调试和断点调试等操作。

当CPU处理单步执行完毕或到达断点处时,就可以在宿主机端查看处理器现场数据,但是它不能在CPU运行过程中对实时数据进行仿真。

ETM解决了上述问题,能够在CPU运行过程中实时扫描处理器的现场信息,并数据送往TAP(Test Access Port)控制器。

上图中分为三条扫描链(图中的粗实线),分别用来监视ARM核,ETM,嵌入式ICE的状态。

1.分析ARM7TDMI-S各字母所代表的含义。

答:ARM7 T D M I – S 中ARM是Advanced RISC Machines的缩写7是系列号;T:支持高密度16位的Thumb指令集;D:支持JTAG片上调试;M:支持用于长乘法操作(64位结果)ARM指令,包含快速乘法器;;I:带有嵌入式追踪宏单元ETM,用来设置断点和观察点的调试硬件;S:可综合版本,意味着处理器内核是以源代码形式提供的。

这种源代码形式又可以编译成一种易于EDA工具使用的形式。

2.ARM处理器的工作模式有哪几种,其中哪些为特权模式,哪些为异常模式,并指出处理器在什么情况下进入相应的模式。

答:ARM技术的设计者将ARM处理器在应用中可能产生的状态进行了分类,并针对同一类型的异常状态设定了一个固定的入口点,当异常产生时,程序会自动跳转到对应异常入口处进行异常服务。

⏹1.用户模式:非特权模式,也就是正常程序执行的模式,大部分任务在这种模式下执行。

在用户模式下,如果没异常发生,不允许应用程序自行改变处理器的工作模式,如果有异常发生,处理器不会自动切换工作模式⏹2.FIQ模式:也称为快速中断模式,支持高速数据传输和通道处理,当一个高优先级(fast)中断产生时将会进入这种模式。

arm嵌入式系统课后习题部分答案精修订

arm嵌入式系统课后习题部分答案精修订

a r m嵌入式系统课后习题部分答案GE GROUP system office room 【GEIHUA16H-GEIHUA GEIHUA8Q8-一填空题1.1嵌入式系统从大的方面分为(嵌入式系统硬件平台)和(嵌入式软件)两大部分。

1.2驱动层程序一般包括(硬件抽象层HAL)、(板级支持包BSP)和(设备驱动程序)。

1.3嵌入式系统核心是嵌入式处理器,可分为(嵌入式微处理器)、(嵌入式微控制器)、嵌入式DSP处理器和(嵌入式片上系统SoC)4大类。

2.2ARM7TDMI处理器分为(ARM)和(Thumb)两种操作状态。

2.3ARM状态下,SP寄存器指的是(R13)、LR寄存器指的是(R14)、PC寄存器指的是(R15).2.4ARM处理器支持的数据类型中,字节为(8)位、半字为(16)位、字为(32)位。

3.1ARM7TDMI(-S)指令集包括(ARM)指令集和(Thumb)指令集。

3.2LDR指令用于从(存储器)中将一个32位的字数据传送到(目的寄存器)中。

3.3指出下面各条指令的寻址方式。

SUB R0,R1,R2 ;寻址方式:(寄存器寻址)。

SUBS R0,R0,#1 ;寻址方式:(立即寻址)。

MOV R0,R2,LSL#3 ;寻址方式:(寄存器移位寻址)。

SWP R1,R1,[R2] ;寻址方式:(寄存器间接寻址)。

LDR R2,[R3,#0x0C] ;寻址方式:(基址寻址)。

4.3ARM汇编语言源程序中语句一般有(指令)、(伪指令)、(伪操作)和宏指令组成。

6.1对Flash存储器的编程可通过(JTAG仿真/调试器)、( ISP )和(IAP)3重方法来实现。

6.2异常向量表可以来自4个不同的存储器区域,分别是(片内Flash )、(片内SRAM )、( Boot Block )和片外存储器。

6.3LPC2000系列的定时器主要用于3个方面:(对内部事件进行计数的间隔定时器)、(通过捕获输入实现脉宽解调器)、(自由运行的定时器)。

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

1章绪论1.国内嵌入式系统行业对“嵌入式系统”的定义是什么如何理解答:见教材节。

2.嵌入式系统是从何时产生的,简述其发展历程。

答:见教材节。

3.当前最常见的源码开放的嵌入式操作系统有哪些,请举出两例,并分析其特点。

答:见教材节的嵌入式Linux和嵌入式实时操作内核UC /OS-I 。

4.举例说明嵌入式设备在工控设备中的应用。

答:见教材节的“工业控制领域”。

5.未来嵌入式技术的发展趋势有哪些答:见教材节的嵌入式技术的发展趋势。

2章ARM技术与ARM体系结构1.简述ARM处理器内核调试结构原理。

答:对教材节的图2-1进行描述。

2.分析ARM7TDMI-S各字母所代表的含义。

答:参考教材.2 ARM核版本命名规则说明。

3.ARM处理器的工作模式有哪几种,其中哪些为特权模式,哪些为异常模式,并指出处理器在什么情况下进入相应的模式。

ARM处理器共有7种工作模式:用户模式:非特权模式,也就是正常程序执行的模式,大部分任务在这种模式下执行。

在用户模式下,如果没异常发生,不允许应用程序自行改变处理器的工作模式,如果有异常发生,处理器会自动切换工作模式FIQ模式:也称为快速中断模式,支持高速数据传输和通道处理,当一个高优(fast)中断产生时将会进入这种模式。

IRQ模式:也称为普通中断模式,:当一个低优先级中断产生时将会进入这种模式。

在这模式下按中断的处理器方式又分为向量中断和非向量中断两种。

通常的中断处理都在IRQ 模式下进行。

SVC模式:称之为管理模式,它是一种操作系统保护模式。

当复位或软中断指令执行时处理器将进入这种模式。

中止模式:当存取异常时将会进入这种模式,用来处理存储器故障、实现虚拟存储或存储保护。

未定义指令异常模式:当执行未定义指令时会进入这种模式,主要是用来处理未定义的指令陷阱,支持硬件协处理器的软件仿真,因为未定义指令多发生在对协处理器的操作上。

系统模式:使用和User模式相同寄存器组的特权模式,用来运行特权级的操作系统任务。

在这7种工作模式中,除了用户模式以外,其他6种处理器模式可以称为特权模式,在这些模式下,程序可以访问所有的系统资源,也可以任意地进行处理器模式的切换。

在这6种特权模式中,除了系统模式外的其他5种特权模式又称为异常模式4.分析程序状态寄存器(PSR)各位的功能描述,并说明C、Z、N、V在什么情况下进行置位和清零。

PSR的具体格式为V—溢出标志位对于加/减法运算指令,当操作数和运算结果为二进制补码表示的带符号数时,V=1表示符号位溢出,其他的指令通常不影响V位。

例如:两个正数(最高位为0)相加,运算结果为一个负数(最高位为1),则符号位溢出,相应V=1。

C—进位或借位标志位对于加法指令(包括比较指令CMN),结果产生进位,则C=1,表示无符号数运算发生上溢出,其他情况下C=0;在减法指令中(包括比较指令CMP),结果产生借位,则C=0,表示无符号数运算发生下溢出,其他情况下C=1;对于包含移位操作的非加/减法运算指令,C中包含最后一次溢出位的数值;对于其他非加/减法运算指令,C位的值通常不受影响。

Z—结果为0标志位Z=1表示运算结果是0,Z=0表示运算结果不是零;对于CMP指令,Z=1表示进行比较的两个数大小相等。

N—T符号标志位本位设置成当前指令运算结果的bit[31]的值。

当两个补码表示有符号整数运算时,N=1表示运算的结果为负数,N=0 表示结果为正数或零。

5.简述ARM处理器异常处理和程序返回的过程。

答:ARM在异常产生时会进行以下操作:(1)将引起异常指令的下一条指令地址保存到新的异常模式的LR中,使异常处理程序执行完后能根据LR 中的值正确返回;(2)将CPSR的内容复制到新的异常模式下的SPSR中;(3)根据异常类型将CPSR模式控制位强制设定为发生异常所对应的模式值;(4)强制PC指向相应的异常向量地址。

ARM在异常返回时(1)从SPSR_<mode>恢复CPSR;(2)从LR_<mode>恢复PC 。

处理器字数据的存储格式有哪两种并指出这两种格式的区别。

答:1)小端存储格式(Little-Endian)在小端存储格式中,对于地址为A的字单元,其中字节单元由低位到高位字节地址顺序为A,A+1,A+2,A+3;对于地址为A的半字单元,其中字节单元由低位到高位字节地址顺序为A,A+1;2)大端存储格式(Big-Endian)在大端存储格式中,对于地址为A的字单元,其中字节单元由高位到低位字节地址顺序为A,A+1,A+2,A+3;对于地址为A的半字单元,其中字节单元由高位到低位字节地址顺序为A,A+1。

7.分析带有存储器访问指令(LDR)的流水线运行情况,并用图示说明其流水线的运行机制。

答:在ARM三级流水线下:对存储器的访问指令LDR就是非单周期指令。

这类指令在“执行”阶段后,还要进行“存储器访问”和“寄存器回写”操作,每一步占用1个时钟周期。

在指令执行时空图中,处于时钟周期T5时,LDR 指令要进行数据的存储器操作(访存),在时钟周期T6 要进行寄存器的回写操作,这两步还要占用执行单元,因此其下1条指令的“执行”就被阻断了,其下数第2 条指令的译码被阻断,要等待LDR 指令操作完毕后,流水线的正常运行才能被恢复。

在图中,处理器用6个时钟周期执行了4条指令,指令平均周期数(CPI) = 时钟周期。

8.简述ARM9的5级流水线每一级所完成的功能和实现的操作。

答:在ARM9在指令操作上采用 5 级流水线。

1)取指:从指令Cache中读取指令。

2)译码:对指令进行译码,识别出是对哪个寄存器进行操作并从通用寄存器中读取操作数。

3)执行:进行ALU运算和移位操作,如果是对存储器操作的指令,则在ALU中计算出要访问的存储器地址。

4)存储器访问:如果是对存储器访问的指令,用来实现数据缓冲功能(通过数据Cache);如果不是对存储器访问的指令,本级流水线为一个空的时钟周期。

寄存器回写:将指令运算或操作结果写回到目标寄存器中。

9.什么叫做流水线互锁应如何来解决,举例说明。

答:在流水线运行过程中可能会出现这种情况:当前指令的执行可能需要前面指令的执行结果,但这时前面的指令没有执行完毕,从而会导致当前指令的执行无法获得合法的操作数,这时就会引起流水线的等待,这种现象在流水线机制里称为互锁。

举例:参见教材第29页:当互锁发生时,硬件会停止这个指令的执行,直到数据准备好为止。

如图所示,LDR指令进行完执行阶段,还需要两个时钟周期来完成存储器访问和寄存器写操作,但这时指令MOV中用到的R9正是LDR中需要进行寄存器加载操作后的寄存器,因此MOV要进行等待,直到LDR指令的寄存器写操作完成。

3章ARM指令集寻址方式1.在指令编码中,条件码占有几位,最多有多少个条件,各个条件是如何形成的答:见教材节的描述。

2.指令条件码中,V标志位在什么情况下才能等于1答:当指令的算术运算发生异常时,V标志位置1。

例如,两个正数相加,其结果为一负数;或者是两个负数相加,其结果为一正数,都会置V标志位。

3.在ARM指令中,什么是合法的立即数判断下面各立即数是否合法,如果合法则写出在指令中的编码格式(也就是8位常数和4位的移位数)。

0x5430 0x108 0x304 0x501 0xFB10000 0x334000 0x3FC000 0x1FE0000 0x55800000x7F800 0x39C000 0x1FE80000答:每个立即数由一个8位的常数进行 32位循环右移偶数位得到,其中循环右移的位数由一个4位二进制的两倍表示。

即:<immediate>=immed_进行32位循环右移(2*rotate_4)位符合这一条件的都为合法的立即数。

0x54300B 0101 0100 0011 0000 不合法0x1080B 0001 0000 1000 1111 01000010(30/2)0x3040B 0011 0000 0100 1111 (30/2)0x5010B 0101 0000 0001 不合法0xFB100000B 1111 1011 0001 0000 0000 0000 不合法0x3340000B 0011 0011 0100 0000 0000 0000 1001 (18/2)0x3FC0000B 0011 1111 0000 0000 0000 1010 00111111(18/2)0x1FE00000B 0001 1111 1110 (0000)[4] 不合法0x55800000B 0101 0101 1000 (0000)[4] 不合法0x7F800000B 0111 1000 0001 (0000)[4] 不合法0x39C0000B 0011 1001 1100 0000 0000 0000 1001 (18/2)0x1FE800000B 0001 1111 1110 (0000)[4] 不合法4.分析逻辑右移、算术右移、循环右移、带扩展的循环右移它们间的差别。

答:见教材节的图3-1移位操作功能描述。

5.ARM数据处理指令具体的寻址方式有哪些,如果程序计数器PC作为目标寄存器,会产生什么结果ARM数据处理指令具体的寻址方式有5种,见教材节的具体说明。

如果程序计数器PC作为目标寄存器,会产生程序发生跳转。

6.在Load/Store指令寻址中,字、无符号字节的Load/Store指令寻址和半字、有符号字节寻址,试分析它们之间的差别。

答:在Load/Store指令寻址中,字、无符号字节的Load/Store指令寻址有三种,具体见教材节;Load/Store指令寻址中,半字、有符号字节寻址有两种,具体见教材节;它们之间的差别:在半字、有符号字节寻址中,没有Addressing_mode中的偏移量通过寄存器移位得到的形式。

7.块拷贝Load/Store指令在实现寄存器组和连续的内存单元中数据传递时,地址的变化方式有哪几种类型,并分析它们的地址变化情况。

答:Load/Store指令在实现寄存器组和连续的内存单元中数据传递时,地址的变化方式(addr_mode)有以下 4 种类型:后增IA (Increment After) :每次数据传送后地址加 4;IB (Increment Before) :每次数据传送前地址加 4 ;后减DA (Decrement After) :每次数据传送后地址减4 ;DB (Decrement Before) :每次数据传送前地址减4 。

8.栈操作指令地址的变化方式有哪几种类型,并分析它们的地址变化情况,从而得出栈操作指令寻址和块拷贝Load/Store指令之间的对应关系。

相关文档
最新文档