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、简述同步通信与异步通信的概念、区别。
同步通信:数据传送是以数据块(一组字符)为单位,字符与字符之间、字符内部的位与位之间都同步。
异步通信:数据传送是以字符为单位,字符与字符之间的传送是完全异步的,位与位之间的传送基本上是同步的。
同步通信以数据块为单位传送信息,而异步通信以字符为单位传送信息;
同步通信在一个数据块内,字符与字符之间无间隔,而异步通信相邻两字符间的间隔是任意长;
同步通信一次传输的数据块中包含的数据较多,所以接受时钟与发送时钟严格同步,而异步通信字符间异步、字符内部各位同步。