没有合适的资源?快使用搜索试试~ 我知道了~
ARM嵌入式体系结构与接口技术(Cortex-A9版)-习题答案.pdf
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 182 浏览量
2023-05-18
13:03:11
上传
评论
收藏 1.12MB PDF 举报
温馨提示
试读
19页
ARM嵌入式体系结构与接口技术(Cortex-A9版)-习题答案.pdf
资源推荐
资源详情
资源评论
.
第一章
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=15
R0=R1/16〔有符号数〕
R1=R2*3
R0=−R0
答:R0=15-- MOV R0,#15
R0=R1/16 --MOV R0,R1,ASR #4
BIC R0, R0, #0x78000000
R1=R2*3-- MOV R3, #3
MUL R1,R2,R3
R0=−R0 -- MOV R1, #-1
MOV R2, R0
MUL R0,R1,R2
2.BIC 指令的作用是什么?
答:将一个存放器中的某一位或者某几位清零
3.执行 SWI 指令时会发生什么情况?
答:执行 SWI 指令时 ARM 处理器会自动将 CPSR 拷贝到 SVC 模式下的 SPSR,然后修改 CPSR
存放器的 T 位使处理器进入 ARM 状态,修改 CPSR 存放器的低五位模式位使处理器进入 SVC
word 版
.
模式,修改 CPSR 存放器的 I 位制止 IRQ 中断,保存当前 SWI 指令下一条指令的地址到 SVC
模式下的 LR 存放器,然后 PC 的值改为异常向量表中偏移地址为 0x08 的地址。
4.B、BL、BX 指令的区别有哪些?
答:B 与 BL 都可以使程序跳转到指定的地址〔label〕处执行程序
B 跳转指令 pc←label
BL 带返回的连接跳转 pc←label,同时将 BL 下一条指令地址保存到 LR
BX 使程序跳转到指令中<Rm>指定的地址执行程序,并将<Rm>的第 0 位复制到 CPSR
中 T 位,BX <Rm>
BX 跳转并切换状态 pc←Rm&0xfffffffe,T←Rm[0]
5.下面哪个数据可以作为数据操作指令的有效立即数?
0x101 0x1f8 0xf000000f 0x08000012 0x104
答:0x1f8、0xf000000f、0x104
6.ARM 在哪些工作模式下可以修改 CPSR 存放器?
答:特权模式下才能修改 CPSR 存放器,即快速中断模式〔FIQ〕、外部中断模式〔IRQ〕、特
权模式〔Supervisor〕、数据访问中止模式〔Abort〕、未定义指令中止模式〔Undef〕、系统
模式〔System〕、〔Cortex-A 系列〕监控模式〔Monitor〕
7.写一个程序,如果 R0 的值大于 0x50,那么将 R1 的值减去 0x10,并把结果送给 R0。
答:CMP R0, #0x50
SUBGT R0,R1,#0x10
8.编写一段 ARM 汇编程序,实现数据块复制,将 R0 指向的 8 个字的连续数据保存到 R1
指向的一段连续的内存单元中。
答:
LDMIAR0!,{R2-R9}
STMIAR1!,{R2-R9}
第四章
1.在 ARM 汇编中如何定义一个全局的数字变量?
答:使用.global 伪操作
语法格式:.global 全局变量名并且被初始化为 0
2.ADR 和 LDR 的用法有什么区别?
答:ADR 伪指令的功能是把标签所在的地址加载到存放器中
LDR 伪指令用于装载一个 32 位的常数或地址到存放器中
3.AAPCS 中规定的 ARM 存放器的使用规那么是什么?
答:AAPCS 中定义了 ARM 存放器使用规那么如下。
〔1〕在进展子函数调用时,当子函数中有参数时,子程序间通过存放器 R0、R1、
R2、R3 来传递参数,如果参数多于 4 个,那么多出的局部用堆栈传递,被调用的子程序在
返回前无须恢复存放器 R0~R3 的内容。
〔2〕在子程序中,使用存放器 R4~R11 来保存局部变量。如果在子程序中使用到了
R4~R11 中的某些存放器,子程序进入时必须保存这些存放器的值,在返回前必须恢复这些
存放器的值;对于子程序中没有用到的存放器那么不必进展这些操作。在 Thumb 程序中,
通常只能使用存放器 R4~R7 来保存局部变量。
〔3〕存放器 R12 用作子程序间 scratch 存放器〔用于保存 SP,在函数返回时使用
该存放器出栈〕,记作 ip。在子程序间的连接代码段中常使用这种规那么。
word 版
.
〔4〕存放器 R13 用作数据栈指针,记作 sp,sp 中存放的是当前使用的栈的栈顶的
地址。在子程序中存放器 R13 不能用作其他用途。存放器 sp 在进入子程序时的值和退出
子程序时的值必须相等。
〔5〕存放器 R14 称为连接存放器,记作 lr。它用于保存子程序的返回地址。如果
在子程序中保存了返回地址,存放器 R14 那么可以用作其他用途。
〔6〕存放器 R15 是程序计数器,记作 pc。它不能用作其他用途。
4.什么是内联汇编?
答:在 C 代码中插入汇编语言的方法称为内联汇编。
5.汇编代码中如何调用 C 代码中定义的函数?
答:
〔1〕调用的 C 带有参数,需要使用 R0~R3 存放器进展参数的传递,如果参数多于四个
多出来的局部使用堆栈传递。
〔2〕调用 C 程序时,使用 BL 跳转指令,格式为: BL 函数名
〔3〕如果 C 程序带有返回值,使用存放器 R0 传递。
第五章
1.什么是 GPIO?
答:GPIO 的英文全称为 General-Purpose IO ports,也就是通用 IO 接口。
2.Exynos4412 有几组 GPIO 端口?
答:Exynos4412 有 37 组 GPIO 端口
3.编程实现利用 Exynos4412 的 GPIO 控制 LED3 闪烁。
答:
.text定义一个代码段
.global _start 定义一个全局的标号 _start
_start:汇编的入口,相当于c的main函数
ldr r0, =0x11000c20配置引脚的功能,将GPX1CON存放器的[3:0]这个位于设置为0x1
ldr r4, [r0]
bic r4, #0xf
orr r4, #0x1
str r4, [r0]
loop:
blled_on 点亮LED3
bl delay 延时
blled_off 熄灭LED3
bl delay 延时
b loop 相当于C程序中的while(1), 防止程序跑飞
led_on:
ldr r1, =0x11000c24 配置GPX1_0引脚输出高电平
ldr r5, [r1]
orr r5, #0x1
str r5, [r1]
word 版
.
mov pc, lr
led_off:
ldr r1, =0x11000c24 配置GPX1_0引脚输出低电平
ldr r5, [r1]
bic r5, #0x1
str r5, [r1]
mov pc, lr
delay:延时函数
mov r7, #0x10000000
ms:
sub r7, #1
cmp r7, #0
moveq pc, lr
bms
.end 代表汇编的完毕
第六章
1.异常向量表位于存储器的什么位置?
答:存储器映射地址 0x00000000 是为向量表〔一组 32 位字〕保存的。也可通过设置 CP15
的 C12 存放器将异常向量表的首地址设置在任意地址
2.IRQ 或 FIQ 异常的返回指令是什么?
答;SUBS PC,LR,#4
3.什么类型的异常优先级最高?
答:RESET 异常
4.什么指令可以放在中断向量表
答:跳转指令〔BLable〕
LDR 指令〔LDRPC,Lable 地址〕
5.ARM 中断控制器有什么作用?
答:ARM 内核只有两个外部中断输入信号 nFIQ 和 nIRQ。但对于一个系统来说,中断源
可能多达几十个。为此,在系统集成时,一般都会有一个中断控制器来处理异常信号。这时
候用户程序可能存在多个 IRQ/FIQ 的中断处理函数。为了使从向量表开场的跳转始终能找到
正确的处理函数入口,需要设置处理机制和方法。不同的中断控制器处理方法不同。
6.编程实现按键 K3 的中断检测,当按键按下时打印相应信息。
答:
#include "exynos_4412.h"
#include "uart.h"
/* 中断处理函数 */
voiddo_irq()
{
intirq_num;
word 版
剩余18页未读,继续阅读
资源评论
hhappy0123456789
- 粉丝: 60
- 资源: 5万+
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功