ARM嵌入式系统基础教程第二版课后习题答案_第1页
ARM嵌入式系统基础教程第二版课后习题答案_第2页
ARM嵌入式系统基础教程第二版课后习题答案_第3页
ARM嵌入式系统基础教程第二版课后习题答案_第4页
ARM嵌入式系统基础教程第二版课后习题答案_第5页
免费预览已结束,剩余4页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第 1 章 嵌入式系统概述 1 举出 3 个本书中未提到的嵌入式系统的例子 答 键盘 鼠标 扫描仪 2 什么叫嵌入式系统 答 嵌入到对象体系中的专用计算机应用系统 3 什么叫嵌入式处理器 嵌入式处理器分为哪几类 答 嵌入式处理器是为完成特殊的应用而设计的特殊目的的处理器 分为 3 类 1 注重尺寸 能耗和价格 2 关注性能 3 关注全部 4 个需求 性能 尺寸 能耗和价格 4 什么是嵌入式操作系统 为何要使用嵌入式操作系统 答 嵌入式操作系统是操作系统的一种类型 是在传统操作系统的基础上加入 符合嵌入式系统要求的元素发展而来的 原因 1 提高了系统的可靠性 2 提 高了开发效率 缩短了开发周期 3 充分发挥了 32 位 CPU 的多任务潜力 第 2 章 ARM7 体系结构 1 基础知识 1 ARM7TDMI 中的 T D M I 的含义是什么 答 T 高密度 16 位 Thumb 指令集扩展 D 支持片上调试 M 64 位乘法 指令 I Embedded ICE 硬件仿真功能模块 2 ARM7TDMI 采用几级流水线 使用何种存储器编址方式 答 3 级 冯 诺依曼结构 3 ARM 处理器模式和 ARM 处理器状态有何区别 答 ARM 处理器模式体现在不同寄存器的使用上 ARM 处理器状态体现在不 同指令的使用上 4 分别列举 ARM 的处理器模式和状态 答 ARM 的处理器模式 用户模式 系统模式 管理模式 中止模式 未定义 模式 中断模式 快速模式 ARM 的处理器状态 ARM 状态 Thumb 状态 5 PC 和 LR 分别使用哪个寄存器 答 PC R15 LR R14 6 R13 寄存器的通用功能是什么 答 堆栈指针 SP 7 CPSR 寄存器中哪些位用来定义处理器状态 答 位 31 28 N Z C V 条件代码标志位 27 8 保留位 7 0 I F T M4 0 控制标志位 8 描述一下如何禁止 IRQ 和 FIQ 的中断 答 当控制位 I 置位时 IRQ 中断被禁止 否则允许 IRQ 中断使能 当控制位 F 置位时 FIQ 中断被禁止 否则允许 FIQ 中断使能 2 存储器格式 答 无论是大端格式还是小端格式 R2 的值与 R1 一致 地址 0 x4000 单元的 字节 大端 0 x12 小端 0 x78 3 处理器异常 请描述一下 ARM7TDMI 产生异常的条件是什么 各种异常会使处理器进入哪 种模式 进入异常时内核有何操作 各种异常的返回指令又是什么 答 异常 模式 返回指令 复位 管理 无 未定义指令 未定义 MOVS PC R14 软件中断 管理 MOVS PC R14 预取指中止 中止 SUBS PC R14 4 数据中止 中止 SUBS PC R14 8 IRQ 中断 SUBS PC R14 4 FIQ 快速中断 SUBS PC R14 4 进入异常时 内核自动做 PC LR CPSR 相应异常模式下的 SPSR 设置 CPSR 为相应的异常模式 相应异常处理程序的中断入口向量地址 PC 第 3 章 ARM7TDMI S 指令系统 1 基础知识 1 ARM7TDMI S 有几种寻址方式 LDR R1 R0 0 x08 属于哪种寻址方式 答 有 8 种寻址方式 1 寄存器寻址 2 立即寻址 3 寄存器移位寻址 4 寄存器 间接寻址 5 基址寻址 6 多寄存器寻址 7 堆栈寻址 8 相对寻址 LDR R1 R0 0 x08 属于基址寻址 2 ARM 指令的条件码有多少个 默认条件码是什么 答 16 个 AL 3 ARM 指令中的第 2 个操作数有哪几种形式 列举 5 个 8 位图立即数 答 1 常数表达式 8 位图 2 寄存器方式 3 寄存器移位方式 0 x3FC 0 0 xF0000000 200 0 xF0000001 4 LDR STR 指令的偏移形式有哪 4 种 LDRB 指令和 LDRSB 指令有何区别 答 1 零偏移 2 前索引偏移 3 程序相对偏移 4 后索引偏移 LDRB 加载无符 号字节数据 LDRSB 加载有符号字节数据 5 请指出 MOV 指令与 LDR 加载指令的区别及用途 答 MOV 指令的源操作数是常数或 带偏移量的 寄存器 用于寄存器之间的 数据传送 LDR 指令的源操作数是地址 用于存储器到寄存器的数据传送 6 CMP 指令是如何执行的 写一程序 判断 R1 的值是否大于 0 x30 是则将 R1 减去 0 x30 答 CMP 指令将 Rn operand2 根据结果更新 CPSR 中的相应条件标志位 CMP R1 0 x30 SUBHI R1 0 x30 7 调用子程序是用 B 指令还是用 BL 指令 请写出返回子程序的指令 答 用 BL MOV PC R14 8 请指出 LDR 伪指令的用法 指令格式与 LDR 加载指令的区别是什么 答 用法 LDR cond Rd 立即数 标号 立即数 LDR 伪指令的源操作数是代 表一个常数 LDR 加载指令的源操作数代表一个地址 9 ARM 状态与 Thumb 状态的切换指令是什么 请举例说明 答 BX 从 ARM 状态切换到 Thumb 状态 CODE32 LDR R0 Lable 1 BX R0 CODE16 Lable MOV R1 12 从 Thumb 状态切换到 ARM 状态 CODE16 LDR R0 Lable BX R0 CODE32 Lable MOV R1 10 10 Thumb 状态与 ARM 状态的寄存器有区别吗 Thumb 指令对哪些寄存器的 访问受到一定限制 答 有区别 R8 R15 11 Thumb 指令集的堆栈入栈 出栈指令是哪两条 答 PUSH POP 12 Thumb 指令集的 BL 指令转移范围为何能达到 4MB 其指令编码是怎样的 答 BL 指令事实上是两条指令 其编码为 11110 地址偏移高 11 位 11111 地址偏移低 11 位 地址编码 22 位 再左移一位 半字对齐 23 位地 址寻址 8MB 即 4MB 2 有符号和无符号加法 答 1 0 xFFFF000F A 0 x0000FFF1 B 0 x00000000 NZCV 0110 如果两个操作数是有符号数 A 是负数 B 是正数 和是 0 没有溢出 所以 V 0 如果两个操作数是无符号数 和是 0 有进位 所以 C 1 2 0 x7FFFFFFF A 0 x02345678 B 0 x82345677 NZCV 1001 如果两个操作数是有符号数 A 是正数 B 是正数 和是负数 有溢出 所以 V 1 如果两个操作数是无符号数 没有进位 所以 C 0 3 67654321 A 23110000 B 0 x0568F421 NZCV 0000 如果两个操作数是有符号数 A 是正数 B 是正数 和是正数 没有溢出 所 以 V 0 如果两个操作数是无符号数 没有进位 所以 C 0 第五章 1 基础知识 1 LPC2114 可使用的外部晶振频率范围是多少 使用 不使用 PLL 功能时 晶振频率范围 1 30 MHz 若使用 PLL 或 ISP 功能为 10 25MHz 2 描述一下 LPC2210 的 PO 14 P1 20 P1 26 BOOT1 和 BOOT0 引脚在芯片复位 时分别有什么作用 并简单说明 LPC2000 系列 ARM7 微控制器的复位处理流程 P0 14 的低电平强制片内引导装载程序复位后控制器件的操作 即进入 ISP 状态 P1 20 的低电平使 P1 25 P1 16 复位后用作跟踪端口 P1 26 的低电平使 P1 31 P1 26 复位后用作一个调试端口 当 RESET 为低时 BOOT0 与 BOOT1 一同控制引导和内部操作 引脚的内部上拉确保 了引脚未连接时呈现高电平 外部复位输入 当该引脚为低电平时 器件复位 I O 口和外围功能进入默认状态 处理 器从地址 0 开始执行程序 复位信号是具有迟滞作用的 TTL 电平 3 LPC2000 系列 ARM7 微控制器对向量表有何要求 向量表中的保留字 向量表所有数据 32 位累加和为零 0 x00000000 0 x0000001C 的 8 个字的机器码累加 才能脱机运行用户程序 这是 LPC2114 2124 2212 2214 的特性 4 如何启动 LPC2000 系列 ARM7 微控制器的 ISP 功能 相关电路应该如何设计 5 LPC2000 系列 ARM7 微控制器片内 Flash 是多位宽度的接口 它是通过哪个功能模 块来提高 Flash 的访问速度 128 位 通过存储器加速模块 MAM 来提高 Flash 的访问速度 6 若 LPC2210 的 BANK0 存储块使用 32 位总线 访问 BANK0 时 地址线 A1 A0 是 否有效 EMC 模块中的 BLSO BLS4 具有什么功能 无效 如果存储器组配置成 16 位宽 则不需要 A0 8 位宽的存储器组需要使用 A0 字节定位选择信号 7 LPC2000 系列 ARM7 微控制器具有引脚功能复用特性 那么如何设置某个引脚为指 定功能 通过引脚功能选择寄存器的设定来设置某个引脚为指定功能 8 设置引脚为 GPIO 功能时 如何控制某个引脚单独输入 输出 当前要知道某个引脚 当前的输出状态时 是读取 IOPIN 寄存器还是读取 IOSET 寄存器 GPIO 方向寄存器 IOPIN 9 P0 2 和 P0 3 口是 I2C 接口 当设置它们为 GPIO 时 是否需要外接上拉电阻才能输 出高电平 10 使用 SPI 主模式时 SSEL 引脚是否可以作为 GPIO 若不能 SSEL 引脚应如何 处理 不能用作 GPIO SSEL 应设这高电平 处于末激活状态 11 LPC2114 具有几个 UART 是符合什么标准 哪一个 UART 可用作 ISP 通信 哪一 个 UART 具有 MODEM 接口 UART0 UART1 UART0 用于 ISP 通信 UART1 具有 MODEM 接口 12 LPC2114 具有几个 32 位定时器 PWM 定时器是否可以作通用定时器使用 两个 32 位定时器 PWM 定时器不能用作通用定时器使用 13 LPC2000 系列 ARM7 微控制器具有哪两种低耗模式 如何降低系统的功耗 2 个低功耗模式 空闲和掉电 2 计算 PLL 设置值 假设有一个基于 LPC2114 的系统 所使用的晶振为 11 0592MHZ 石英晶振 请计算出最 大的系统时钟 ccls 频率为多少 MHZ 此时 PLL 的 M 值和 P 值各为多少 请列出计算 公式 并编写设置 PLL 的程序段 3 存储器重影射 1 LPC2210 具有 4 种存影射模式 3 5 1 4 2 当程序已固化到片内 Flash 向量表保存在 0 x00000000 起始处 则 MAP 1 0 的 值应该为 2 00 01 10 11 3 LPC2000 系列 APM7 微控制器 ccq 重影射的目标起始地址为 共有 个字 0 x00000000 8 0 x40000000 8 0 x00000000 16 0 x7FFFE000 8 4 外部中断唤醒掉电设计 以下代码是初始化外部中断 0 用它来唤醒掉电的 LPC2114 请填空 PINSEL0 0 x00000000 PINSELI PINSEL1 0XFFFFFFFC 0X01 设置 I O 连接 PO 16 设置为 EINTO EXTMODE 0X00 设置 EINT0 为电平触发模式 EXTPOLAR 0X00 设置 EINT0 为低电平触发 EXTWAKE 0X01 允许外部中断 0 唤醒掉电的 CPU EXTINT 0 x0F 清除外部中断标识 第四章 程序清单 4 1 寄存器相加 文件名 TESTI S 功能 实现两个寄存器相加 说明 使用 ARMulate 软件仿真调试 AREA Examplel CODE READONLY 声明代码段 Examplel ENTRY 标识程序入口 CODE32 声明 32 位 ARM 指令 START MOV R0 0 设置参数 MOV R1 10 LOOP BL ADD SUB 调用子程序 ADD SUB B LOOP 跳转到 LOOP ADD SUB ADDS R0 R0 R1 R0 R0 R1 MOV PC LR 子程序返回 END 文件结束 程序清单 4 2 读取 SMI 立即数 T bit EQU 0X20 SWI Handler STMFD SP R0 R3 R12 LR 现场保护 MRS R0 SPSR 读取 SPSR STMED SP R0 保存 SPSR TST R0 T bit 测试 T 标志位 LDRNEH R0 LR 2 若是 Thumb 指令 读取指令码 16 位 BICNE R0 R0 0 xFF00 取得 Thumb 指令的 8 位立即数 LDREQ R0 LR 4 若是 ARM 指令 读取指令码 32 位 BICEQ R0 R0 0Xff000000 取得 ARM 指令的 24 位立即数 LDMFD SP R0 R3 R12 PC SWI 异常中断返回 程序清单 4 3 使用 IRQ 中断 ENABLE IRQ MRS R0 CPSR BIC R0 R0 0 x80 MSR CPSR C R0 MOV PC LR 程序清单 4 4 禁能 IRQ 中断 DISABLE IRQ MRS R0 CPSR ORR R0 R0 0 x80 MSR CPSR C R0 MOV PC LR 程序清单 4 5 堆栈指令初始化 INTSTACK WOV R0 LR 保存返回地址 设置管理模式堆栈 MSR CPSR C 0 xD3 LDR SP stacksvc 设置中断模式堆栈 MSR CPSR C 0 xD2 LDR SP Stacklrq 程序清单 4 6 小范围地址的加载 ADR R0 DISP TAB

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论