- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
周立功ARM嵌入式系统课后习题
第1章 思考与练习
1、举出3个书本中未提到的嵌入式系统的例子
答:红绿灯控制,数字空调,机顶盒
2、什么叫嵌入式系统
答:以应用为中心,计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。
3 、什么叫嵌入式处理器?嵌入式处理器分为哪几类?
答:嵌入式处理器是为完成特殊的应用而设计的特殊目的的处理器。
嵌入式微处理器 (Embedded Microprocessor Unit, EMPU)
嵌入式微控制器 (Microcontroller Unit, MCU)
嵌入式 DSP 处理器 (Embedded Digital Signal Processor, EDSP
嵌入式片上系统 (System On Chip)
4 、什么是嵌入式操作系统?为何要使用嵌入式操作系统?
答:是一段在嵌入式系统启动后首先执行的背景程序 , 首先 , 嵌入式实时操作系统提高了系统的可靠性 。 其次 , 提高了开发效率 , 缩短了开发周期 。 再次 , 嵌入式实时操作系统充分发挥了32 位 CPU 的多任务潜力。
第二章
1 、 ARM7TDMI 中的 T 、 D 、 M 、 I 的含义是什么?
答: 64 位乘法指令 (带 M 后缀的)、支持片上调试 ( 带 D 后缀的 ) 、 高密度 16 位的 Thumb指令机扩展(带 T 后缀的)和 EmbededICE 观察点硬件(带 I 后缀的)
2 、 ARM7TDMI 采用几级流水线?使用何种存储器编址方式?
答:三级流水线(取指 译码 执行);使用了冯 · 诺依曼( Von Neumann )结构,指令和数据共用一条 32 位总线。
3 、 ARM 处理器模式和 ARM 处理器状态有何区别?
答:处理器模式指的是处理器在执行程序时在不同时刻所处的不同状态 , 处理器状态指的是处理器当前所执行的指令集。
4、分别列举ARM的处理器模式和状态。
状态:
ARM状态 32位,这种状态下执行的是字方式的ARM指令
Thumb状态 16位,这种状态下执行半字节方式的Thumb指令
模式:
用户模式、快中断模式、中断模式、管理模式、中止模式、未定义模式。
5、PC和LR分别使用哪个寄存器?
答:PC使用R15寄存器,LR使用R14寄存器
6、R13寄存器的通用功能是什么?
答:堆栈指针
7、CPSR寄存器中哪些位用来定义处理器状态?
答:位31~28:N、Z、C、V,条件代码标志位;27~8:保留位;T、M4~0,控制标志位
8、描述一下如何禁止IRQ和FIQ的中断?
答:当控制位I置位时,IRQ中断被禁止,否则允许IRQ中断时能;当控制位F置位时,FIQ中断被禁止,否则允许FIQ中断使能。无论是大端格式还是小端格式,R2的值与R1一致;地址0x4000单元的字节:大端:0x12、小端:0x78。【异常】 【模式】 【返回指令】
复位 管理 无
未定义指令 未定义 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。
ARM7TDMI(-S)有几种寻址方式?“LDR R1,[R0,#0x08]”属于哪种寻址方式?ARM指令的条件码有多少个?默认条件码是什么?
答:16个;AL。
(3)ARM指令中的第2个操作数有哪几种形式?列举5个8位图立即数。
答:1.常数表达式(8位图) 2.寄存器方式 3.寄存器移位方式;0x3FC、0、0xF0000000、200、0xF0000001。
(4)LDR/STR指令的偏移形式有哪4种?LDRB指令和LDRSB指令有何区别?
答:1.零偏移 2.前索引偏移 3.程序相对偏移 4.后索引偏移;LDRB:加载无符号字节数据,LDRSB加载有符号字节数据
(5)请指出MOV指令与LDR加载指令的区别及用途?
答:MOV指令的源操作数是常数或(带偏移量的)寄存器,用于寄存器之间的数据传送;LDR指令的源操作数是地址,用于存储器到寄存器的数据传送。
(6)CMP指令是如何执行的?写一程序,判断R1的值是否大于0x30,是则将R1减去0x30。
答:CMP指令将Rn-operand2,根据结果更新CPSR中的相应条件标志位。
CMP R1,0x30
SUBHI R1,0x30
(7)调用子程序是用B指令还是用BL指令?请写出返回子程序
文档评论(0)