ARM嵌入式系统基础教程习题答案 周立功
- 格式:docx
- 大小:41.77 KB
- 文档页数:6
ARM嵌入式系统基础教程习题答案周立功
arm嵌入式系统基础教程习题答案--周立功
第一章思考与练习
1、列举3个书本中未提到的嵌入式系统的例子。请问:红绿灯掌控,数字空调,机顶盒
2、什么叫做嵌入式系统
嵌入式系统:以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。3、什么叫嵌入式处理器?嵌入式处理器分为哪几类?
嵌入式处理器就是为顺利完成特定的应用领域而设计的特定目的的处理器。嵌入式微处理器(embeddedmicroprocessorunit,empu)嵌入式微控制器(microcontrollerunit,mcu)
嵌入式dsp处理器(embeddeddigitalsignalprocessor,edsp)嵌入式片上系统(systemonchip)
4、什么就是嵌入式操作系统?为何必须采用嵌入式操作系统?
是一段在嵌入式系统启动后首先执行的背景程序,首先,嵌入式实时操作系统提高了系统的可靠性。其次,提高了开发效率,缩短了开发周期。再次,嵌入式实时操作系统充分发挥了32位cpu的多任务潜力。第二章
1、嵌入式系统项目研发的生命周期分后哪几个阶段?各自的具体任务就是什么?
项目的生命周期一般分为识别需求、提出解决方案、执行项目和结束项目4个阶段。识别需求阶段的主要任务是确认需求,分析投资收益比,研究项目的可行性,分析厂商所应具备的条件。
明确提出解决方案阶段由各厂商向客户递交标书、了解解决方案。
执行项目阶段细化目标,制定工作计划,协调人力和其他资源;定期监控进展,分析项目偏差,采取必要措施以实现目标。
完结项目阶段主要包含转交工作成果,协助客户同时实现商务目标;系统更替给保护人员;还清各种款项。
2、为何要进行风险分析?嵌入式项目主要有哪些方面的风险?
在一个项目中,存有许多的因素可以影响至项目展开,因此在项目展开的初期,在客户和研发团队都还未资金投入大量资源之前,风险的评估可以用以预估项目展开可能会遭遇的难题。市场需求风险;时间风险;资金风险;项目管理风险3、何谓系统规范?制订系统规范的目的就是什么?
规格制定阶段的目的在于将客户的需求,由模糊的描述,转换成有意义的量化数据。
4、何谓系统规划?为何要做系统规划
系统规划就是制订一个研发进程,并使项目在合理的进程范围中逐渐建构顺利完成。其目地就是使客户可以进一步地掌控系统研发的进程,并确认检查点,以使双方确认项目与否例如预期中的进度顺利完成。
5、为什么在项目结束前需要进行项目讨论?
项目的探讨一个项目展开的反馈机制。通过这一个程序,项目团队的经验才可以被记录下来,也就是说,这就是一个编写项目历史的过程。
第三章
1、arm7tdmi中的t、d、m、i的含义就是什么?
64位乘法指令(带m后缀的)、支持片上调试(带d后缀的)、高密度16位的thumb指令机扩展(带t后缀的)和embededice观察点硬件(带i后缀的)2、arm7tdmi 采用几级流水线?使用何种存储器编址方式?
三级流水线(取指译码继续执行);采用了冯诺依曼(vonneumann)结构,指令和数据共用一条32十一位总线。
3、arm处理器模式和arm处理器状态有何区别?
处理器模式所指的就是处理器在执行程序时在相同时刻所处的相同状态,处理器状态所指的就是处理器当前所继续执行的指令集。
4、分别列举arm的处理器模式和状态。状态:
arm状态32十一位,这种状态下继续执行的就是字方式的arm指令thumb状态16十一位,这种状态下继续执行半字方式的thumb指令模式:
用户模式、快中断模式、中断模式、管理模式、中止模式、未定义模式和系统模式。
5、pc和lr分别使用哪个寄存器?pc使用r15寄存器,lr使用r14寄存器
6、r13寄存器的通用功能是什么?堆栈
第四章1、基础知识
(1)arm7tdmi(-s)有几种寻址方式?lorr1,[r0,#0x08]属于哪种寻址方式?1.寄存器寻址;2.立即寻址;3.寄存器移位寻址;4.寄存器间接寻址;5.基址寻址;6.多寄存器寻址;7.堆栈寻址;8.块拷贝寻址;9.相对寻址;lorr1,[r0,#0x08]属于基址寻址。
(2)arm指令的条件码点存有多少个?预设条件码点就是什么?16条,预设条件码点就是al。
(3)arm指令中第二个操作数有哪几种形式?举例5个8位图立即数。(1)立即数;(2)寄存器;(3)寄存器及移位常数;
0x3fc(0xff<<2)、0、0xf0000000(0xf0<<24)、200(0xc8)、0xf0000001(0x1f<<28)。(4)ldr/str指令的偏转形式存有哪4种?ldrb和ldrsb有何区别?
(1)零偏移;(2)前索引偏移;(3)程序相对偏移;(4)后索引偏移。ldrb就是读出指定地址的数据并存入指定寄存器,ldrsb读出指定地址的数据,并高24位用符号位扩展,再存入指定寄存器。
(5)恳请表示mov指令与ldr读取指令的区别及用途。
mov将8位图(pattern)立即数或寄存器(operand2)传送到目标寄存器(rd),可用于移位运算等操作。读取指定地址上的存储器单元内容,执行条件al.
(6)cmp指令的操作方式就是什么?写下一个程序,推论r1的值与否大于0x30,就
是则将r1乘以0x30。
cmp指令将寄存器rn的值减去operand2的值,根据操作的结果更新cpsr中的相应条件标志位,以便后面的指令根据相应的条件标志来判断是否执行。cmpr1,0x30
subhir1,r1,0x30
(7)调用子程序是用b还是用bl指令?请写出返回子程序的指令?bl指令用于子程序调用。movpc,r14
(8)恳请表示ldr伪指令的用法。指令格式与ldr读取指令的区别就是什么?
ldr伪指令用于加载32位的立即数或一个地址值到指定寄存器。第二个数为地址表达式。
(9)arm状态与thumb状态的转换指令就是什么?恳请举例说明。bx指令,
(10)thumb状态与arm状态的寄存器有区别吗?thumb指令对哪些寄存器的访问受
到一定限制?
thumb状态下无法更新cpsr中的alu状态标志。,thumb指令对r8~r15寄存器出访
受到限制。
(11)thumb指令集的堆栈入栈、出栈指令是哪两条?pushpop
(12)thumb指令集的bl指令切换范围为何能够达至±4mb?其指令编码就是怎样的?thumb使用两条16十一位指令组合成22位半字偏转(符号拓展为32十一位),并使指令迁移范围为±4mb。