网站首页 > 技术文章 正文
对于arm嵌入式学习来说,他不简单,也不很难,在这里你就要学会arm嵌入式学习方法那就很容易了,很多人都很头疼arm嵌入式考试,因为这是对你学习的一个检测,有些人学的不是很踏实,就会觉得很烦恼,在这里大神总结了arm嵌入式各类考试题型,可以看看你都会了没。
一、选择题
1、下面哪个不是嵌入式操作系统的特点。
( C?) A.内核精简 B.专用性强 C.功能强大 D.高实时性
2、ARM指令集合Thumb指令集分别是(D?)位的。
A.8,16 B.16,32 C.16,16 D.32,16
3、FIQ中断的入口地址是(?A?)
A.0x0000001C B.0x00000008?C.0x00000018 D.0x00000014
4、ADD?R0,R1,#6,执行该指令时属于(?A)寻址方式。
A.立即寻址 B.多寄存器寻址 C.寄存器直接寻址 D.相对寻址
5、寄存器R13除了可以用作通用寄存器之外,还可以作为(?B?)
A.程序计数器 B.堆栈指针寄存器 C.链寄存器 D.基址寄存器
6、一个32位字0x12345678,在采用bigEndian存储,在内存的排列正确的?是(B)
A.78?56?34?12 B.12?34?56?78 C.87?65?43?21 D.21?43?65?87
7、?CortexA8的工作频率高达(1GHZ),定时器的PLCK的值是( 66MHZ)。
8、?S5PV210内部有( 5?)个定时器,其中有PWM引脚的有定时器( T0?T1?T2 T3 ),有死区功能的有定时器( T0 T1 )。
9、?占空比就是输出的PWM中,高电平保持的时间?与该PWM的时钟周期的时间之比。
10、?可以通过改变高低电平的时间改变占空比,也可以通过修改时钟周期的时间改变占 空比。(F) 前面话对,后面话错
11、?ARM?处理器有两个级别的中断请求,他们分别是(?fiq )和( irq )。?ARM上实现内存管理的单元叫( MMU )。
12、?ARM的全称是( Advanced?RISC?Machine) 目前常用的嵌入式外围设备按功能可以分为( 存储设备 )、( 通信设备 )和( 显示设备 )。硬件设备=嵌入式处理器+外围设备 外围设备是完成存储通信调试显示等辅助功能的其他部件。目前常用,存储设备(ram,sram,flash),通信设备(rs232接口,),显示设备(显示屏)。
13、?嵌入式linux操作系统属于免费的操作系统。
14、?ARM?有3种含义,它是( 一个公司名词 ),是( 一类微处理器通 称 ),还是( 一种技术 )的名称。
15、?ARM支持( 大端 )和( 小端 )两种内存模式。
二、填空题
1、ARM9处理器使用了程序存储器和数据存储器分开独立编址的哈佛结构,并采用5级指令流水线,5级流水线操作分别是取指、译码、执指、缓冲和?写回。
2、ARM微处理器支持字节、半字、字三种数据类型,数据的位数分别为8位、16位、32位,其中字必须以4字节为边界对齐,半字必须以2字节为边界对齐。
3、复位异常的优先级最高,因此在任何情况下,只要进入该状态系统无条件地将PC指向0x00000000处,以执行系统第一条指令。
4、嵌入式系统体系结构一般具有冯.诺依曼和哈佛两种基本形式,且ARM7采用?冯.诺依曼体系结构。
5、从编程角度看,ARM微处理器一般有ARM和Thumb两种工作状态。
三、判断题
1、无论何种模式下R15均作为PC使用。 (√)
2、ATPCS中的参数传递规则只能使用寄存器R0-R3来进行参数的传递。(×)
3、在C语言程序中调用汇编语言程序的方法是使用EXTERN关键字。(√)
4、ARM7采用3级指令流水线,即取指令、译码和执行指令。?(√)
5、Boot?Loader?是在操作系统内核运行之前运行的一段小程序。(√)
6、嵌入式系统开发环境只需要宿主机和目标机就可以。 (×)
7、ARM指令中“%”后面的数字为十进制数。 (×)
8、Char?*a[5];是数组指针的声明格式。 (×)
9、指令ADD?Rd,Rn,#3和指令ADD?Rd,Rn,Rm的寻址方式不同。(√)
10、指令MUL R1,R1,R6是正确的。 (×)
四、简答题
1、ARM体系结构的技术特点是什么?
答:(1)单调周期操作
(2)采用加载/存储指令结构?(执行速度快)
(3)固定32位指令?(结构简单、效率高)
(4)地址指令格式?(三地址指令格式,优化代码)
(5)指令流水线技术?(提高执行效率)
2、具体说明ARM7TDMI中的T、D、M和I代表什么?
答:ARM7TDMI是ARM7系列成员中应用最为广泛的32位高性能嵌入式RISC 处理器内核,其中T表示支持高密度16位的Thumb指令集,D表示支持片上?调试,M代表支持64位乘法,I表示支持EmbededICE调试硬件。
3、ARM存储字数据有两种方式,即大端格式和小端格式,如有一个32位字0x12345678存放的起始地址为0x00040000,在两种格式下分别如何存放?并计算机通常情况默认为什么格式?
答:大端格式:32位字数据的高字节存储在低地址,而字数据的低字节存放在高地址中,0x00040000—0x00040003分别存放0x12,0x34,0x56,0x78 小端格式:32位字数据的高字节存储在高地址,而字数据的低字节存放在低地址中,0x00040000—0x00040003分别存放0x78,0x56,0x34,0x12 系统初始化时默认为小端格式。
4、ARM程序可以使用两种语言进行设计,一种是汇编语言,一种是C/C++语言,则汇编语言和C/C++语言各自的特色是什么?
汇编语言特点:程序执行速度快,程序代码生成量少,但是可读性差,汇编语言属于低级语言,在通常情况下可以使用汇编语言编写驱动程序、需要严格计算执行时间的程序以及需要加速执行的程序。 C/C++语言:是高级语言,能够快速的编写应用程序,有丰富的程序库支持,
程序易编写,具有结构化,程序可读性强,易于修改,便于调试和维护。
5、为什么要使用Thumb模式?与ARM代码相比较,Thumb代码的两大优势是什么?如何完成Thumb指令模式和ARM指令模式之间的切换?
答:ARM体系结构除了支持执行效率很高的32位ARM指令集以外,为兼容数据总线宽度为16位的应用系统,也支持16位的Thumb指令集。Thumb指令集是ARM指令系统的一个子集,允许指令编码的长度为16位。与等价的32位代码相比较,Thumb指令集在保留32位代码的优势的同时,大大节省系统的存储空间。由ARM状态切换到Thumb状态通过BX指令,当操作数寄存器的最低位为1时,可执行BX指令使微处理器进入Thumb状态;当操作数寄存器的最低位为0时,可执行BX指令使微处理器进入ARM状态。
6、ARM对异常中断的响应过程:
(1)保存处理器当前状态、中断屏蔽位以及各条件标志位;
(2)设置当前程序状态寄存器CPSR中的相应位;
(3)将寄存器lr_mode设置成返回地址;
(4)将程序计数器值PC,设置成该异常中断的中断向量地址,跳转到相应 异常中断处执行。
7、ARM?7?种功能模式是什么?
答:(1)用户模式:正常用户模式,程序正常执行模式。
(2)FIQ模式:处理快速中断,支持高速数据传送或通道处理。
(3)IRQ模式:处理普通中断。
(4)SVC模式:操作系统保护模式,处理软件中断。
(5)中止模式:处理存储器故障,实现虚拟存储器和存储器保护。
(6)未定义模式:处理未定义的指令陷阱,支持硬件协处理器的软件仿真。
(7)系统模式:运行特权操作系统任务。
五、.程序指令题
1、解释指令的含义 (1)ORR?R0,R2,#0x0FF0000 把R2和数字常量相或,结果赋给R0。?(2)LDR?R0,[R1,#4] 表示寄存器R1的值加上4作为操作数的有效地址,将取得的操作数存入寄?存器R0中。(R0<-[R1+4])?(3)LDR?R0,[R1,#4]! 表示寄存器R1的值加上4作为操作数的有效地址,将取得的操作数寄存器 R0,再将寄存器R1的值增加4.(R0<-[R1+4],R1<-R1+4)?(4)STR R0,[R1],#8 将R0中的字数据写入以R1为地址的存储器中,并将新地址R1+8写入R1。?(5)SWP R0,R0,[R1] 将R1所指向的存储器中的字数据与R0中的字数据交换。
猜你喜欢
- 2024-11-10 VMware中ESXI常用命令(vmware esxi使用教程)
- 2024-11-10 ARM汇编教程(3): ARM指令集(arm汇编指令的基本格式)
- 2024-11-10 Cortex-A的通用寄存器和程序状态寄存器
- 2024-11-10 基于istio的mirror构建真实流量测试环境
- 2024-11-10 领先业界,中兴通讯首发两款双路4K超高清视讯终端
- 2024-11-10 arm 汇编指令 CPS(arm汇编器)
- 2024-11-10 Linux-2.6.37版:Linux内核启动全过程详解
- 2024-11-10 协处理器指令_开启ICache代码示例
- 2024-11-10 ADC触摸屏编程_定时器程序优化(触摸屏如何修改plc里时间定时值)
- 2024-11-10 90后程序员小伙分享—Linux内核kernel启动分析(下篇)精品推荐
- 最近发表
-
- 使用Knative部署基于Spring Native的微服务
- 阿里p7大佬首次分享Spring Cloud学习笔记,带你从0搭建微服务
- ElasticSearch进阶篇之搞定在SpringBoot项目中的实战应用
- SpringCloud微服务架构实战:类目管理微服务开发
- SpringBoot+SpringCloud题目整理
- 《github精选系列》——SpringBoot 全家桶
- Springboot2.0学习2 超详细创建restful服务步骤
- SpringCloud系列:多模块聚合工程基本环境搭建「1」
- Spring Cloud Consul快速入门Demo
- Spring Cloud Contract快速入门Demo
- 标签列表
-
- cmd/c (57)
- c++中::是什么意思 (57)
- sqlset (59)
- ps可以打开pdf格式吗 (58)
- phprequire_once (61)
- localstorage.removeitem (74)
- routermode (59)
- vector线程安全吗 (70)
- & (66)
- java (73)
- org.redisson (64)
- log.warn (60)
- cannotinstantiatethetype (62)
- js数组插入 (83)
- resttemplateokhttp (59)
- gormwherein (64)
- linux删除一个文件夹 (65)
- mac安装java (72)
- reader.onload (61)
- outofmemoryerror是什么意思 (64)
- flask文件上传 (63)
- eacces (67)
- 查看mysql是否启动 (70)
- java是值传递还是引用传递 (58)
- 无效的列索引 (74)