没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论








百度文库 - 让每个人平等地提升自我
一、填空题
1.ARM 微处理器共有______个______位寄存器,其中______个为通用寄存器,______
个为状态寄存器。
37、32、31、6
2.ARM 处理器有9 种基本寻址方式,分别是:______、______、______、______、
______、______、______、______
、______。
寄存器寻址、立即寻址、寄存器偏移寻址、寄存器间接寻址、基址寻址、多寄存器寻址、
堆栈寻址、块拷贝寻址、相对寻址
3.ARM 指令集可以分为 6 类,分别是:______、______、______、______、______
、
______。
跳转指令、数据处理指令、程序状态寄存器(PSR)传 输 指令 、Load/Store指令、协处理器指令、
异常中断产生指令
4.在 ARM 的汇编程序中,有如下几种伪指令:_____、______、______、______
、
______。
符号定义伪指令、数据定义伪指令、汇编控制伪指令、宏指令、其他伪指令
5.汇编语言与 C/C++的混合编程通常有以下几种方式:
_____、______、______。
在 C/C++代码中嵌入汇编指令;从汇编程序中访问 C 程序变量;汇编程序、C/C++程序
间的相互调用
6.ARM C/C++编译器支持和产生以下几种格式的文件:_____、____、____、
______、______
。
filename.c 源文件、filename.h 头文件、filename.o
目标文件、filename.s汇编代
码文件、filename.lst列表文件
7.ARM 在线仿真包括 3 个过程:_____
、______、______。
装载映像文件、程序执行、查看寄存器和内存空间
8.目前流行的嵌入式操作系统主要有:______、______、_____
和_____。
Vxwork、WinCE、Linux、pSOS
9.ARM 处理器工作状态主要有______、______和______
模式。
运行、睡眠、空闲
10.作为高速缓存的存储器主要有______、______和______
。
SRAM、DRAM、Flash ROM
11.动态 RAM有______和______。
1

百度文库 - 让每个人平等地提升自我
SDRAM、DDR
12.ARM 有从外部______启动的外启动和从片上
______启动的内启动两种启动方式。
SDRAM、ROM
13. Nand-Flash 闪存每个块的最大擦写次数是______万次,而 Nor 的擦写次数
是______万次。
100、10
14.MTD 核心层分为:______层、______
层和______层。
用户模块接口、MTD 抽象、MTD 设备驱动模块
15.Nor-Flash 常用于存放______,而 Nand-Flash存放
______。
系统代码、用户信息
16.Linux 设备可分为______
、______和______三种。
字符设备、块设备、网络设备
17.GPIO 支持______、______和______
三种数据传输方式。
中断、查询、DMA
18.GPIO 驱动可以以两种方式编译:一种是
______,另一种是______。
静态编译进内核、编译成模块动态加载
19.ARM 处理器复位源有______、______、______、______、______和______
。
上电复位、外部硬复位、内部硬复位、JTAG 复位、外部软件复位、内部软件复
位
20.按复位信号是否与时钟信号同步,可分为:
______复位和______复位。
同步、异步
21.常用的 A/D 转换器有______、______、______、______和______。
积分型、逐次逼近型、并行比较型、∑-△型、流水线型
22.速度最快的 A/D 转换器是______ADC。
并行比较型
23.A/D 转换可分为 4 个阶段,分别是:______、______、______、______。
采样、保持、量化、编码
24.从广义的角度来说,数据通信方式可以分为______和______两大类,相应的
通信线路分别称为
______ 和______。
2

百度文库 - 让每个人平等地提升自我
并行通信、串行通信;并行总线、串行总线
25.串行通信的两种基本工作方式为:______和______。标准异步串行通信
(UART)
接口有:______、 ______和______
。
异步串行通信、同步串行通信;RS-232C、RS-422、RS-485
26.UART 串行通信接口标准是__________,它采用_______逻辑来进行电平传输。
RS-232C、负
27.I2C 采用两根 I/O 线是:______和
______。
SCL 串行时钟线、SDA 串行数据线
28.I2C 数据传输速率标准模式下为_____bps,快速模式下为_____bps,高速模
式下为______bps。
100K、100K、3.4M
29.串行存储器一般具有两种写入方式:
______和______。
字节写入方式、页写入方式
30.USB 系统包括______、______和
______三部分。
31
.USB 互连、USB 从端口、USB 主端口
32.USB 从端口包括______和______两大类。
33
.USB 集线器、功能设备
34.USB1.1 支持______bps 的传输速率,
2.0 标准支持______bps 的传输速率。
1.5~12、120~240
35.USB 支持______、______、______和
______等四种传输模式。
同步、中断、控制、批量
36.USB 驱动程序开发的工具主要有______、______和______。
Windiver、Microsoft DDK、DriverStudio
37 每个以太网口上都有一个唯一的______位 MAC 地址与之对应。
48
39.Boot-loadere 两种不同的操作模式是
______模式和______模式。
启动加载、下载
40.Boot-loader 目标代码是
*. ______格式的文件。
bin
41. ARM Linux 移植主要工作是把编译生成的______、______和______,并
烧写到
Flash 中。
Boot-loader、Kernel Image、Root File
42.Linux 支持多种文件系统,包括:______、______、______和
______。
3

百度文库 - 让每个人平等地提升自我
Romfs、Cramfs、JFFS、JFFS2
43.JFFS2 在 Linux 中一种是作为______,另一种是作为______在系统启动后被
挂载。
根文件系统、普通文件系统
44.Linux 源文件的树形结构可以分为 4 层:______、______、______
和______。
用户层、内核层、底层驱动、硬件驱动
二、问答题:
1.通用寄存器包括 R0~R15,可以分为具体哪三类?
通用寄存器包括 R0~R15,可以分为三类:
(1)未分组寄存器 R0~R7;
(2)分组寄存器 R8~R14;
(3)程序计数器 PC(R15)。
2.请描述 Thumb状态下的寄存器与
ARM 状态下的寄存器有什么关系?
Thumb 状态下的寄存器与 ARM 状态下的寄存器有如下关系:
(1)Thumb 状态下和 ARM 状态下的 R0~R7 是相同的。
(2)Thumb 状态下和 ARM 状态下的 CPSR 和所有的SPSR是相同的。
(3)Thumb 状态下的 SP对应于 ARM 状态下的R13。
(4)Thumb 状态下的 LR对应于 ARM 状态下的R14。
(5)Thumb 状态下的程序计数器对应于 ARM 状态下的R15。
3.当一个异常出现以后,ARM 微处理器会执行哪几步操作?
当一个异常出现以后,ARM 微处理器会执行以下几步操作。
(1)将下一条指令的地址存入相应连接寄存器 LR,以便程序在处理异常返回时能从正确的
位置重新开始执行。若异常是从 ARM 状态进入,则 LR寄存器中保存的是下一条指令的地
址(当前 PC+4 或 PC+8,与异常的类型有关);若异常是从Thumb 状态进入,则在 LR寄存
器中保存当前 PC 的偏移量,这样,异常处理程序就不需要确定异常是从何种状态进入的。
例如:在软件中断异常SWI,指令 MOV PC,R14_svc总是返回到下一条指令,不管 SWI 是在
ARM 状态执行,还是在 Thumb 状态执行。
(2)将 CPSR 复制到相应的SPSR中。
(3)根据异常类型,强制设置 CPSR 的运行模式位。
(4)强制 PC 从相关的异常向量地址取下一条指令执行,从而跳转到相应的异常处理程序处。
4.一条典型的 ARM 指令具有什么样的语法格式,并描述各选项意义。
一条典型的 ARM 指令语法格式如下所示:
<opcode>{<cond>}{S}<Rd>,<Rn>,< shifter_operand >
其中:
4

百度文库 - 让每个人平等地提升自我
opcode 是指令操作符编码;
cond 是指令执行的条件编码;
S 决定指令的操作是否影响
CPSR 的值;
Rd 是目标寄存器编码;
Rn 是包含第 1 个操作数的寄存器编码;
shifter_operand 表示第
2 个操作数。
5.表示递增和递减的满堆栈和空堆栈有哪几种组合,请比较它们的特点。
有 4 种类型的堆栈,表示递增和递减的满堆栈和空堆栈的各种组合。
满递增:堆栈通过增大存储器的地址向上增长,堆栈指针指向内含有效数据项的最高地
址。指令如 LDMFA,STMFA等。
空递增:堆栈通过增大存储器的地址向上增长,堆栈指针指向堆栈上的第一个空地址。
指令如 LDMEA,STMEA等。
满递减:堆栈通过减小存储器的地址向下增长,堆栈指针指向内含有效数据项的最低地
址。指令如 LDMFD,STMFD等。
空递增:堆栈通过减小存储器的地址向下增长,堆栈指针指向堆栈下的第一个空地址。
指令如 LDMED,STMED等。
7.汇编语言程序中常用的符号,需要遵循哪些规则?
1、 符号区分大小写,同名的大、小写符号会被编译器认为是两个不同的符号。
2、符号在其作用范围内必须唯一。
3、自定义的符号名不能与系统的保留字相同。
4、符号名不应与指令或伪指令同名。
8.可执行映像文件通常由几部分构成,它们有什么特点?
1、 一个或多个代码段,代码段的属性为只读。
2、 零个或多个包含初始化数据的数据段,数据段的属性为可读写。
3、 零个或多个不包含初始化数据的数据段,数据段的属性为可读写。
9.初始化存储器有哪几种方法?
初始化存储器就是设置 ARM 处理器的某些寄存器,这可以通过两种方法完成:
第一种,如果 ARM 处理器内部有SRAM,则可以建立一个简单的工程,该工程对涉及
存储器映射的寄存器初始化;
第二种,利用AXD的命令行配置那些寄存器,具体步骤如下:
首先在 C:\下建立文本文件 memory_map.txt,该文件设置寄存器的值,其格式为:
setmem ADDRESS,DATA,SIZE
其中,ADDRESS 是寄存器的地址,
DATA 是该寄存器要设置的值,
SIZE是数据宽度,一般为 32,可以设置多个寄存器;
然后打开 AXD Debugger 的命令行窗口,执行下面的命令,配置对应的控制寄存器。
>obey C:\memory_map.txt
执行完毕后,memory_map.txt 中的寄存器就配置完毕,存储器就映射到预定的地
5
剩余20页未读,继续阅读
资源评论


hhappy0123456789
- 粉丝: 34
- 资源: 4万+
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


安全验证
文档复制为VIP权益,开通VIP直接复制
