嵌入式系统原理及应用习题解析Word下载.docx
《嵌入式系统原理及应用习题解析Word下载.docx》由会员分享,可在线阅读,更多相关《嵌入式系统原理及应用习题解析Word下载.docx(20页珍藏版)》请在冰豆网上搜索。
![嵌入式系统原理及应用习题解析Word下载.docx](https://file1.bdocx.com/fileroot1/2022-10/22/dc32f33e-652a-43cf-a6bf-f202a7560c81/dc32f33e-652a-43cf-a6bf-f202a7560c811.gif)
专用性强、实时性好、可裁剪性好、可靠性高和功耗低等。
(2)简述计算机系统的发展历程
第一阶段大致在20世纪70年代前后,可以看成是嵌入式系统的萌芽阶段;
第二阶段是以嵌入式微处理器为基础,以简单操作系统为核心的嵌入式系统;
第三阶段是以嵌入式操作系统为标志的嵌入式系统,也是嵌入式应用开始普及的阶段;
第四阶段是以基于为标志的嵌入式系统,这是一个正在迅速发展的阶段。
(3)简述和的区别
是微控制器,是数字信号处理器。
相当于小型的电脑,内部集成的、、、总线,所以集成度高是它的特点。
是专用的信息处理器,内部的程序是对不同的机器和环境进行特别优化,所以处理速度是最快的。
2.4练习题
1.填空题
(1)799E10E11
(2)精简指令集计算机
(3)920T总线
(4)显卡布线
(5)1.8V3.3V
(6)81281
(7)S3C24106464
2.选择题
(1)D
(2)C(3)A(4)B(5)B
(6)C(7)D(8)C(9)C(10)B
3.简答题
(1)和S3C2410X有什么关系?
S3C2410是韩国三星公司生产的嵌入式处理器,它采用了公司的920T(即9)内核
(2)7是32位处理器,使用3级流水线,采用冯
•诺依曼体系结构,不支持。
(3)8是32位处理器,使用5级流水线,采用哈佛体系结构,支持。
(4)S3C2410X芯片有27根地址线,8根片选线(),32根数据线。
(5)S3C2410X芯片内部集成了一个控制器,控制器,3个通道,4个通道,4个具有功能的计时器和一个内部时钟,8通道的10位。
(6)体系结构有哪几种工作状态?
又有哪几种运行模式?
其中哪些为特权模式?
哪些为异常模式?
并指出处理器在什么情况下进入相应模式?
工作状态:
第1种:
状态。
处理器执行32位的字对齐的指令。
第2种:
处理器执行16位的半字对齐的指令。
运行模式:
用户模式()快速中断模式()外部中断模式()
管理模式()数据访问中止模式()系统模式()
未定义指令中止模式()
在这7种运行模式,除了用户模式外,其他6种处理器模式都为特权模式。
在这6种特权模式中,除了系统模式外的其他5种特权模式又称为异常模式。
用户模式:
非特权模式,也就是正常程序执行的模式,大部分任务在这种模式下执行。
在用户模式下,
如果没异常发生,不允许应用程序自行切换果没异常发生,不允许应用程序自行改变处理器的工作模式,如果有异常发生,处理器会自动切换工作模式。
快速中断模式:
支持高速数据传输和通道处理,当一个高优()中断产生时将会进入这种模式。
外部中断模式:
也称为普通中断模式,当一个低优先级中断产生时将会进入这种模式。
在这模式下按中断的处理器方式又分为向量中断和非向量中断两种。
通常的中断处理都在模式下进行。
管理模式:
是一种操作系统保护模式,当复位或软中断指令执行时处理器将进入这种模式。
数据访问中止模式:
当存取异常时将会进入这种模式,用来处理存储器故障、实现虚拟存储或存储保护。
系统模式:
使用和模式相同寄存器组的特权模式,用来运行特权级的操作系统任务。
未定义指令中止模式:
当执行未定义指令时会进入这种模式,主要是用来处理未定义的指令陷阱,支持硬件协处理器的软件仿真,因为未定义指令多发生在对协处理器的操作上。
(7)体系结构支持的数据类型?
有多少寄存器?
如何组织?
支持的数据类型:
1.字节(),各种处理器体系结构中,字节的长度均为8位。
2.半字(),在体系结构中,半字的长度为16位。
3.字(),在体系结构中,字的长度为32位。
处理器共有37个寄存器,其中31个通用寄存器,6个状态寄存器。
(8)S3C2410的存储控制器如何对内存空间进行管理?
S3C2410X存储控制器为片外存储器提供控制信号。
它将系统的存储空间分成8组(),每组的大小为128,共1。
(9)分析程序状态寄存器各位的功能描述,并说明C、Z、N、V在什么情况下进行置1和清0
状态寄存器()的具体格式为
V—溢出标志位
对于加/减法运算指令,当操作数和运算结果为二进制补码表示的带符号数时,1表示符号位溢出,其它指令通常不影响V位。
例如:
两个正数(最高位为0)相加,运算结果为一个负数(最高位为1),则符号位溢出,相应1.
进位或借位标志位
对于加法指令(包括比较指令),结果产生进位,则C=1,表示无符号数运算发生上溢出,其他情况下C=0;
在减法指令中(包括比较指令),结果产生借位,则C=0,表示无符号数运算发生下溢出,其他情况下C=1;
对于包含移位操作的非加/减法运算指令,C中包含最后一次溢出位的数值;
对于其他非加/减法运算指令,C位的值通常不受影响。
结果为0标志位
Z=1表示运算结果是0,Z=0表示运算结果不是零;
对于指令,Z=1表示进行比较的两个数大小相等。
符号标志位
本位设置成当前指令运算结果的[31]的值。
当两个补码表示有符号整数运算时,N=1表示运算的结果为负数,N=0
表示结果为正数或零。
(10)指令可分为哪几类?
说出哪几条指令是无条件执行的。
指令可分为:
数据处理指令,跳转指令,程序状态寄存器处理指令,加载/存储指令,协处理器指令
,异常产生指令。
无条件执行指令:
指令,指令(产生软件断点中断)
(11)如何实现两个64位数的加法操作,如何实现两个64位的减法操作,如何求一个64位数的负数?
实现
64
位数据加法运算:
假设
R0和R1存放了一个64位数据(作为被加数),R0存放数据的低32位;
R2和R3中存放了另一个64位数据(作为加数),R2中存放低
32
位数据。
运算结果送回到[R1:
R0]中(R0中存放低
位)。
R002
;
低32位相加并影响标志位
R113
高32位相加再加上
C
标志位
(进位值)
实现64位数据减法运算:
如果寄存器R0和R1中放置一个64位的被减数,其中R0中放置低32位数值;
寄存器R2和R3中放置一个64位的减数,其中R2
中放置低
位数值。
R0]中(R0中存放低32位)。
R0,R0,R2
;
低32位相减并影响标志位
R1,R1,R3
高32位相减再减去C标志位的反码
求一个64位数的负数:
如果寄存器R0和R1中放置一个
位数,其中
R0
位数值;
寄存器R4和R5中放置其负数,其中R4中放置低32位数值。
R4,R0,#0
0减去低32位并影响标志位
R5,R1,#0
0减去高32位再减去C标志位的反码
4.程序题
(1)分析下列每条语句,并说明程序实现的功能。
R0,#0判断R0是否等于0
R1,#0当R0等于0,则R1等于0
R11当R0为正数时,则R1等于1
此功能码段可以判别R0中的值为正数还是0。
(2)写一条指令,分别完成下列操作。
R0=16
#16
R0=R1/16
14
R1=R2*4
R1221
R0=-R0
(3)写出实现下列操作的指令。
当1时,将存储器地址为R1的字数据读入寄存器R0。
R0,
[R1]
当1时,将存储器地址为R12的字数据读入寄存器R0。
[R12]
将存储器地址为R1-4的字数据读入寄存器R0。
R0,[R14]
将存储器地址为R16的字数据读入寄存器R0,并将新地址R1+R6
写入R1。
R0,[R16]!
(4)写出下列指令所实现的操作。
R2
[R3,#-2]!
将存储器地址为R3-2的字数据读入R2,并将地址R3-2写入R3
[R0]1
将存储器地址为R0的字数据读入R0,并将地址R01写入R0
R1
[R02#2]!
将存储器地址为R02*4的字数据读入R1,并将地址R02*4写入R0
,[R2,#00]
R0的低8位存入存储器地址为
R2+00字节中
,{R1,R2,R8}
将内存单元R0所指向的地址单元以字为单位递减方式读取到R1,R2,R8
中,低地址编号的字数据内存单元对应低编号寄存器
R0!
,
{R15,R8,R9}
R1589存储到以R0为起始地址的递减内存中,最终R0
指向存放
R9的地址单元
5.计算题
某设备的接口电路如图所示,请计算出该设备的地址。
3.5练习题
(1)B
(2)A(3)C(4)D(5)A
(1)程序运行过程中编译过程中
(2)LIo
(3)$
(4)$@$^$<
(、等)
(5)目标文件的完整名称所有不重复的依赖文件,以空格隔开第一个依赖文件的名称、
(1)和之间的关系?
是一种命令,是根据文件的规则决定如何编译和连接程序或其他的动作。
(2)的普通变量与预定义变量有什么不同?
预定义变量有哪些?
它们分别表示什么意思?
普通变量:
引用变量时,只需在变量前面加上$符;
预定义变量:
已经定义好,直接引用即可。
预定义变量有:
$@、$^、$<
。
$@:
表示完整的目标文件名;
$^:
表示所有的依赖文件;
$<
:
表示依赖文件列表中的第一个文件。
(3)编译器的常用参数有哪些?
它们的功能分别是什么?
编译器的常用参数:
,,,,,
功能:
表示编译成一个可执行程序;
表示指定头文件目录;
表示指定库文件目录选项;
表示对源代码进行预编译;
表示编译成汇编代码;
表示把文件转换为以为扩展名的目标文件。
4.编程及调试题
(1)根据要求编写文件。
有5个文件分别是、、、、,具体代码如下。
文件
1)如果上述文件在同一目录,请编写文件,用于生成可执行程序。
文件
2)如果按照下面的目录结构存放文件,请改写文件。
:
存放生成的可执行文件
存放文件
存放、
存放、、和.
3)如果按照下面的目录结构存放文件,请改写文件。
存放和
1:
存放
2:
这可能只是其中一种方法,方法不唯一。
我这种做法有一个缺点就是需要修改和文件的内容,如修改“”。
(2)按要求完成以下操作。
1编辑文件,其内容如下。
2用–o编译,生成
3用–g–o