【课后简答】ARM嵌入式体系结构与接口技术

时间:2021-05-05 10:32:30

1、什么是嵌入式系统?

嵌入式系统是用来控制、监控、或者辅助一些机器、装置、工厂等大规模系统的设备。

2、嵌入式系统由哪几部分组成?

嵌入式系统可以分为软件、硬件和中间件。

3、你了解的嵌入式操作系统。

VxWorks、Windows CE、Linux。

4、简述嵌入式操作系统的特点。

1)低功耗、高稳定性、高可靠性;

2)代码可固化,存储与存储芯片或单片机本身中,可以提高系统的执行速度和可靠性;

3)软件代码短小精悍;

4)专用,软、硬件可裁剪、可配置;

5)采用实时性系统,但嵌入式系统本身不等于实时系统;

6)交互性;

7)嵌入式系统软件开发通常需要专门的开发工具;

8)要求开发、设计人员有较高的技能。


5、简述ARM可以工作的几种模式?

用户模式(User)、系统模式(System)、超级模式(SVC)、快速中断模式(FIQ)、外部中断模式(IRQ)、数据访问中止模式(Abort)、未定义指令终止模式(Undef)、监控模式(Monitor)。

6、ARM核有多少个寄存器?

一般没有Monitor模式的ARM核有37个寄存器,Cortex有Monitor模式的ARM核有40个寄存器。

7、什么寄存器用于储存PC和LR寄存器?

R14存储LR,用于存储返回地址;

R15存储PC,用于指向下一条指令。

8、R13通常用来存储什么?

SP,堆栈指针。

9、哪种模式使用的寄存器最少?

User模式使用的寄存器只有17个。

10、CPSR的哪一位反映了处理器的状态?

T位。


11、执行SWI指令时会发生什么情况?

SWI用于产生软中断,实现从用户模式或其他模式变换到管理模式,CPSR保存到管理模式的SPSR中,pc直接转移到SWI的中断向量表中对应的中断。


12、在ARM汇编中如何定义一个全局的数字变量?

.global

13、ADR和LDR的用法有什么区别?

adr是将基于PC相对偏移的地址值或基于寄存器相对地址值读取的为指令,而ldr用于加载32为立即数或一个地址到指定的寄存器中。

14、AAPCS中规定ARM寄存器的使用规则是什么?

子程序间通过寄存器R0、R1、R2、R3、来传递参数。如果参数多于四个,则多出的部分用堆栈传递。被调用的子程序在返回前无需恢复寄存器R0-R3的内容。

15、什么是内联汇编?

在C语言中插入汇编语言。


16、什么是GPIO?

General-Purpose IO port,通用IO口。


17、ARM和AMBA是什么?

片上总线。


18、ARM有几种异常?每种异常对应的处理器工作模式是什么?

reset:SVC模式

_undefined_instruction:Undef模式

_software_abort:Abort模式

_perfetch_abort:Abort模式

_data_abort:Abort模式

_not_used:Abort模式

_irq:IRQ模式

_fiq:FIQ模式


19、简述串行通信与并行通信的概念。

串行通信:计算机与I/O设备之间数据传输的各位按顺序依次进行传送,通常数据在一根数据线或一对差分线上传输。

并行通信:计算机与I/O设备之间通过多条传输线交换数据,数据的各位同是进行传送。

20、简述同步通信与异步通信的概念、区别。

同步通信:数据传送是以数据块(一组字符)为单位,字符与字符之间、字符内部的位与位之间都同步。

异步通信:数据传送是以字符为单位,字符与字符之间的传送是完全异步的,位与位之间的传送基本上是同步的。

同步通信以数据块为单位传送信息,而异步通信以字符为单位传送信息;

同步通信在一个数据块内,字符与字符之间无间隔,而异步通信相邻两字符间的间隔是任意长;

同步通信一次传输的数据块中包含的数据较多,所以接受时钟与发送时钟严格同步,而异步通信字符间异步、字符内部各位同步。