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嵌入式系统课后习题部分答案
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章_习题答案
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嵌入式系统课后习题(部分)答案
一填空题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嵌入式系统结构与编程》第二章课后答案
第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嵌入式系统结构与编程》习题答案第一章绪论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嵌入式系统结构与编程》第三章课后答案
第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习题(含答案)一、判断题(共100题,每题1分,共100分)1.嵌入式操作系统是指用于嵌入式系统的操作系统A、正确B、错误正确答案:A2.汇编的优点是效率高,体积小。
A、正确B、错误正确答案:A3.HSE是高速外部时钟,可接石英/陶瓷谐振器,或者接外部时钟源,频率范围为4MHz~16MHz。
A、正确B、错误正确答案:A4.STM32F103芯片有5个串口。
A、正确B、错误正确答案:A5.在每个STM32的芯片上都有两个管脚BOOT0和BOOT1,这两个管脚在芯片复位时的电平状态决定了芯片复位后从哪个区域开始执行程序。
当BOOT1=x BOOT0=0时,从用户闪存启动,这是正常的工作模式A、正确B、错误正确答案:A6.嵌入式系统和通用计算机系统工作原理是相同的的A、正确B、错误正确答案:A7.GPIO_Mode用以设置选中引脚的工作状态。
A、正确B、错误正确答案:AS电路比TTL电路功耗大。
B、错误正确答案:B9.对于STM32开发板而言,它需要两个晶振,一个是系统主晶振,频率为8MHz,一个是实时时钟晶振,频率为32.768KHz。
A、正确B、错误正确答案:A10.Coryex-R系列的关键特性为高性能,实时,安全,经济实惠。
A、正确B、错误正确答案:A11.GPIO_ReadInputDataBit的返回值是GPIO输入数据端口值。
A、正确B、错误正确答案:B12.集成32位的ARM Cortex_M3内核,最高频率为72MHZA、正确B、错误正确答案:A13.GPIO_Speed_10MHz表示最高输出速率为10MHz。
A、正确B、错误正确答案:A14.波特率的倒数即为每位传输所需的时间A、正确B、错误正确答案:A15.对于通用计算机,操作系统是整个软件的核心,不可或缺。
A、正确B、错误正确答案:A16.BOOT0和BOOT1这两个管脚在芯片复位时的电平状态决定了复位后从哪个区域开始执行程序B、错误正确答案:A17.借助GPIO,微控制器可以实现对外围设备(如LED和按键等)最简单、最直观的监控。
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嵌入式系统试题及标准答案一、选择题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嵌入式系统结构与编程习题答案 邱铁著
第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课后习题及答案
第 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嵌入式系统结构与编程》邱铁编著. 清华大学出版社.年月第版 年月第二次印刷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版)-习题答案第一章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嵌入式系统结构与编程,课后练习及答案
第一章思考与练习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嵌入式系统结构与编程》第二章课后答案复习进程
第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嵌入式系统课后习题部分答案精修订
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、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《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是源码工卡的实时嵌入式系统内核,主要有以下特点:源码公开,可移植性强,可固化,可剪裁,占先式,多任务,可确定性,提供系统服务等。
4.举例说明嵌入式设备在工控设备中的应用。
答:由于工业控制系统特别强调可靠性和实时性,“量身定做”的嵌入式控制系统恰能满足工业控制的需求。
例如:工业过程控制,数字控制机床,电网设备监测,电力自动控制系统,石油化工监控等。
5.嵌入式技术的发展趋势有哪些?答:未来嵌入式系统的发展趋势有:1.随着信息化与数字化的发展,嵌入式设备进行网络互联是未来发展的趋势。
2.优化嵌入式系统软硬件内核,提高系统运行速度,降低功耗和硬件成本。
3.指令集的并行计算技术将引入嵌入式微处理器。
4.嵌入式微处理器将会向多核技术发展。
5.嵌入式技术将引领信息时代。
第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的状态。
2.分析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工具使用的形式。
3.ARM处理器的工作模式有哪几种,其中哪些为特权模式,哪些为异常模式,并指出处理器在什么情况下进入相应的模式。
答:ARM技术的设计者将ARM处理器在应用中可能产生的状态进行了分类,并针对同一类型的异常状态设定了一个固定的入口点,当异常产生时,程序会自动跳转到对应异常入口处进行异常服务。
⏹1.用户模式:非特权模式,也就是正常程序执行的模式,大部分任务在这种模式下执行。
在用户模式下,如果没异常发生,不允许应用程序自行改变处理器的工作模式,如果有异常发生,处理器会自动切换工作模式⏹2.FIQ模式:也称为快速中断模式,支持高速数据传输和通道处理,当一个高优先级(fast)中断产生时将会进入这种模式。
⏹3.IRQ模式:也称为普通中断模式,:当一个低优先级(normal)中断产生时将会进入这种模式。
在这模式下按中断的处理器方式又分为向量中断和非向量中断两种。
通常的中断处理都在IRQ模式下进行。
⏹4.SVC模式:称之为管理模式,它是一种操作系统保护模式。
当复位或软中断指令执行时处理器将进入这种模式。
⏹5.中止模式:当存取异常时将会进入这种模式,用来处理存储器故障、实现虚拟存储或存储保护。
⏹6.未定义指令异常模式:当执行未定义指令时会进入这种模式,主要是用来处理未定义的指令陷阱,支持硬件协处理器的软件仿真,因为未定义指令多发生在对协处理器的操作上。
⏹7.系统模式:使用和User模式相同寄存器组的特权模式,用来运行特权级的操作系统任务。
⏹在这7种工作模式中,除了用户模式以外,其他6种处理器模式可以称为特权模式,在这些模式下,程序可以访问所有的系统资源,也可以任意地进行处理器模式的切换。
⏹在这6种特权模式中,除了系统模式外的其他5种特权模式又称为异常模式,每种异常都对应有自己的异常处理入口点。
4.分析程序状态寄存器(PSR)各位的功能描述,并说明C,Z,N,V在什么情况下进行置位和清零。
答:⏹条件位:⏹N = 1-结果为负, 0-结果为正或0⏹Z = 1-结果为0, 0-结果不为0⏹ C =1-进位, 0-借位⏹V =1-结果溢出, 0结果没溢出⏹Q 位:⏹仅ARM 5TE/J架构支持⏹指示增强型DSP指令是否溢出⏹中断禁止位:⏹I = 1: 禁止 IRQ.⏹ F = 1: 禁止 FIQ.⏹T Bit⏹仅ARM xT架构支持⏹T = 0: 处理器处于 ARM 状态⏹T = 1: 处理器处于 Thumb 状态⏹Mode位(处理器模式位):⏹0b10000 User⏹0b10001 FIQ⏹0b10010 IRQ⏹0b10011 Supervisor⏹0b10111 Abort⏹0b11011 Undefined⏹0b11111 System5.简述ARM处理器异常处理和程序返回的过程。
答:只要正常的程序流被暂时中止,处理器就进入异常模式。
例如响应一个来自外设的中断。
在处理异常之前,ARM7TDMI内核保存当前的处理器状态,这样当处理程序结束时可以恢复执行原来的程序。
如果同时发生两个或更多异常,那么将按照固定的顺序来处理异常。
在异常发生后,ARM7TDMI内核会作以下工作:1.在适当的LR中保存下一条指令的地址2.将CPSR复制到适当的SPSR中;3. 将CPSR模式位强制设置为与异常类型相对应的值;4.强制PC从相关的异常向量处取指。
ARM7TDMI内核在中断异常时置位中断禁止标志,这样可以防止不受控制的异常嵌套。
注:异常总是在ARM状态中进行处理。
当处理器处于Thumb状态时发生了异常,在异常向量地址装入PC时,会自动切换到ARM状态。
当异常结束时,异常处理程序必须:1.将LR中的值减去偏移量后存入PC,偏移量根据异常的类型而有所不同;2.将SPSR的值复制回CPSR;3.清零在入口置位的中断禁止标志。
注:恢复CPSR的动作会将T、F和I位自动恢复为异常发生前的值。
6.ARM处理器字数据的存储格式有哪两种?并指出这两种格式的区别。
答:ARM7TDMI处理器可以将存储器中的字以下列格式存储▪大端格式(Big-endian)▪小端格式(Little-endian)▪小端存储器系统:在小端格式中,高位数字存放在高位字节中。
因此存储器系统字节0连接到数据线7~0。
▪大端存储器系统:在大端格式中,高位数字存放在低位字节中。
因此存储器系统字节0连接到数据线31~24。
7.分析带有存储器访问指令(LDR)的流水线运行情况,并用图示说明流水线的运行机制。
答:存储器访问指令LDR 流水线举例取指的存储器访问和执行的数据路径占用都是不可同时共享的资源,对于多周期指令来说,如果指令复杂以至于不能在单个时钟周期内完成执行阶段,就会产生流水线阻塞。
对存储器的访问指令LDR是非单周期指令LDR指令的执行,访问存储器,回写寄存器(占用了3个周期)。
造成了MOV指令的执行被阻断。
8.简述ARM9的5级流水线每一级所完成的功能和实现的操作。
答:ARM920在指令操作上采用5级流水线 .取指:从指令Cache中读取指令。
译码:对指令进行译码,识别出是对哪个寄存器进行操作并从通用寄存器中读取操作数。
执行:进行ALU运算和移位操作,如果是对存储器操作的指令,则在ALU中计算出要访问的存储器地址。
存储器访问:如果是对存储器访问的指令,用来实现数据缓冲功能(通过数据Cache)。
寄存器回写:将指令运算或操作结果写回到目标寄存器中。
9.什么叫流水线互锁?应如何来解决,举例说明。
答:互锁:当前指令的执行需要前面指令的执行结果,但前面的指令没有执行完毕,引起流水线的等待。
互锁发生时,硬件会停止指令的执行,直到数据准备好。
上边程序中ORR指令执行时需要使用LDR指令加载后的R4寄存器,因此造成了ORR指令的等待。
编译器以及汇编程序员可以通过重新设计代码的顺序或者其他办法来减少互锁的数量。
第3章 ARM指令集寻址方式1.在指令编码中,条件码占几位,最多有多少个条件,各个条件是如何形成的?答:条件码占4位,最多有15个条件2. 指令条件码中,V标志位在什么情况下才能等于1?答:V—溢出标志位对于加减法运算指令,当操作数和运算结果为二进制补码表示的带符号数时,V=1表示符号位溢出,其他指令通常不影响V位。
3. 在ARM指令中,什么是合法的立即数?判断下面各立即数是否合法,如果合法则写出在指令中的编码格式(也就是8位常数和4位移位数)0x5430 0x108 0x304 0x5010xfb10000 0x334000 0x3FC000 0x1FE00000x5580000 0x7F800 0x39C000 0x1FE80000答:立即数必须由1个8位的常数通过进行32位循环右移偶数位得到,其中循环右移的位数由一个4位二进制的两倍表示。