嵌入式考试复习资料
- 格式:docx
- 大小:30.81 KB
- 文档页数:7
1、嵌入式系统的构架可以分为4个部分:分别是处理器、存储器、输入/输出和软件,一般软件:分为操作系统相关软件和应用软件两个主要部分。
2、根据嵌入式系统使用的微处理器,可以将嵌入式系统分为嵌入式微控制器,嵌入式微处理器,嵌入式DSP处理器以及嵌入式片上系统。
3、操作系统是联接硬件与应用程序的系统程序,其基本功能有进程管理、进程间通信、内存管理、I/O资源管理。
4、从嵌入式操作系统特点可以将嵌入式操作系统分为:实时操作系统和分时操作系统,其中实时系统亦可分为硬实时操作系统和软实时系统。
5、内核负责管理各个任务,或者为每个任务分配CPU时间,并且负责任务之间的(通信),内核的基本服务是(任务切换)。
6、嵌入式开发一般采用(宿主机/目标机)方式,其中宿主机一般是指(PC机/台式机)。
7、哈佛体系结构数据空间和地址空间(分开),ARM7TDMI采用冯诺依曼体系的内核架构。
8.嵌入式系统体系结构一般具有:冯诺依曼和哈佛 两种基本形式。
嵌入式系统的组成结构:硬件层、中间层、软件层和功能层。
9.嵌入式存储系统一般由高速缓存、内存和外存组成。
10.嵌入式存储系统具有大端格式和小端格式两种数据存放格式。
11.从编程的角度看,ARM微处理器的一般有ARM和HUMB两种工作状态。
12.嵌入式软件的开发一般分为生成、调试和固化运行三个步骤。
13.嵌入式LINUX的内核有五个组成部分,它们是进程调度、内存管理、虚拟文件系统、网络接口和进程通信。
14. ARM微处理器按指令长度的不同分为16位的Thumb指令集和 32位的ARM指令集两种。
15.指令特点:1.都可携带条件码 2.是根据是否带s来判断是否影响标志位 3.需要三个操作数。
16. 嵌入式系统的设计可以分成三个阶段:分析、设计和实现
17、目前使用的嵌入式操作系统主要有Windows CE/Windows Mobile Linux、uCos、和Symbian
18、XScale微处理器使用的是ARM公司ARMV5TE
版内核和指令集。
19、微处理器有两种总线架构,使用数据和指令使用同一接口的是冯诺依曼,分开的指令数据接口、取指和数据访问可以并行进行的是哈佛结构
20、ARM微处理器有七种工作模式,它们分为两类非特权模式、特权模式。其中用户模式属于非特权模式
21、ARM微处理器复位后,PC(R15)的地址通常是0X0 ,初始的工作模式是supervisor
22、在ARM体系构架中对复杂的内存管理是通过系统控制协处理器cp15 和MMU(存储管理部件)来进行的。当系统发生Data Abort(数据)异常和
Prefetch Abort(指令领取)异常时,异常处理程序透过嵌入式操作系统的内存管理机制,通过MMU交换物理内存和虚拟内存的页面,以保证程序正常执行。
23.、构建嵌入式系统开发环境的工具链有多种,其中开放源码的工具链是GNU工具链ARM公司提供的工具链是ADS工具链
1.简要叙述嵌入式系统的定义。
嵌入式系统是以应用为中心,以计算机技术为基础,并且在软、硬件方面可进行裁剪,适
用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。它一般
由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用户的应用程序等四个部分组成。 2. 什么是嵌入式实时操作系统?简单叙述其特点。
实时操作系统就是“在给定的时间内提供某种程度的服务,如果在规定的时间内没有得到结果,那整个的系统就是失败”。
对于实时操作系统其首要任务是调度一切可利用的资源完成实时控制任务,其次才着眼提
高计算机系统的使用效率。
3.什么是操作系统的移植?
操作系统的移植是指一个操作系统经过适当修改以后,可以安装在不同类型的微处理器系
统上进行运行。
4. 简要叙述ARM体系微处理器中控制程序的执行流程方式?
在ARM体系微处理器中通常有3种方式控制程序的执行流程方式。它们是:正常顺序执行指令;通过跳转命令跳转到特定的标号处;异常处理。
5. 简要叙述嵌入式系统的设计步骤?
嵌入式系统设计的重要特点是技术多样化,即实现同一个嵌入式系统可以有许多不同的设计方案选择,而不同的设计方案就意味使用不同的设计和生产技术。嵌入式系统设计一
般步骤:1)需求分析2)体系结构设计3)硬件/软件设计4)系统集成和系统测试
6. 嵌入式系统中电源管理器的作用有哪些?
操作系统是通过电源管理器来进行系统的电源管理,提高整个系统的电源效率,并为每
一个外围设备模块提供电源管理。通过电源管理不仅可以减少目标设备上的电源损耗,而且可以在系统重启、运行、空闲和挂起的电源状态下保存RAM 中的文件系统。分电源管理模块通过软件来控制系统时钟,以降低微处理器的耗电量。这些方案与PLL、时钟控制逻辑、外设的时钟控制以及唤醒信号有关。
7.嵌入式处理器一般具有以下4个特点:(1)大量使用寄存器,对实时多任务有很强的支持能力,能完成多任务并且有较短的中断响应时间,从而使内部的代码和实时内核的执行时间减少到最低限度。结构上采用RISC结构形式。(2)具有功能很强的存储区保护功能。这是由于嵌入式系统的软件结构已模块化,而为了避免在软件模块之间出现错误的交叉作用,需要设计强大的存储区保护功能,同时也有利于软件诊断。3)可扩展的处理器结构,最迅速地扩展出满足应用的最高性能的嵌入式微处理器。支持ARM (32位) 和Thumb(16位)双指令集,兼容8位/16位器件。(4)小体积、低功耗、成本低、高性能,嵌入式处理器功耗很低,用于便携式的无线及移动的计算和通信设备中,电池供电的嵌入式系统需要功耗只有mW甚至μW级。
2.ARM处理器对异常中断的响应过程如下:
首先,将当前程序状态寄存器CPSR的内容保存到将要执行的异常中断对应的备用程序状态寄存器SPSR中,以实现对处理器当前状态、中断屏蔽位及各条件标志位的保存。各异常中断模式都有自己相应的物理SPSR寄存器。然后,将引起异常指令的下一条指令的地址保存到新的异常工作模式的R14即R14_mode中,使异常处理程序执行完后能正确返回原程序。最后,给程序计数器强制赋值,使程序在对应的矢量地址开始执行中断处理程序。一般矢量地址处将包含一条指向相应程序的转移指令,从而可跳转到相应的异常中断处理程序处执行异常中断处理程序。
3. 什么是同步?什么是异步
与系列时间相关事件称为同步事件,驱动的任务为同步任务。
随机发生的事件称为异步事件,驱动的任务为异步任务,如中断等。
4简要叙述实时系统的评价指标?
在实时系统中主要有三个指标来衡量系统的实时性,即响应时间(Response Time)、生存时间(Survival Time)、吞吐量(Throughput)。 响应时间(Response Time):是计算机识别一个外部事件到作出响应的时间,在控制应用中它是最重要的指标,如果事件不能及时的处理,系统可能就会崩溃。
生存时间(Survival Time):是数据有效等待时间,在这段时间里数据是有效的。
吞吐量(Throughput):是在一给定时间内(秒),系统可以处理的事件总数。例如通讯控制器用每秒钟处理的字符数来表示吞吐量,吞吐量是平均响应时间的倒数。
5.简要叙述非占先式调度法与占先式调度法?
非占先式也称作合作型多任务(cooperative multitasking),各个任务彼此合作共享一个CPU。中断服务可以使一个高优先级的任务由挂起状态变为就绪状态。但中断服务以后控制权还是回到原来被中断了的那个任务,直到该任务主动放弃CPU的使用权时,那个高优先级的任务才能获得CPU的使用-----3分
当系统响应时间很重要时,要使用占先式内核。最高优先级的任务一旦就绪,总能得到CPU的控制权。即当一个运行着的任务使一个比它优先级高的任务进入了就绪态,当前任务的CPU使用权就被剥夺了,或者说被挂起了,那个高优先级的任务立刻得到了CPU的控制权。
使用占先式内核时,应用程序应使用可重入型函数,这样在被多个任务同时调用,而不必担心会破坏数据。-----2分
6. .简要叙述ARM处理器的7种运行模式?
ARM微处理器支持7种运行模式,分别为:
用户模式(USR):ARM处理器正常程序执行的模式。
快速中断模式( FIQ ):用于高速数据传输或通道处理用于快速中断服务程序。当处理器的快速中断请求引脚有效,且CPSR(6位)中F位为0时(开中断),会产生FIQ异常。-------1分
外部中断模式( IRQ ):用于通用的中断处理,当处理器的外部中断请求引脚有效,且CPSR(7位)中I位为0时(开中断),会产生IRQ异常。系统的外设可通过该异常请求中断服务。---------1分
特权模式或管理员模式(SVE):操作系统使用的保护模式。当执行软件中断SWI指令和复位指令时,就进入管理模式,在对操作系统运行时工作在该模式下。---1分
数据访问中止模式(ABT):用于虚拟存储器和存储保护,当存储器数据访问无效时就进入该模式 。若处理器数据访问指令的地址不存在或该地址不允许当前指令访问时,也产生数据中止异常。--------------1分
未定义指令中止模式(UND):用于支持硬件协处理器的软件仿真。当ARM处理器或协处理器遇到不能处理的指令时,就要产生未定义指令异常。用户可使用该异常机制进行软件仿真,即用软件来模拟硬件功能,比如浮点运算。--0.5分
系统模式(SYS):运行具有特权的操作系统任务。与用户模式共用使用寄存器组,但是其使用权限要比在用户模式下高。--------0.5分
x EQU 2 ; x=2
y EQU 2 ; y=2
stack_top EQU 0x30200000 ; define the top address for stacks
export Reset_Handler
AREA text,CODE,READONLY
export
Reset_Handler
ldr r0,=0x90010 ;R0的地址指向0x90010,R0存放X的值
ldr r1,[r0],#4 ;R1的地址指向R0=R0+4(此时R0=0x90014),R1存放Y的值
ldr r2,[r0],#4 ; R2的地址指向R0=R0+4(此时R0=0x90018),R2存放Z的值
mov r0,#x ;x的值赋给R0
mov r1,#y ;y的值赋给R1
add r2,r0,r1 ; R2=R0+R1 (Z=X+Y)
stop
b stop
end
四、 基础知识
在ARM编程中,一个程序往往采用汇编语言和C语言混合编程。本实验的目的就是为了讲解ARM中C语言和汇编语言混合编程的方法。
1. 汇编语言切换到C语言的方法