当前位置:文档之家› 嵌入式系统设计师考试笔记之嵌入式系统基础知识

嵌入式系统设计师考试笔记之嵌入式系统基础知识

嵌入式系统设计师考试笔记之嵌入式系统基础知识
嵌入式系统设计师考试笔记之嵌入式系统基础知识

1、嵌入式系统的定义

(1)定义:以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。

(2)嵌入式系统发展的4个阶段:无操作系统阶段、简单操作系统阶段、实时操作系统阶段、面向Internet 阶段。

(3)知识产权核(IP核):具有知识产权的、功能具体、接口规范、可在多个集成电路设计中重复使用的功能模块,是实现系统芯片(SOC)的基本构件。

(4)IP核模块有行为、结构和物理3级不同程度的设计,对应描述功能行为的不同可以分为三类:软核、固核、硬核。

2、嵌入式系统的组成:硬件层、中间层、系统软件层和应用软件层

(1)硬件层:嵌入式微处理器、存储器、通用设备接口和I/O接口。

嵌入式核心模块=微处理器+电源电路+时钟电路+存储器

Cache:位于主存和嵌入式微处理器内核之间,存放的是最近一段时间微处理器使用最多的程序代码和数据。它的主要目标是减小存储器给微处理器内核造成的存储器访问瓶颈,使处理速度更快。

(2)中间层(也称为硬件抽象层HAL或者板级支持包BSP):它将系统上层软件和底层硬件分离开来,使系统上层软件开发人员无需关系底层硬件的具体情况,根据BSP层提供的接口开发即可。

BSP有两个特点:硬件相关性和操作系统相关性。

设计一个完整的BSP需要完成两部分工作:

A、嵌入式系统的硬件初始化和BSP功能。

片级初始化:纯硬件的初始化过程,把嵌入式微处理器从上电的默认状态逐步设置成系统所要求的工作状态。

板级初始化:包含软硬件两部分在内的初始化过程,为随后的系统初始化和应用程序建立硬件和软件的运行环境。系统级初始化:以软件为主的初始化过程,进行操作系统的初始化。

B、设计硬件相关的设备驱动。

(3)系统软件层:由RTOS、文件系统、GUI、网络系统及通用组件模块组成。

RTOS是嵌入式应用软件的基础和开发平台。

(4)应用软件:由基于实时系统开发的应用程序组成。

3、实时系统

(1)定义:能在指定或确定的时间内完成系统功能和对外部或内部、同步或异步时间做出响应的系统。

(2)区别:通用系统一般追求的是系统的平均响应时间和用户的使用方便;而实时系统主要考虑的是在最坏情况下的系统行为。

(3)特点:时间约束性、可预测性、可靠性、与外部环境的交互性。

(4)硬实时(强实时):指应用的时间需求应能够得到完全满足,否则就造成重大安全事故,甚至造成重大的生命财产损失和生态破坏,如:航天、军事。

(5)软实时(弱实时):指某些应用虽然提出了时间的要求,但实时任务偶尔违反这种需求对系统运行及环境不会造成严重影响,如:监控系统、实时信息采集系统。

(6)任务的约束包括:时间约束、资源约束、执行顺序约束和性能约束。

4、实时系统的调度

(1)调度:给定一组实时任务和系统资源,确定每个任务何时何地执行的整个过程。

(2)抢占式调度:通常是优先级驱动的调度,如uCOS。优点是实时性好、反应快,调度算法相对简单,可以保证高优先级任务的时间约束;缺点是上下文切换多。

(3)非抢占式调度:通常是按时间片分配的调度,不允许任务在执行期间被中断,任务一旦占用处理器就必须执行完毕或自愿放弃,如WinCE。优点是上下文切换少;缺点是处理器有效资源利用率低,可调度性不好。

(4)静态表驱动策略:系统在运行前根据各任务的时间约束及关联关系,采用某种搜索策略生成一张运行时刻表,指明各任务的起始运行时刻及运行时间。

(5)优先级驱动策略:按照任务优先级的高低确定任务的执行顺序。

(6)实时任务分类:周期任务、偶发任务、非周期任务。

(7)实时系统的通用结构模型:数据采集任务实现传感器数据的采集,数据处理任务处理采集的数据、并将加工后的数据送到执行机构管理任务控制机构执行。

5、嵌入式微处理器体系结构

(1)冯诺依曼结构:程序和数据共用一个存储空间,程序指令存储地址和数据存储地址指向同一个存储器的不同物理位置,采用单一的地址及数据总线,程序和数据的宽度相同。例如:8086、ARM7、MIPS…

(2)哈佛结构:程序和数据是两个相互独立的存储器,每个存储器独立编址、独立访问,是一种将程序存储和数据存储分开的存储器结构。例如:AVR、ARM9、ARM10…

(3)CISC与RISC的特点比较(参照教程22页)。

计算机执行程序所需要的时间P可以用下面公式计算:

P=I×CPI×T

I:高级语言程序编译后在机器上运行的指令数。

CPI:为执行每条指令所需要的平均周期数。

T:每个机器周期的时间。

(4)流水线的思想:在CPU中把一条指令的串行执行过程变为若干指令的子过程在CPU中重叠执行。

(5)流水线的指标:

吞吐率:单位时间里流水线处理机流出的结果数。如果流水线的子过程所用时间不一样长,则吞吐率应为最长子过程的倒数。

建立时间:流水线开始工作到达最大吞吐率的时间。若m个子过程所用时间一样,均为t,则建立时间T=mt。

(6)信息存储的字节顺序

A、存储器单位:字节(8位)

B、字长决定了微处理器的寻址能力,即虚拟地址空间的大小。

C、32位微处理器的虚拟地址空间位232,即4GB。

D、小端字节顺序:低字节在内存低地址处,高字节在内存高地址处。

E、大端字节顺序:高字节在内存低地址处,低字节在内存高地址处。

F、网络设备的存储顺序问题取决于OSI模型底层中的数据链路层。

6、逻辑电路基础

(1)根据电路是否具有存储功能,将逻辑电路划分为:组合逻辑电路和时序逻辑电路。

(2)组合逻辑电路:电路在任一时刻的输出,仅取决于该时刻的输入信号,而与输入信号作用前电路的状态无关。常用的逻辑电路有译码器和多路选择器等。

(3)时序逻辑电路:电路任一时刻的输出不仅与该时刻的输入有关,而且还与该时刻电路的状态有关。因此,时序电路中必须包含记忆元件。触发器是构成时序逻辑电路的基础。常用的时序逻辑电路有寄存器和计数器等。

(4)真值表、布尔代数、摩根定律、门电路的概念。(教程28、29页)

(5)NOR(或非)和NAND(与非)的门电路称为全能门电路,可以实现任何一种逻辑函数。

(6)译码器:多输入多输出的组合逻辑网络。

每输入一个n位的二进制代码,在m个输出端中最多有一个有效。

当m=2n是,为全译码;当m<2n时,为部分译码。

(7)由于集成电路的高电平输出电流小,而低电平输出电流相对比较大,采用集成门电路直接驱动LED时,较多采用低电平驱动方式。液晶七段字符显示器LCD利用液晶有外加电场和无外加电场时不同的光学特性来显示字符。

(8)时钟信号是时序逻辑的基础,它用于决定逻辑单元中的状态合适更新。同步是时钟控制系统中的主要制约条件。

(9)在选用触发器的时候,触发方式是必须考虑的因素。触发方式有两种:

电平触发方式:具有结构简单的有点,常用来组成暂存器。

边沿触发方式:具有很强的抗数据端干扰能力,常用来组成寄存器、计数器等。

7、总线电路及信号驱动

(1)总线是各种信号线的集合,是嵌入式系统中各部件之间传送数据、地址和控制信息的公共通路。在同一时刻,每条通路线路上能够传输一位二进制信号。按照总线所传送的信息类型,可以分为:数据总线(DB)、地址总线(AB)和控制总线(CB)。

(2)总线的主要参数:

总线带宽:一定时间内总线上可以传送的数据量,一般用MByte/s表示。

总线宽度:总线能同时传送的数据位数(bit),即人们常说的32位、64位等总线宽度的概念,也叫总线位宽。总线的位宽越宽,总线每秒数据传输率越大,也就是总线带宽越宽。

总线频率:工作时钟频率以MHz为单位,工作频率越高,则总线工作速度越快,也即总线带宽越宽。

总线带宽=总线位宽×总线频率/8,单位是MBps。

常用总线:ISA总线、PCI总线、IIC总线、SPI总线、PC104总线和CAN总线等。

(3)只有具有三态输出的设备才能够连接到数据总线上,常用的三态门为输出缓冲器。

(4)当总线上所接的负载超过总线的负载能力时,必须在总线和负载之间加接缓冲器或驱动器,最常用的是三态缓冲器,其作用是驱动和隔离。

(5)采用总线复用技术可以实现数据总线和地址总线的共用。但会带来两个问题:

A、需要增加外部电路对总线信号进行复用解耦,例如:地址锁存器。

B、总线速度相对非复用总线系统低。

(6)两类总线通信协议:同步方式、异步方式。

(7)对总线仲裁问题的解决是以优先级(优先权)的概念为基础。

8、电平转换电路

(1)数字集成电路可以分为两大类:双极型集成电路(TTL)、金属氧化物半导体(MOS)。

(2)CMOS电路由于其静态功耗极低,工作速度较高,抗干扰能力较强,被广泛使用。

(3)解决TTL与CMOS电路接口困难的办法是在TTL电路输出端与电源之间接一上拉电阻R,上拉电阻R的取值由TTL的高电平输出漏电流IOH来决定,不同系列的TTL应选用不同的R值。

9、可编程逻辑器件基础(具体参见教程51到61页)

这方面的内容,从总体上有个概念性的认识应该就可以了。

10、嵌入式系统中信息表示与运算基础

(1)进位计数制与转换:这样比较简单,也应该掌握怎么样进行换算,有出题的可能。

(2)计算机中数的表示:源码、反码与补码。

正数的反码与源码相同,负数的反码为该数的源码除符号位外按位取反。

正数的补码与源码相同,负数的补码为该数的反码加一。

例如-98的源码:11100010B

反码:10011101B

补码:10011110B

(3)定点表示法:数的小数点的位置人为约定固定不变。

浮点表示法:数的小数点位置是浮动的,它由尾数部分和阶数部分组成。

任意一个二进制N总可以写成:N=2P×S。S为尾数,P为阶数。

(4)汉字表示法(教程67、68页),搞清楚GB2318-80中国标码和机内码的变换。

(5)语音编码中波形量化参数(可能会出简单的计算题目哦)

采样频率:一秒内采样的次数,反映了采样点之间的间隔大小。

人耳的听觉上限是20kHz,因此40kHz以上的采样频率足以使人满意。

CD唱片采用的采样频率是44.1kHz。

测量精度:样本的量化等级,目前标准采样量级有8位和16位两种。

声道数:单声道和立体声双道。立体声需要两倍的存储空间。

11、差错控制编码

(1)根据码组的功能,可以分为检错码和纠错码两类。检错码是指能自动发现差错的码,例如奇偶检验码;纠错码是指不仅能发现差错而且能自动纠正差错的码,例如循环冗余校验码。

(2)奇偶检验码、海明码、循环冗余校验码(CRC)。(教程70到77页)

12、嵌入式系统的度量项目

(1)性能指标:分为部件性能指标和综合性能指标,主要包括:吞吐率、实时性和各种利用率。

(2)可靠性与安全性

可靠性是嵌入式系统最重要、最突出的基本要求,是一个嵌入式系统能正常工作的保证,一般用平均故障间隔时间MTBF来度量。

(3)可维护性:一般用平均修复时间MTTR表示。

(4)可用性

(5)功耗

(6)环境适应性

(7)通用性

(8)安全性

(9)保密性

(10)可扩展性

性价比中的价格,除了直接购买嵌入式系统的价格外,还应包含安装费用、若干年的运行维修费用和软件租用费。

13、嵌入式系统的评价方法:测量法和模型法

(1)测量法是最直接最基本的方法,需要解决两个问题:

A、根据研究的目的,确定要测量的系统参数。

B、选择测量的工具和方式。

(2)测量的方式有两种:采样方式和事件跟踪方式。

(3)模型法分为分析模型法和模拟模型法。分析模型法是用一些数学方程去刻画系统的模型,而模拟模型法是用模拟程序的运行去动态表达嵌入式系统的状态,而进行系统统计分析,得出性能指标。

(4)分析模型法中使用最多的是排队模型,它包括三个部分:输入流、排队规则和服务机构。

(5)使用模型对系统进行评价需要解决3个问题:设计模型、解模型、校准和证实模型。

真题解析

1、2007年4、5题

若每一条指令都可以分解为取指、分析和执行三步。已知取指时间t取指=4△t,分析时间t分析=3△t,执行时间t执行=5△t。如果按串行方式执行完100条指令需要(4)△t。如果按照流水线方式执行,执行完100条指令需要(5)△t。

(4)A. 1190 B. 1195 C. 1200 D. 1205

(5)A. 504 B. 507 C. 508 D. 510

<答案>:C、B

考查流水线技术知识点。

按照串行的方式,执行完一条指令才能执行下一条指令,那么执行完100条指令的时间为:(4+3+5)×100=1200 按照流水线的方式,可以同时执行多条指令。在第一条指令进行分析的时候,第二条指令已经开始取指;当第一条指令进行执行的时候,第二条指令进行分析,第三条指令取指;当第二条指令进行执行完的时候,第三条指令已经分析完成。依此类推,当第一条指令完成之后,每一个执行的周期就可以完成一条指令。需要注意的是,如果流水线的子过程所用时间不一样长,则吞吐率应以最长子过程来计算。因此,我们可以计算得100条指令的执行时间为:(4+3+5)+(100-1)×5=507。

2、2007年24题

某总线有104根信号线,其中数据总线(DB)32根,若总线工作频率为33MHz,则其理论最大传输率为(24)。(注:本题答案中的B表示Byte)

(24)A. 33 MB/s B. 64MB/s C. 132 MB/s D. 164 MB/s

<答案>:C

考查总线这个知识点。

根据上面的笔记,总线带宽=总线位宽×总线频率/8=32×33/8=132MB/s。

3、2007年26题

某存储器数据总线宽度为32bit,存取周期为250ns,则该存储器带宽为(26)。(注:本题答案中的B表示Byte)(26)A. 8×106B/s B. 16×106B/s C. 16×108B/s D. 32×106B/s

<答案>:B

考查总线这个知识点。

存储器带宽即总线带宽,总线频率为:1/250ns=4×106

存储器带宽为:32×4×106/8=16×106B/s

4、2007年27题

处理机主要由处理器、存储器和总线组成,总线包括(27)。

(27)A. 数据总线、串行总线、逻辑总线、物理总线

B. 并行总线、地址总线、逻辑总线、物理总线

C. 并行总线、串行总线、全双工总线

D. 数据总线、地址总线、控制总线

<答案>:D

考查总线这个知识点,基本概念的考查。

5、2007年35题

三极管是可控的开关器件,其饱和与截止状态分别对应开关的接通和断开状态。UBE为基极输入电压,VTH为基极域值电压,如果UBETH,开关应处于(35)状态。

(35)A. 接通 B. 三态 C. 断开 D. 高阻

<答案>:C

考查电路中最基本的基础知识点,我觉得做不对的根本不能算嵌入式系统开发入门。

6、2007年36题

如下图所示,若低位地址(A0-A11)接在内存芯片地址引脚上,高位地址(A12-A19)进行片选译码(其中,A14和A16没有参加译码),且片选信号低电平有效,则对下图所示的译码器,不属于此译码空间的地址为(36)。(36)A. AB000H~ABFFFH B. BB000H~BBFFFH

C. EF000H~EFFFFH

D. FE000H~FEFFFH

<答案>:D

考查数字电路中译码知识和存储系统中统一编址的问题,相对来说,这个题目有点难度,但是对于学习过和亲身做过单片机的兄弟来说,最基本不过了。

7、2007年46题

(46)完全把系统软件和硬件部分隔离开来,从而大大提高了系统的可移植性。

(46)A. 硬件抽象层 B. 驱动映射层 C. 硬件交互层 D. 中间层

<答案>:A

考查嵌入式系统组成中的概念。

8、2006年3题

设指令由取指、分析、执行3个子部件完成,每个子部件的工作周期为△t,采用常规标量单流水线处理机。若连续执行10条指令,则共需要时间(3)△t。

(3)A.8 B.10 C.12 D.14

<答案>:C

考查流水线技术知识点。

3+(10-1)×1=12

9、2006年4、5题

某计算机的时钟频率为400MHz,测试计算机的程序使用4种类型的指令。每种指令的数量及所需要的指令时钟数(CPI)如下表所示,则该计算机的指令平均时钟数为(4);该计算机的运算速度为(5)MIPS。

指令类型指令数目(条)每条指令需要的时钟数

1 160000 1

2 30000 2

3 24000 4

4 16000 8

(4)A.1.85 B.1.93 C.2.36 D.3.75

(5)A.106.7 B.169.5 C.207.3 D.216.2

<答案>:B、C

考查指令运行方面的简单计算。

平均时钟数=(160000+2×30000+4×24000+8×16000)/(160000+30000+24000+16000)=1.93

MIPS是指每秒种执行多少百万条指令,即106。

计算机的运行数度为:400/1.93=207.25=207.3MIPS

9、2006年12题

计算机要对声音信号进行处理时,必须将它转换为数字声音信号。最基本的声音信号数字化方法时取样-量化法。若量化后的每个声音样本用2个字节表示,则量化分辨率是(12)

(12)A.1/2 B.1/1024 C.1/65536 D.1/131072

<答案>:C

考查声音编码种量化计算的知识点。

2个字节是16位,其量化分辨率位1/1016=1/65536。

10、2006年13题

某幅图像具有640×460个象素点,若每个象素具有8位的颜色深度,则可表示(13)种不同的颜色,经过5:1压缩后,其图像数据需要占用(14)(Byte)的存储空间。

(13)A.8 B.256 C.512 D.1024

(14)A.61440 B.307200 C.384000 D.3072000

<答案>:B、A

考查图像数据存储计算的知识点。

8位颜色深度可以表示28=256种颜色深度。

经过5:1压缩后的数据大小为:640×480×8/8/5=61440。

11、2006年23题

若某逻辑门输入A、B和输出F的波形如下图所示,则F(A,B)的表达式为(23)

(23) A.F=A B B.F=A+B

C.F=A异或B

D.F=A(B的非)

___ __

A_______| |____| |_______

_______

B_______| |___________

______

F___________| |_______

<答案>:C

考查数字电路的最基本知识点,我觉得这个都搞不清楚很难通过这个考试。

12、2006年24题

一个4位的二进制计数器,由0000状态开始,经过25个时钟脉冲后,该计数器的状态为24 (24) A.1100 B.1000 C.1001 D.1010

<答案>:C

考查数字电路的最基本知识点,相对上面一题有点难,需要对计数器的工作原理有比较清楚的理解。这个也是搞嵌入式系统的基础中的基础,参考教程38页或相关的数电书籍。

4位的计数器,其计数范围是24=16,0000开始经过16个时钟脉冲之后又回到了开始的状态0000。25-16=9,所以说经过25个时钟之后,其计数器的数值应该是9=1001。

13、2006年25题

稳压二极管构成的稳压电路的接法是(25)

(25) A.稳压管与负载电阻串联。

B.稳压管与限流电阻并联。

C.限流电阻与稳压管串联后,在与负载电阻串联。

D.限流电阻与稳压管串联后,在与负载电阻并联。

<答案>:D

考查模拟电路的最基本知识点,实在太简单,不知道从那里开始分析了。

14、2006年26题

以下叙述中,不符合RISC指令系统特点的是(26)

(26) A.指令长度固定,指令种类少。

B.寻址方式种类丰富,指令功能尽量增强。

C.设置大量通用寄存器,访问存储器指令简单。

D.选取使用频率较高的一些简单指令。

<答案>:B

考查RISC与CICS的区别,考生应该清楚他们的区别,参加教程22页。

15、2006年27题

通常所说的32位微处理器是指(27)

(27) A.地址总线的宽度为32位 B.处理器数据长度只能为32位

C.CPU字长为32位

D.通用寄存器数目为32位

<答案>:C

考查字长的概念和总线宽度的理解,参加教程25页。

16、2006年28题

在32位总线系统中,若时钟频率为500MHz,传送一个32位字需要5个时钟周期,则该总线系统的数据传送速率为(28)MB/s。

(28) A.200 B.400 C.600 D.800

<答案>:B

考查总线和数据传输方面的知识点。

5个时钟周期可以传送4个Byte。

每秒中可以传送:4×(500/5)=400MB/s。

17、2006年30题

评价一个计算机系统时,通常主要使用(30)来衡量系统的可靠性。

(30) A.评价响应时间

B.平均无故障时间(MTBF)

C.平均修复时间

D.数据处理速率

<答案>:B

考查嵌入式系统性能评价中重要知识点。看过了就会做,每什么分析的,参见教程77页。

小结

就我个人的意见,从内容来看,嵌入式系统基础知识的范围很广,知识点很多,而且没有很强的逻辑性,显得比较凌乱,很难将他们有序的组织在一起。但是也不要害怕,内容虽然多而乱,但是考试的题目都比较简单,有些题目几乎是所见即所得。只要你做过嵌入式或者单片机方面的工作,你都能做出来。一些计算的题目也是一些基本概念的延伸。通过分析历年的真题,一方面可以把握考试的出题方式和考试难度,同时可以把握这部分内容的出题方向和复习的方法。从两年的考试题目数量分布来看,06年10道,07年7道,数量有所较少,但是我觉得这不是一个趋势,08年应该不会少于7道题目的。这部分在嵌入式系统设计里面是相当重要的,有一个良好的基础才能做好下面的事情。如果复习得好,将这7、8分题目拿到手,那么你离45分左右的及格线又迈进了一大步了。

祝准备考试的朋友,考试顺顺利利。

嵌入式系统设计师考试笔记之嵌入式微处理器

一、引言

嵌入式微处理器是嵌入式系统的核心器件,深入理解嵌入式微处理器的工作原理,组成结构、体系结构以及软件编程等方面,无论对嵌入式设计师考试的准备还是对嵌入式项目的开发都有一定的帮助。在目前白花盛放的嵌入式微处理器市场,各种各样大大小小的嵌入式微处理器就像菜市场里面的青菜一样。要对各种嵌入式微处理器都有深入的理解几乎是不可能的。但是万变不离其中,在总多的嵌入式微处理器中都有着共同的概念、原理与规律。我们要做的是分析嵌入式微处理器的基本结构、基本工作原理、体系结构、市场发展趋势、各种微处理器的特点与应用场合等等。我个人觉得,面对全国的考试,其考点应该是大家都应该去掌握的一些共有的基本知识,或者是大家都熟悉,流行程度甚广的一些微处理器的使用,而不是一些个性化的知识点或者偏门器件的使用。

二、复习笔记

1. 嵌入式微处理器的基本结构

(1)嵌入式硬件系统一般由嵌入式微处理器、存储器和输入/输出部分组成。

(2)嵌入式微处理器是嵌入式硬件系统的核心,通常由控制单元、算术逻辑单元和寄存器3大部分组成:

A、控制单元:主要负责取指、译码和取数等基本操作并发送主要的控制指令。

B、算术逻辑单元:主要处理数值型数据和进行逻辑运算工作。

C、寄存器:用于暂存临时性的数据。

2. 嵌入式微处理器的分类(根据用途)

(1)嵌入式微控制器(MCU):又称为单片机,片上外设资源一般比较丰富,适合于控制。最大的特点是单片化,体积小,功耗和成本低,可靠性高。目前约占70%的市场份额。

(2)嵌入式微处理器(EMPU):又称为单板机,由通用计算机中的CPU发展而来,它的特征是具有32位以上的处理器,具有较高的性能。通常嵌入式微处理器把CPU、ROM、RAM及I/O等模块做到同一个芯片上。

(3)嵌入式DSP处理器(DSP):专门用于信号处理方面的处理器,其在系统结构和指令算法方面进行了特殊设计,使其处理速度比最快的CPU还快10~50倍,在数字滤波、FFT、频谱分析等方面获得了大量的应用。

(4)嵌入式片上系统(SOC):追求产品系统最大包容的集成器件,其最大的特点是成功实现了软硬件的无缝结合,直接在微处理器片内嵌入操作系统的代码模块。

3. 典型8位微处理器的结构和特点

该部分参考《教程》86~94页,以8051为重点,彻底搞清楚8位单片机的工作原理,外设控制、存储分布、寻址方式以及典型应用。2007年11月下午的第一道题目就考查了8051的定时器使用、外部时钟连接、实际应用的流程设计以及典型的寻址方式。这些考点几乎可以在《教程》上找到,例如外部时钟连接那个问题的答案就是《教程》89页上面的原图。

4. 典型16位微处理器的结构和特点

该部分参考《教程》94~97页。典型的微处理器可以参考MSP430,找一本这方面的书看看关于MSP430的结构原理以及典型应用。

5. 典型32位微处理器的结构和特点

该部分参考《教程》97~112页。32位处理器采用32位的地址和数据总线,其地址空间达到了232=4GB。目前主流的32位嵌入式处理器系统主要有ARM系列、MIPS系列、PoewrPC系列等。ARM微处理器体系结构目前被公认为是嵌入式应用领域领先的32位嵌入式RISC处理器结构。按照目前的发展形式,ARM几乎成了嵌入式应用的代名词。按照我个人的意见,作为嵌入式系统设计师考试,逐渐增加考查ARM体系结构与编程方面的题目是大势所趋。2006年没有一道关于ARM的题目,2007年出了少量题目,可能在2008年会继续增加。在下午题方面,2006年考查了X86方面的应用、2007年考查了8051方面的应用,这个可能是一个过度过程,以目前ARM在嵌入式领域的广泛应用和普及程度,下午题目考查ARM应用方面或者32位其他的微处理器方面的应用题目可能在不就将来的考试中就会出现。

6、单片机系统的基本概念

(1)单片机组成:中央处理器、存储器、I/O设备。

(2)存储器:物理实质是一组或多组具备数据输入/输出和数据存储功能的集成电路,用于充当设备缓存或保存固定的程序及数据。

A、ROM(只读存储器):一般用于存放固定的程序或数据表格等,数据在掉电后仍然会保留下来。

B、RAM(随机存储器):用于暂存程序和数据、中间计算结果,或用作堆栈用等,数据在掉电后就会丢失。

(3)I/O端口:单片机与外界联系的通道,它可以对各类外部信号(开关量、模拟量、频率信号)进行检测、判断、处理,并可控制各类外部设备。现在的单片机I/O口已经集成了更多的特性和功能,对I/O端口的功能进行了拓展和复用,例如外部中断、ADC检测以及PWM输出等等。

(4)输出电平:高电平电压(输出“1”时)和低电平电压(输出“0”时)

A、TTL电平:正逻辑,5V为逻辑正,0V为逻辑负,例如单片机的输出。

B、RS232电平:负逻辑,-12V为逻辑正,+12V为逻辑负,例如PC的输出。

注:因此在单片机和PC进行通讯的时候需要一个MAX232芯片进行电平转换。

(5)堆栈:它是一种线性的数据结构,是一个只有一个进出口的一维空间。

A、堆栈特性:后进先出(LIFO)

B、堆栈指针:用于指示栈顶的位置(地址),当发生压栈或者出栈操作时,导致栈顶位置变化时,堆栈指针会随之变化。

C、堆栈操作:压栈操作(PUSH)和出栈操作(POP)。

D、堆栈类型:“向上生长”型堆栈,每次压栈时堆栈指针加1;“向下生长”型堆栈,每次压栈堆栈时指针减1。

E、堆栈应用:调用子程序、响应中断时,堆栈用于保护现场;还可以用作临时数据缓冲区来使用。

F、使用注意:堆栈溢出问题,压栈和出栈的匹配问题。

(6)定时/计数器:实质都是计数器。用作定时器时是对单片机内部的时钟脉冲进行计数,而在用作计数器时是对单片机外部的输入脉冲进行计数,其作用如下:

A、计时、定时或延时控制;

B、脉冲技术;

C、测量脉冲宽度或频率(捕获功能)

(7)中断:优先级更高的事件发生,打断优先级低的时间进程。引起中断的事件称为中断源。一个单片机可能支持多个中断源,这些中断源可以分为可屏蔽中断和非可屏蔽中断,而这些中断源并不都是系统工作所需的,我们可以根据系统需求屏蔽那些不需要的中断源。

A、中断嵌套:当一个低级中断尚未执行完毕,又发生了一个高级优先级的中断,系统转而执行高级中断服务程序,待处理完高级中断后再回过头来执行低级中断服务程序。

B、中断响应时间是指从发出中断请求到进入中断处理所用的时间;中断处理时间是指中断处理开始到中断处理结束的时间。

C、中断响应过程:

a、保护现场:将当前地址、累加器ACC、状态寄存器保存到堆栈中。

b、切换PC指针:根据不同的中断源所产生的中断,切换到相应的入口地址。

c、执行中断服务处理程序。

d、恢复现场:将保存在堆栈中的主程序地址、累加器ACC、状态寄存器恢复。

e、中断返回:从中断处返回到主程序,继续执行。

D、中断入口地址:单片机为每个中断源分配了不同的中断入口地址,也称为中断向量。

(8)复位:通过外部电路给单片机的复位引进一个复位信号,让系统重新开始运行。

A、复位发生时的动作:

a、PC指针从起始位置开始执行(大多数单片机都时从0x0000处开始执行)。

b、I/O端口设置成缺省状态(高阻态、或者输出低电平)。

c、部分专用控制寄存器SFR恢复到缺省状态。

d、普通RAM不变(如果时上电复位,则是随即数)。

B、两种不同的复位启动方式:

a、冷启动:也叫上电复位,指在断电状态下给系统加电,让系统开始正常运行。

b、热启动:在不断电的状态下,给单片机复位引进一个复位信号,让系统重新开始。

C、两种类型的复位电路:高电平复位和低电平复位。

D注意事项:

a、

注意复位信号的电平状态及持续时间必须满足系统要求。

b、

注意避免复位信号抖动。

(9)时钟电路:单片机是一种时序电路,必须提供脉冲电路才能正常工作。时钟电路相当于单片机的心脏,它的每一次跳动(振动节拍)都控制着单片机的工作节奏。振荡得慢时,系统工作速度就慢,振荡得快时,系统工作速度就快(功耗也增大)。

A、振荡周期:振荡源的振荡节拍。

B、机器周期:单片机完成一个基本操作需要的振荡周期(节拍)。

C、指令周期:执行一条指令需要几个机器周期。不同的指令需要的机器周期数不同。

7、ARM体系结构的基本概念

(1)ARM:Advanced RISC Machine。

(2)ARM体系结构中支持两种指令集:ARM指令集和Thumb指令集。

(3)ARM内核有T、D、M、I四个功能模块:

A、T模块:表示16位Thumb,可以在兼顾性能的同时减少代码尺寸。

B、D模块:表示Debug,内核中放置了用于调试的结构,通常为一个边界扫描链JTAG。

C、M模块:表示8位乘法器。

D、I模块:表示EmbeddedICE Logic,用于实时断点观测及变量观测的逻辑电路部分。

(4)ARM处理器有7种运行模式:

A、用户模式(User):正常程序执行模式,用于应用程序。

D、快速中断模式(FIQ):快速中断处理,用于高速数据传输和通道处理。

C、外部中断模式(IRQ):用于通用的中断处理。

D、管理模式(SVE):供操作系统使用的一种保护模式。

E、数据访问中止模式(Abort):用于虚拟存储及存储保护。

F、未定义指令中止模式(Undefined):当未定义指令执行时进入该模式。

G、系统模式(System):用于运行特权级的操作系统任务。

除了用户模式之外的其他6种处理器模式称为特权模式,在这些模式下,程序可以访问所有的系统资源,也可以任意地进行处理器模式切换,其中,除了系统模式外,其他的5种特权模式又称为异常模式。

处理器模式可以通过软件控制进行切换,也可以通过外部中断或异常处理过程进行切换。大多数的用户程序运行在用户模式下,这时,应用程序不能访问一些受操作系统保护的系统资源,应用程序也不能直接进行处理器模式切换。当需要进行处理器模式切换时,应用程序可以产生异常处理,在异常处理中进行处理器模式的切换。这种体系结构可以使操作系统控制整个系统的资源。

当应用程序发生异常中断时,处理器进入相应的异常模式。在每一种异常模式种都有一组寄存器,供相应的异常处理程序使用,这样就可以保证进入异常模式时,用户模式下的寄存器不被破坏。

系统模式并不是通过异常过程进入的,它和用户模式具有完全一样的寄存器,但是系统模式属于特权模式,可以访问所有的系统资源,也可以直接进行处理器模式切换,它主要供操作系统任务使用。

(5)ARM处理器共有37个寄存器:31个通用寄存器和6个状态寄存器

A、通用寄存器包括R0~R15,可以分为3类:

a、未备份寄存器R0~R7:在所有的处理器模式下,未备份寄存器都是指向同一个物理寄存器。

b、备份寄存器R8~R14:

对于R8~R12来说,每个寄存器对于2个不同的物理寄存器,它们每次所访问的物理寄存器都与当前的处理器运行模式有关。

对于R13、R14来说,每个寄存器对于6个不同的物理寄存器,其中一个是用户模式和系统模式共用。

R13在ARM指令种常用作堆栈指针。由于处理器的每种运行模式都有自己独立的物理寄存器R13,所有在用户应用程序的初始化部分,一般要初始化每种模式下的R13,使其指向该运行模式的栈空间。

R14又称为连接寄存器(LR),在ARM体系种具有下面两种特殊作用:在通过BL或BLX指令调用子程序时,存放当前子程序的返回地址;在异常中断发生时,存放异常模式将要返回的地址。

c、程序计数器R15(PC)。

由于ARM采用了流水线机制,在三级流水线中,当正确读取了PC的值时,该值为当前指令地址值加8个字节。也就是说,PC指向当前指令的下两条指令的地址。在ARM指令状态下,PC的0和1位是0,在Thumb指令状态下,PC的0位是0。

B、程序状态寄存器

a、ARM体系结构包含1个当前程序状态寄存器(CPSR)和5个备份的程序状态寄存器(SPSR),使用MSR和MRS指令来设置和读取这些寄存器。

b、当前程序状态寄存器CPSR:保存当前处理器状态的信息,可以在任何处理器模式下被访问。

c、备份程序状态寄存器SPSR:每一种异常处理器模式下都有一个专用的物理状态寄存器。当特定的异常中断发生时,这个寄存器用于存放当前程序状态寄存器的内容,在异常中断程序退出时,可以用SPSR中保存的值来恢复CPSR。

d、由于用户模式和系统模式不属于异常模式,它们没有SPSR,当在这两种模式下访问SPSR时,结果是未知的。(6)ARM指令的寻址方

所谓寻址方式就是处理器根据指令中给出的地址信息来寻找物理地址的方式。

A、

立即寻址:操作数本身就在指令中给出,只要取出指令也就取到了操作数。

ADD

R0, R0, #1

;R0 R0+1

B、

寄存器寻址:利用寄存器中的数值作为操作数。

ADD

R0, R1, R2

;R0 R1+R2

C、

寄存器间接寻址:以寄存器中的值作为操作数地址,而操作数本身存放在存储器中。

ADD

R0, R1, [R2]

;R0 R1+[R2]

LDR

R0, [R1]

;R0 [R1]

STR

R0, [R1]

;[R1] R0

D、基址变址寻址:将寄存器(该寄存器一般称作基址寄存器)的内容与指令中给出的地址偏移量相加,从而得到一个操作数的有效地址。

LDR

R0, [R1, #4]

;R0 [R1+4]

LDR

R0, [R1, #4]!

;R0 [R1+4]

R1 R1+4

LDR

R0, [R1], #4

;R0 [R1]

R1 R1+4

LDR

R0, [R1, R2]!

;R0 [R1+R2]

E、

多寄存器寻址:一条指令可以完成多个寄存器值的传送。

LDMIA

R0, {R1, R2, R3}

;R1 [R0]

R2 [R0+4]

R3 [R0+8]

F、

相对寻址:以程序计数器PC的当前值作为基地址,指令中的地址标号作为偏移量,两者相加之后得到操作数的有效地址。

BL

NEXT

;跳转到子程序NEXT处执行

……

NEXT

……

MOV

PC, LR

;从子程序返回

G、堆栈寻址:支持4种类型的堆栈工作方式:

a、

满递增堆栈:堆栈指针指向最后压入的数据,且由低地址向高地址生长。

b、

满递减堆栈:堆栈指针指向最后压入的数据,且由高地址向低地址生长。

c、

空递增堆栈:堆栈指针指向下一个将要放入数据的空位置,且由低地址向高地址生长。

d、

空递减堆栈:堆栈指针指向下一个将要放入数据的空位置,且由高地址向低地址生长。

(7)ARM的存储方法

A、大端模式:数据的高字节存储在低地址中,低字节存储在高地址中。

B、小端模式:数据的低字节存储在低地址中,高字节存储在高地址中。

(8)ARM中断与异常

A、ARM内核支持7种中断,不同的中断处于不同的处理模式,具有不同的优先级,而且每个中断都有固定的中断地址入口。当一个中断发生是,相应的R14(LR)存储中断返回地址,SPSR存储当前程序状态寄存器CPSR的值。

B、由于ARM内核支持流水线工作,LR寄存器存储的地址可能是发生中断后面指令的地址,所以不同的中断处理完成后,必须将LR寄存器值经过处理后再写入P15(PC)寄存器。

C、ARM异常的具体含义:

a、复位:当处理器的复位电平有效时,产生复位异常,程序跳转到异常复位异常处理程序处执行。

b、未定义的指令:当ARM处理器或协处理器遇到不能处理的指令时,产生未定义指令异常。可以使用该异常机制进行软件仿真。

c、软件中断:该异常由执行SWI指令产生,可用于用户模式下的程序调用特权操作指令。可使用该异常机制实现操作系统调用功能。

d、指令预取中止:如果处理器预取指令的地址不存在或该地址不允许当前指令访问,存储器向处理器发出中止信号,但当预取的指令被执行时,才会产生指令预取中止异常。

e、数据访问中止:如果处理器数据访问指令的目标地址不存在,或者该地址不允许当前指令访问,处理器产生数据访问中止异常。

f、外部中断请求:当ARM外部中断请求管脚有效,而且CPSR中的I位为0时,产生IRQ异常。系统的外设可以通过该异常请求中断服务。

g、快速中断请求:当ARM快速中断请求管脚有效,而且CPSR的F位为0时,产生FIQ异常。

D、ARM处理器对异常中断的响应过程

a、将下一条指令的地址存入相应的连接寄存器LR中。

b、将CPSR复制到相应的SPSR中。

c、根据异常的类型,强制设置CPSR的运行模式位。

d、强制PC从相关的异常向量地址取下一条指令执行,从而跳转到相应的异常处理程序处。

E、ARM处理器从异常中断处理程序中返回

a、恢复中断的程序的处理器状态,将SPSR复制到CPSR中。

b、若在进入异常处理时设置了中断禁止位,要在此清除。

c、将连接寄存器LR的值减去相应的偏移量后送到PC。

F、复位异常中断处理程序不需要返回。在复位异常中断程序开始整个用户程序的执行。

三、真题解析

1、2007年上午49题

在ARM处理器中,(49)寄存器包括全局的中断禁止位,控制中断禁止位就可以打开或者关闭中断。

(49)A.

CPSR

B.

SPSR

C.

PC

D.

IR

<答案>:A

考查ARM体系结构的基础知识,CPSR为当前程序状态寄存器,包含全局中断控制位。

2、2007年下午试题一(题目略)

考查8051定时器应用、外部时钟硬件连接、实际项目流程设计以及寻址方式。

3、2006年上午27题

通常所说的32位微处理器是指(27)

(27)A. 地址总线的宽度为32位

B. 处理器数据长度只能为32位

C. CPU字长为32位

D. 通用寄存器数目为32个

<答案>:C

根据常识,很容易将B和D排除掉。

所谓字长,指CPU在单位时间内(同一时间)能一次处理的二进制数的位数。

因此,能处理字长为8位数据的CPU通常就叫8位的CPU,32位CPU的字长为32位。

对于字长和字节,通常8位称为一个字节,而字长的长度是不固定的,对于不同的CPU,字长的长度不一样。8位的CPU一次只能处理一个字节,而32位的CPU一次就能处理4个字节。

四、小结

从这两年的考试真题来看,关于嵌入式微处理器方面的题目不多,06和07年上午题目各一题。而且考的都是基础中的基础概念。这些几乎就是每个搞计算机或者单片机的人一进门就要理解的概念。虽然考试的题目不多,然而对嵌入式微处理器的很多基本概念和原理的理解对试卷上的其他题目的解答都有一点的帮助。随着ARM技术的飞速普及,07年也开始出现ARM体系结构的题目,我觉得在今后的考试中,这方面题目可能会不断出现。在下午题目中,一道硬件相关的题目是少不了的,嵌入式微处理器作为嵌入式系统的核心,多多少少会设计到。06年考查X86,07年考查MCS-51,这是计算机也可以说是嵌入式发展和普及的一个过程,今后会不会考查ARM的应用呢?完全有这个可能性。然而目前MCU的市场仍然火爆,最近ARM推出的cortex-M3也不不断占领MCU的市场,可见MCS-51的为基础的应用仍然不断涌现。07年考查了8051的应用,今后我觉得可能还会继续出的吧。

嵌入式系统设计师考试笔记之操作系统基础

一、引言

原定于11月8号的嵌入式系统设计师考试由于某种原因推迟,得以让我有时间再写几篇文章,在最后的时刻为大家提供最后的帮助。

我觉得,嵌入式系统设计主要包含系统设计、硬件设计和软件设计。其中大部分工作是嵌入式软件方面,包括操作系统的移植、系统体系架构设计、设备驱动程序编写、用户应用程序设计等等。所以在嵌入式系统设计师的考试中也应该集中在这几点上面。前面的几篇文章对嵌入式硬件方面做了几个总结,现在对嵌入式软件方面做一些个人的归纳,再结合历年真题分析一下,对我认为常见的考点梳理了一下,不知道对大家有没有用处。

在嵌入式软件设计中,操作系统基础尤为重要,可以考查的考点也特别的多。我觉得它的地位就跟四六级英语考试中的阅读部分一样。这部分内容不能吃透,很难将这个考试拿下来,当然也有例外的。我只是想说明这部分的重要性。闲话少数,进入正题。

二、复习笔记

1、嵌入式软件基础

(1)嵌入式软件的特点:

A、规模较小。

B、开发难度大。

C、实时性和可靠性要求高。

D、要求固化存储。

(2)嵌入式软件分类:

A、系统软件:控制和管理嵌入式系统资源,如嵌入式操作系统、驱动程序、中间件等。

B、应用软件:定义嵌入式设备的主要功能和用途,负载与用户进行交互。

C、支撑软件:辅助软件开发的工具软件。

(3)无操作系统的嵌入式软件的两种实现方式:

A、循环轮转

优点:简单、直观、开销小、可预测。

缺点:过于简单,所有代码顺序执行,无法处理异步事件,缺乏并行处理能力。

B、前后台系统(在循环轮转的基础上增加了中断处理功能)

前台(事件处理级):中断服务程序,负载处理异步事件。

后台(任务级):一个无限循环,负载资源分配、任务管理和系统调度。

(4)有操作系统的三大优点:

A、提高系统的可靠性。

B、提高了系统的开发效率,降低了开发成本,缩短了开发周期。

C、有利于系统的扩展与移植。

(5)设备驱动层(也叫板级支持包BSP:包含了嵌入式系统中所有与硬件相关的代码)

大多数的嵌入式硬件设备都需要某种类型软件的初始化和管理。这部分工作由设备驱动层来完成的,它负责直接与硬件大交道,对硬件进行管理和控制,为上层软件提供所需的驱动支持,类似PC系统中的BIOS和驱动程序。(6)板级支持包BSP的基本思想

把嵌入式操作系统与具体的硬件平台隔离开来。在BSP当中,把所有与硬件相关的代码都封装起来,并向上提供一个虚拟的硬件平台,而操作系统就运行在这个虚拟的硬件平台上。它使用一组定义好的编程接口来与BSP进行交互,并通过BSP来访问真正的硬件。

(7)一般来说。BSP主要包括两个方面的内容:

A、引导加载程序BootLoader。

B、设备驱动程序。

(8)关于引导加载程序BoorLoader

引导加载程序是嵌入式系统加电后运行的第一段软件代码,是在操作系统内核运行之前运行的一段小程序,它的实现高度依赖于具体的硬件平台,主要的基本功能如下:

A、片级初始化:纯硬件初始化过程,把微处理器从上电的默认状态设置成系统要求的工作状态。

B、板级初始化:同时有软件和硬件在内的初始化过程,设置各种硬件的寄存器和设置某些软件的数

据结构和参数。

C、加载内核:将操作系统和应用程序的映象从Flash存储器复制到系统内存当中,然后跳转到系统

内核的第一条指令处继续执行。

补充:PC系统的引导加载过程。

PC系统的引导加载程序由两部分代码组成――BIOS和MBR中的引导程序。BIOS在完成硬件检测和资源配置后,将硬盘主引导记录MBR中的引导程序读到系统的内存当中,然后将控制权交给它,由它负责把操作系统的内核映象从硬盘读入到内存,然后跳转到内核入口去运行,即启动操作系统。

(9)设备驱动程序

在一个嵌入式系统中,操作系统可能有也可能无,但是设备驱动程序是必不可少的。设备驱动程序,就是一组库函数,用来对硬件进行初始化和管理,并向上层软件提供良好的访问接口。大多数设备驱动程序都具备下面的基本功能:启动、关闭、停用、启用、读操作、写操作。这些功能一般用函数的形式来实现,这些函数之间的组织结构主要有两种:分层结构和混合结构。

(10)关于分层结构

A、硬件接口:直接操作和控制硬件。

B、调用接口:不直接跟硬件大交道,为上层软件提供服务和函数接口。

C、优点:把所有与硬件相关的细节都封装在硬件接口中,在硬件需要升级,需要更新设备驱动程序的时候,只需要改动硬件接口中的函数即可,而上层调用接口中的函数不用做任何修改。

D、混合结构:在设备驱动程序当中,没有明确的层次关系,上层接口和硬件接口混在一起,相互调用。

(11)嵌入式中间件

它是在操作系统内核、设备驱动程序和应用软件之外的所有系统软件,其基本思路是:把原本属于应用软件层的一些通用的功能模块抽取出来,形成独立的一层软件,从而为运行在它上面的那些应用软件提供一个灵活、安全。移植性好、相互通信、协同工作的平台。

2、嵌入式操作系统概述

(1)内核

内核是指操作系统中的一个组件,它包含了OS的主要功能,即OS的各种特性及其相互之间的依赖关系,这些功能主要包括:

A、任务管理:对系统中运行的软件进行描述和管理,并完成处理器资源分配和调度。

B、存储管理:提高内存的利用率,方便用户使用,提供足够的存储空间。

C、设备管理:方便设备的使用,提高CPU和I/O设备的利用率。

D、文件管理:解决文件资源存储、共享、保密和保护等问题。

注:不同嵌入式操作系统的内核设计各不相同,取决于系统设计和实际需求。

(2)嵌入式操作系统分类:

A、按系统类型:商业系统、专用系统、开源系统。

B、按响应时间:硬实时系统、软实时系统。

C、按软件结构:单体结构(uCOS)、分层结构(MS-DOS)、微内核结构(Vxworks)。

3、任务管理

(1)嵌入式操作系统的任务管理可以分为:

A、单道程序技术:操作系统中,任何时候只能有一个程序在运行。

B、多道程序技术:操作系统中,允许多个程序同时存在并运行。

(2)进程

进程,简单的说,是一个正在运行的程序。

进程与程序既有联系又有区别,主要表现为下面结构方面:

A、程序由数据和代码两部分内容组成,它是一个静态的概念。而进程是正在执行的程序,它也由两部分组成:程序和该程序的运行上下文。它是一个动态的概念。

B、程序和进程之间并不是一一对应的。一个进程在运行的时候可以启动一个或多个程序。反之,同一个程序也可能由多进程同时执行。

C、程序可以作为一种软件资源长期保存,以文件的形式存放在光盘或硬盘上,而进程则是一次执行的过程,它是暂时的,是动态的产生和终止。

一个进程至少应包括三个方面:相应的程序、CPU上下文、一组系统资源。

进程有三个特性:

A、动态性:进程是正在运行的程序,而程序的运行状态是不断变化的。

B、独立性:进程是系统资源的使用单位,每个进行有自己的运行上下文和内部状态。

C、并发性:宏观来看,系统中同时有多个进程存在,它们相互独立地运行。

注:对于并发的理解。

在单CPU的情况下,所谓的并发性指的是宏观上的并发运行,而微观上还是顺序进行,各个进程轮流去使用CPU资源。在单核CPU中,真正的、物理上的PC寄存器只有一个,进程在轮流执行的时候,物理PC的取值也在不断变化。而逻辑PC其实就是一个内存变量。每个进程都有一个逻辑PC,当一个进程要运行的时候,就把它的逻辑PC装载到物理PC中去;反之,当一个进程暂不运行的时候,就把物理PC中的值保存在它的逻辑PC当中。

(3)线程

线程就是进程当中的一条执行流程。

进程其实包含两个部分:资源平台和执行流程(线程)。

在一个进程当中,或者说在一个资源平台上,可以同时存在多个线程;可以用线程作为CPU的基本调度单位,使得各个线程之间可以并发执行;对于同一个进程当中的各个线程来说,他们可以共享该进程的大部分资源。每个线程都有自己独立的CPU运行上下文和栈,这是不能共享的。

(4)任务

在嵌入式系统中,任务其实就是线程,它是能够独立运行的一个实体。原因有二:

A、任务具有独立的优先级和栈空间,CPU上下文一般存放在栈空间中。

B、任务之间可以很方便地、直接地使用共享的内存单元,而不需要经过系统内核。

在多道程序的嵌入式系统中,同时存在着多个任务,这些任务之间的结构一般为层状结构,存在着父子关系。当嵌入式内核刚刚启动的时候,只有一个任务存在,然后由该任务派生出所有其他任务。

(5)任务的创建与中止(教程P270)

任务的创建主要发生在以下三种情形:

A、系统初始化。

B、任务运行的过程中。

C、用户提出请求。

从技术的角度来说,实际上新任务只有一种创建的方法,也就是在一个已经存在的任务中,通过调用相应的系统函数来创建一个新的任务。

任务的创建只要有两种可能的实现模型:fork/exec和spawn。两种模型的差别主要在于内存的分配方式。

A、fork/exec模型下,首先调用fork函数为新任务创建一份与父任务完全相同的内存空间,然后再调用exec 函数装入新任务的代码,并用它来覆盖原有的属于父任务的内容。嵌入式Linux操作系统是基于fork/exec模型的。

B、spawn模式下,在创建新任务的时候,直接为它分配一个全新的地址空间,然后将新任务的代码装入并运行。uCOS操作系统是基于spawn模型的。

任务的中止可能有多种原因,主要有下面三种情况:

A、正常退出。

B、错误推出。

C、被其他任务踢出。

在有些嵌入式系统中,尤其是一些控制系统中,它的某些任务被设计为“死循环”的模式,一直循环下去,不会中止。

(6)任务的状态

任务有三中基本状态:

A、运行状态:任务占有CPU,并在CPU上运行。

B、就绪状态:任务已经具备运行的条件,在等待CPU空闲。

C、阻塞状态:任务因为正在等待某种事件的发生而暂时不能运行。

对于就绪状态和阻塞状态,它们的相同之处在于,任务都是处于暂停状态,没有运行。不同之处在于,暂停的原因是不一样的,导致就绪状态的原因是外因,是操作系统的CPU正忙,而导致阻塞状态的原因是内因,是任务自身的问题。

任务状态的四种转换关系:

A、运行→阻塞:任务由于等待某个时间被阻塞起来。

B、运行→就绪:调度器由于某种原因(例如优先级)选择了另一个任务去运行。

C、就绪→运行:CPU空闲了,处于就绪状态的任务被调度器选中去运行。

D、阻塞→就绪:任务的等待事件完成,具备了继续运行的条件。

(7)任务控制块TCB

任务控制块TCB,就是在操作系统中,用来描述和管理一个任务的数据结构。系统为每一个任务都维护了一个相应的TCB,用来保存该任务的各种相关信息。它的主要内容包括下面几项:

A、任务的管理信息:任务的标识ID、状态、优先级、调度信息、各种队列指针等。

B、CPU上下文信息:CPU各种寄存器当前的值以及逻辑寄存器。

C、资源管理的信息:段表地址、页表地址、根目录、文件描述字等。

当需要创建一个任务的时候,就为它生成一个TCB,并初始化这个TCB的内容;当需要中止一个任务的时候,只要回收它的TCB就可以了。

(7)任务的切换

基本思想:把当前任务的运行上下文保存起来,并恢复新任务的上下文。

任务切换通常有下面的基本步骤:

A、将处理器的运行上下文保存在当前任务的TCB中。

B、更新当前任务的状态,从运行状态变为就绪状态或阻塞状态。

C、按照一定的策略,从所有处于就绪状态的任务中选择一个去运行。

D、修改新任务的状态,从就绪状态变成运行状态。

E、根据新任务的TCB的内容,恢复它的运行上下文环境。

在一个多任务的操作系统中,采用任务队列的方式来组织它的所有任务。由操作系统来维护一组队列,用来表示系统当中所有任务的当前状态,不同的状态用不同的队列来标志。

(8)任务的调度

调度器可以看作CPU的资源管理者。

任务调度的首要问题是:何时进行调度,即调度发生的时机。一般有下面几种情形:

A、一个新任务被创建时,需要决定运行新任务还是继续执行父任务。

B、一个任务运行结束时,需要从就绪队列中选择某个任务去运行。

C、一个任务运行阻塞时,需要选择另一个任务去运行。

D、一个I/O操作完成,任务阻塞结束,立即执行新就绪任务还是继续执行被中断任务。

E、一个时钟节拍结束时,需要对就绪任务重新调度。

任务调度的第二个问题是:如何调度,即调度方式。主要有两种方式:

A、不可抢占调度方式:例如时间片轮转。

B、可抢占调度方式:例如优先级调度。

实时操作系统大都采用可抢占调度方式。

任务调度的第三个问题是:调度算法。

A、先来先服务算法:按照任务到达的先后次序进行调度,是不可抢占的调度方式。

B、短作业优先算法:各个任务开始执行之前,事先预计好它的执行时间,从中选择用时较短的任务优先执行。

C、时间片轮转算法:所有的就绪任务按照先来先服务的原则排成一个队列。在每次调度的时候,把处理器分

派给队列当中的第一个任务,让它去执行一小段时间。在这个时间段里任务被阻塞或由于其他原因暂停,或者任务的时间片用完了,它会被送到就绪队列的末尾,然后调度器再执行当前队列的第一个任务。这种算法的优点是各个就绪任务都平均地分配使用CPU的时间,每个就绪任务都能一直保持着活动性。时间片轮转法有一个默认前提,即位于就绪队列中的各个任务是同等重要的。

D、优先级算法:给每个任务都设置一个优先级。然后在任务调度的时候,在所有处于就绪状态的任务中选择

优先级最高的那个任务去运行。采用优先级调度算法的一个问题是可能会发生优先级反转(教程P285),出现任务“饥饿”现象。

(9)实时系统调度

对于RTOS调度器来说,任务之间的公平性并不是最重要的,它追求的是实时性。

A、单调速率调度算法(RMS):任务的优先级与它的周期表现为单调函数的关系,任务的周期越短,优先级越高,任务的周期越长,优先级越低。RMS假定任务是相同独立的、周期性的、任务在能够在任何位置被抢占,而实际中的系统,任务之间需要进行通信和同步,这是一种理想的调度方法,实际中并不一定存在。

B、最早期限优先法(EDF):根据任务的截止时间来确定其优先级,对于时间限期最近的任务,分配最高的优先级。当有一个新的任务处于就绪状态时,各个任务的优先级就有可能要进行调整,选择截止时间最近的任务去运行。

(10)任务互斥

A、任务之间的关系:相互独立、任务互斥、任务同步、任务通信。

B、任务间的互斥:当前已经有一个任务正在访问临界区共享数据,那么其他任务暂时不能访问。

C、提出互斥访问的四个条件:

a、在任何时候最多只能有一个任务位于它的临界区中。

b、不能事先假定CPU的个数和系统的运行速度。

c、没有任务位于它的临界区中,它不妨碍其他任务去访问临界区资源。

d、任何一个任务进入临界区的请求必须在有限的时间内得到满足,不能无限期。

D、任务互斥的解决方案:

a、关闭中断法

b、繁忙等待法

c、信号量处理

(11)信号量

信号量记录当前可用资源的数量。

信号量由操作系统维护,任务不能直接去修改它的值,只能通过初始化和两个标准原语(PV原语)来对它进行访问。

注:关于原语。

原语通常由若干条语句组成,用来实现某个特点的操作,并通过一段不可分割或不可中断的程序来实现其功能。原语时操作系统内核的一个组成部分,必须在内核态下执行。原语的不可中断性是通过在其执行过程中关闭中断来实现的。关键要理解PV原语的实现:

P(semaphores S)

{

--S.count; //申请一个资源

if(S.count < 0) //没有空闲资源

{

将当前任务阻塞起来,加到阻塞队列末尾,调度新的任务运行。

}

}

V(semaphores S)

{

++S.count; //释放一个资源

if(S.count <= 0) //有任务被阻塞

{

从阻塞队列中取出一个任务,把该任务改为就绪状态,插入就绪队列。

}

}

利用操作系统提供的信号量机制,可以方便、有效地实现对临界资源的互斥访问,优点有两个:

A、可以设置信号量的计数值,从而允许多个任务同时进入临界区。

B、当一个任务暂时无法进入临界区时,它会被阻塞起来,将CPU让给其他任务。

(12)任务同步

任务之间的同步可以使用信号量机制,通过引入PV操作来设定两个任务在运行时的先后顺序。例如,可以把信号量视为某个共享资源的当前个数,然后由一个任务负责生成这种资源,而另一个任务则负责消费这种资源,这样可以构成两个任务之间的先后顺序。在具体实现上,一般把信号量的初始值设为N,N大于或等于0。然后在一个任务内使用V原语,把信号量加1,而在另外一个任务内部使用P原语,将信号量减1,从而实现这两个任务之间的同步关系。

(13)死锁

在一组任务中,每个任务都占用着若干资源,同时又在等待其他任务占用的资源,从而造成所有任务都无法进展下去的现象,这称为死锁现象。

除了资源的竞争之外,PV操作使用不当也会引起死锁。

(14)信号

所谓信号,是系统给任务的一个指示,表明某个异步事件已经发生了。

该事件可能来自外部,也可能来自内部。

信号机制也可以称为软中断机制。

信号机制与中断处理机制非常相似,相同点:

A、都具有中断性。

B、都有相应的服务程序。

C、都可以屏蔽响应。

不同点:

A、中断由硬件或特定指令产生,而信号由系统调用产生。

B、中断触发后,硬件会根据中断向量找到相应的处理程序执行;而信号则通过发送信号的系统调用来触发,

系统不一定马上对它进行处理。

C、中断处理程序在系统内核的上下文中运行,是全局的;而信号处理程序在相关任务的上下文中运行,是任

务的一个组成部分。

(15)任务间通信

任务之间的通信可以分为两种类型:

A、低级通信:只能传递状态和整数值等控制信息,例如信号量机制。

B、高级通信:能够传输任意数量的数据,只要有三类:共享内存、消息传递和管道。

任务之间的通信方式有两种:

A、直接通信:通信双方必须明确知道与之通信的对象。例如PV原语。

B、间接通信:通信双方不需指出消息的来源和去向,通过共享邮箱发送和接收消息。

邮箱只能存放单条消息,它提供一种低开销的消息传递机制,只有空和满两种状态。消息队列与邮箱类似,但是可以同时存放若干条消息,提供了一种任务间缓冲通信的方法。

管道由UNIX首创,以文件系统为基础,连接两个任务之间的一个打开的共享文件,专用于任务直接的数据通信。

4、存储管理

见《嵌入式系统设计师考试复习笔记之存储管理篇》。

5、设备管理

(1)设备管理基础

一个I/O单元通常由两个部分组成:

A、机械部分:I/O设备本身。

B、电子部分:设备控制器或设备适配器。

硬件寄存器的编址方式有三种:

A、I/O独立编址:对于各种设备控制器中的每一个寄存器,分配一个唯一的I/O端口编号,也叫I/O端口地址,然后用专门的I/O指令对这些端口进行操作。这些端口地址构成的地址空间是完全独立的,与内存地址空间没有任何关系。

B、内存映象编址:把各种设备控制器当中的每一个寄存器都映射为一个内存单元,这内存单元专门用于I/O 操作。端口地址空间与内存地址空间是统一编址的,端口地址空间是内存地址空间的一部分。

C、混合编址:对于设备控制器当中的寄存器采用独立编址的方法,每个寄存器有一个独立的I/O端口地址;而对于设备的数据缓冲区,则采用内存映象编址的方法,把他们统一到内存地址空间当中。

(2)I/O控制方式:

A、程序循环检测:要一直占用CPU,浪费CPU的时间。

B、中断驱动方式:前后台系统。

C、直接内存访问:DMA控制,减少了中断的次数。

(3)I/O软件

A、中断处理程序:当一个用户程序需要某种I/O服务时,它会去调用相应的系统函数,而这个函数又会去调用相应的设备驱动程序,在驱动程序中会启动相应的I/O操作,并且被阻塞起来,直到这个I/O操作完成后,产生一个中断程序,并跳到相应的中断处理程序,在这里将会唤醒被阻塞的驱动程序。

B设备驱动程序:直接同I/O设备打交道,直接对它们进行控制的软件模块。上层的I/O软件通过抽象的函数接口与设备驱动程序打交道,这些接口是标准的、稳定不变的,而硬件设备的具体细节被封装在设备驱动程序里面。设备驱动程序的管理通过驱动程序地址表来实现。驱动程序表中存放了各个设备驱动程序的入口地址,可以通过此表来实现设备驱动的动态安装与卸载。

C、设备独立I/O软件:这部分软件在设备驱动程序的上面,是独立的I/O软件,也是系统内核的一部分,主要任务是实现所有设备都需要的一些通用I/O功能,并向用户级的软件提供一个统一的访问接口。

D、用户空间的I/O软件:大部分的I/O软件都是包含在操作系统当中的,也有一小部分运行在系统内核之外。主要可以分为下面两种:

a、与用户程序进行链接的库函数:例如C语言中与I/O相关的库函数。

b、完全运行在用户空间当中的程序:例如Spooling技术。

注:Spooling技术

Spooling是“外围设备联机操作”的所写,spooling技术也叫假脱机技术或虚拟设备技术,它可以把一个独占的设备转变为具有共享特征的虚拟设备。在多道系统中,对于一个独占设备,专门利用一道程序来增强该设备的I/O功能。优点有二:能提供高速的虚拟I/O服务;能实现对独占设备的共享。

6、文件系统

(1)嵌入式文件系统概述

文件系统就是操作系统中用以组织、存储、命名、使用和保护文件的一套管理机制。

常见的嵌入式文件系统有:

A、 FAT:VxWorks、QNX、Windows CE等

B、 NFS:网络文件系统,基于远程调用和扩展数据表示。

C、 FFS:用于Flash存储器的文件系统。

(2)文件和目录

A、当一个文件被创建时,必须给它指定一个名字,用户就是通过文件名来访问这个文件的。

B、文件命是一个有限长度的字符串,由两部分组成:文件名和扩展名。

C、文件的逻辑结构主要有三种:无结构、简单的记录结构和复杂结构。现代文件系统通常采用的是无结构的形式。

D、除了文件名之外,操作系统会给每个文件附加一些其他信息,称为文件的属性。

E、文件的存取方法有两种:顺序存取和随机存取。

F、目录也称为文件夹,它是一张表格,记录了在该目录下每个文件名和其他的一些管理信息。

G、在多级目录结构中,访问文件或目录主要有两种方法:绝对路径名和相对路径名。

(3)文件系统的实现

A、数据块:在磁盘中以扇区为单元进行读写操作。对文件系统而言,把磁盘空间划分为一个个大小相同的块,称为物理块,每个物理块包含若干个连续的扇区,同时把文件的字节流也分成大小相同的逻辑块。在文件系统内部,以块为单位来进行操作,把每一个逻辑块保存在一个物理块中。

B、文件的实现需要解决两个方面的问题:

a、如何描述一个文件。

b、如何存储一个文件。

C、文件控制块(FCB):它是文件的描述方法,是操作系统为了管理文件而设置的一种数据结构,里面存放了与文件有关的所有管理信息,FCB是文件存在的标志。

D、文件的物理结构:连续结构、链表结构和索引结构。

连续结构:把文件的各个逻辑块按照顺序存放在若干个连续的物理块当中。主要用于CD-ROM等一次性写入的光学存储介质当中。

链表结构:把文件的各个逻辑块依次存放在若干个物理块当中,这些物理块既可以是连续的,也可以是不连续的,然后在各个块之间通过指针连接起来,前一个物理块指向下一个物理块,从而形成一条链表。

带有文件分配表的链表结构:在链表结构的基础上,把每一个物理块当中的链表指针抽取出来,单独组成一个表格,就是文件分配表(FAT)。如果要随机访问文件的地n个逻辑块,可以先从FAT表中查到相应的物理块地址,然后根据这个地址直接去访问磁盘。

索引结构:把文件当中每一个逻辑块所对应的物理块编号直接记录在这个文件的文件控制块当中,这样的文件控制块称为是I节点,或索引节点。这样,对于系统中的每一个文件,都有一个自己的索引节点,通过这个索引节点就能够直接实现逻辑块与物理块之间的映射关系。

(4)目录的实现

A、直接法:把文件控制块的内容直接保存在目录项当中,因此每个目录项就等于某个文件名加上它的FCB。

B、间接法:目录项里面只有文件名和该文件的FCB所在地址。

不管是那一种类型的实现方法,目录的基本功能都一样,即用户给出一个文件名,就返回相应文件的FCB。(5)空闲空间管理方法:

A、位图法。

B、链表法。

C、索引法。

三、真题解析

(1)2007年21、22题

某系统中有四种互斥资源R1、R2、R3和R4,可用资源数分别为3、5、6和8。假设在T

时刻有P1、P2、P3和P4 四

个进程,并且这些进程对资源的最大需求量和已分配资源数如下表所示,那么在T

时刻系统中R1、R2、R3和R4

的剩余资源数分别为(21)。如果从T

时刻开始进程按(22)顺序逐个调度执行,那么系统状态是安

全的。

(21)A. 3、5、6和8 B. 3、4、2和2

C. 0、1、2和1

D. 0、1、0和1

(22)A. P1→P2→P4→P3 B. P2→P1→P4→P3

C. P3→P2→P1→P4

D. P4→P2→P3→P1

<解析>:D、C

考查操作系统中进程(任务)管理中死锁检测的多项资源银行家算法。

由于T0时刻已用资源数为3、4、6和7,故剩余资源数为0、1、0、和1。

P1、P2、P3、P4四个进程中,系统只能满足P3的需求资源数:

现在P3的需求量是:1、2、1、1,尚需要的资源数是:0、1、0、1,。

现在剩余的资源数是0、1、0、1,刚好能满足P3的需求,能保证P3运行完。

P3运行结束释放资源后,系统的可用资源为:1、2、1、1

此时P2尚需要的资源为:1、0、0、0,系统能满足P2的请求,故P2能运行完。

P2运行结束释放资源后,系统的可用资源为:1、3、3、3。

此时P1尚需要资源为:0、1、1、2,P4尚需要的资源为0、0、1、2。

系统能满足P1和P4的请求,故P1和P4能运行完。

因此,进程可以按P3→P2→P1→P4或P3→P2→P4→P1的顺序执行。

(2)2007年29、30、31题

考查嵌入式存储系统硬件方面的基础知识。

见《嵌入式系统设计师考试复习笔记之存储管理篇》。

(3)2007年37题

下面(37)不属于嵌入式系统中的进程状态。

(37)A. 运行状态 B. 就绪状态 C. 开关状态 D. 等待状态

<解析>:C

考查嵌入式操作系统的基础知识。

见复习笔记2嵌入式操作系统概述(6)。

(4)2007年38题

下面(38)不是操作系统中调度程序所采用的调度算法。

(38)A. 先来先服务(FCFS) B. 先进先出(FIFO)

C. 时间片轮转调度

D. 优先级调度

<解析>:B

考查嵌入式操作系统中进程调度算法的基础知识。

见复习笔记2嵌入式操作系统概述(8)。

(5)2007年39题

在操作系统中,Spooling技术是用一类物理设备模拟另一类物理设备的技术,实现这种技术的功能模块称做(39)。

(39)A. 可林斯系统 B. 斯普林系统

C. 图灵机系统

D. 虚拟存储系统

<解析>:B

考查嵌入式操作系统的基础知识。

见复习笔记5设备管理(3)注。

在操作系统中,Spooling技术是用一种物理设备模拟另一种物理设备技术,是使独占设备变成共享设备的技术,也就是一种速度匹配技术,根据Spooling的读音,实现这种技术的功能模块称作斯普林系统。

(6)2007年40题

在操作系统中,除赋初值外,对信号量仅能操作的两种原语是(40)。

(40)A. 存操作、取操作 B. 读操作、写操作

C. P操作、V操作

D. 输入操作、输出操作

<解析>:C

考查嵌入式操作系统中PV原语。

见复习笔记2嵌入式操作系统概述(11)注。

P操作表示申请一个资源,V操作表示释放一个资源。

(7)2007年41题

考查嵌入式存储系统中虚拟存储技术方面的基础知识。

见《嵌入式系统设计师考试复习笔记之存储管理篇》。

(8)2007年42题

下面(42)特性不符合嵌入式操作系统特点。

(42)A. 实时性 B. 不可定制 C. 微型化 D. 易移植

<解析>:B

考查嵌入式操作系统的基础知识。

太简单了,常识性的问题。

(9)2007年43题

在并行环境中的某些任务必须协调自己的运行速度,以保证各自的某些关键语句按照某种事先规定的次序执行,这种现象被称为任务的(43)。

(43)A. 执行 B. 互斥 C. 调度 D. 同步

<解析>:D

考查嵌入式操作系统的任务同步方面的基础知识。

见复习笔记2嵌入式操作系统概述(12)。

(10)2007年44题

关于文件系统,下列叙述中不正确的是(44)。

(44)A. 负责文件的组织、存储、检索、命名、共享和保护

B. 提供描述文件抽象的程序接口

C. 文件存储在磁盘或其他不易失的存储介质上

D. 程序员需要关心文件存储分配和存储布局的细节

<解析>:D

考查嵌入式操作系统的文件系统方面的基础知识。

见复习笔记6文件系统。

文件系统负责文件的组织、存储、检索、命名、共享和保护,并为程序员提供描述文件描述的程序接口,程序员不需要关心文件存储分配和存储局部的细节,通过程序接口即可实现对文件的操作。

(11)2007年45题

Linux系统中的设备可分为三类:字符设备、块设备和网络设备,其中不是基于文件系统访问的设备是(45)。(45)A. 字符设备 B. 块设备 C. 网络设备 D. 字符和块设备

<解析>:C

考查嵌入式操作系统的文件系统方面的基础知识。

嵌入式系统原理与应用复习知识点总结

第一章 1、嵌入式系统的应用范围:军事国防、消费电子、信息家电、网络通信、工业 控制。 2、嵌入式系统定义:嵌入式系统是以应用为中心,以计算机技术为基础,软件 与硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专 用计算机系统。(嵌入式的三要素:嵌入型、专用性与计算机系统)。 3、嵌入式系统的特点:1)专用性强;2)实时约束;3)RTOS;4)高可靠性;5) 低功耗;6)专用的开发工具和开发环境;7)系统精简; 4、嵌入式系统的组成: (1)处理器:MCU、MPU、DSP、SOC; (2)外围接口及设备:存储器、通信接口、I/O 接口、输入输出设备、电源等;(3)嵌入式操作系统:windows CE、UCLinux、Vxworks、UC/OS; (4)应用软件:Bootloader 5、嵌入式系统的硬件:嵌入式微处理器(MCU、MPU、DSP、SOC),外围电路, 外部设备; 嵌入式系统的软件:无操作系统(NOSES),小型操作系统软件(SOSE)S,大型 操作系统软件(LOSES)注:ARM 处理器三大部件:ALU、控制器、寄存器。 6、嵌入式处理器特点:(1)实时多任务;(2)结构可扩展;(3)很强的存储区 保护功能;(4)低功耗; 7、DSP处理器两种工作方式:(1)经过单片机的DSP可单独构成处理器;(2) 作为协处理器,具有单片机功能和数字处理功能; 第二章 1、IP核分类:软核、固核、硬核; 2、ARM 处理器系列:(1)ARM7系列(三级流水,thumb 指令集,ARM7TDMI); (2)ARM9系列(DSP处理能力,ARM920T)(3)ARM/OE(增强DSP)(4)SecurCone 系列(提供解密安全方案);(5)StrongARM系列(Zntle 产权);(6)XScale系列(Intel 产权);(7)Cortex 系列(A:性能密集型;R:要求实时性;M:要求低 成本) 3、ARM 系列的变量后缀:(1)T:thumb 指令集;(2)D:JTAG调试器;(3)快

嵌入式系统设计题库

一、单项选择题 1、在CPU和物理内存之间进行地址转换时,(B )将地址从虚拟(逻辑)地址空间映射到物理地址空间。 A.TCB B.MMU C.CACHE D.DMA 2、进程有三种状态:(C )。 A.准备态、执行态和退出态B.精确态、模糊态和随机态 C.运行态、就绪态和等待态D.手工态、自动态和自由态 3、以下叙述中正确的是(C )。 A.宿主机与目标机之间只需要建立逻辑连接即可 B.在嵌入式系统中,调试器与被调试程序一般位于同一台机器上 C.在嵌入式系统开发中,通常采用的是交叉编译器 D.宿主机与目标机之间的通信方式只有串口和并口两种 4、中断向量是指(C )。 A.中断断点的地址B.中断向量表起始地址 C.中断处理程序入口地址D.中断返回地址 5、在微型计算机中,采用中断方式的优点之一是(C )。 A.简单且容易实现B.CPU可以不工作 C.可实时响应突发事件D.传送速度最快 6、在ARM处理器中,(A )寄存器包括全局的中断禁止位,控制中断禁止位就可以打开或者关闭中断。 A.CPSR B.SPSR C.PC D.IR 7、嵌入式系统的三要素下面哪一个不是:(B )。 A、嵌入 B、存储器 C、专用 D、计算机 8、若R1=2000H,(2000H)=0x28,(2008H)=0x87,则执行指令LDR R0,[R1,#8]!后R0的值为()。 A、0x2000 B、0x28 C、0x2008 D、0x87 9、μCOS-II操作系统属于(B )。 A、顺序执行系统 B、占先式实时操作系统 C、非占先式实时操作系统 D、分时操作系统 10、ARM寄存器组有( C )个状态寄存器。 A、7 B、32 C、6 D、37 11、C++源程序文件的默认扩展名为(A )。 A、cpp B、exe C、obj D、lik 12、与十进制数254等值的二进制数是(A )。 A、B、 C、D、

嵌入式系统设计师练习题及答案解析

嵌入式系统设计师练习题及答案第一套 (1) 嵌入式系统设计师练习题及答案第二套 (5) 嵌入式系统设计师练习题及答案第三套 (16) 嵌入式系统设计师练习题及答案解析第四套 (27) 嵌入式系统设计师练习题及答案解析第五套 (45) 嵌入式系统设计师练习题及答案解析第六套 (59) 嵌入式系统设计师练习题及答案解析第七套 (67) 嵌入式系统设计师练习题及答案解析第八套 (75) 嵌入式系统设计师练习题及答案解析第九套 (81) 嵌入式系统设计师练习题及答案解析第十套 (90) 嵌入式系统设计师练习题及答案解析第十一套 (99) 嵌入式系统设计师练习题及答案解析第十二套 (106) 嵌入式系统设计师练习题及答案解析第十三套 (115) 嵌入式系统设计师练习题及答案解析第十四套 (126) 嵌入式系统设计师练习题及答案解析第十五套 (139) 嵌入式系统设计师练习题及答案解析第十六套 (154) 嵌入式系统设计师练习题及答案解析第十七套 (161) 嵌入式系统设计师练习题及答案解析第十八套 (169) 嵌入式系统设计师练习题及答案解析第十九套 (177) 嵌入式系统设计师练习题及答案解析第二十套 (189) 嵌入式系统设计师练习题及答案解析第二十一套 (199) 嵌入式系统设计师练习题及答案解析第二十二套 (212) 嵌入式系统设计师练习题及答案第一套 1、以下关于CPU的叙述中,错误的是 A.CPU产生每条指令的操作信号并将操作信号送往相应的部件进行控制

B.程序计数器PC除了存放指令地址,也可以临时存储算术/逻辑运算结果 C.CPU中的控制器决定计算机运行过程的自动化 D.指令译码器是CPU控制器中的部件 2、以下关于Cache的叙述中,正确的是 A.在容量确定的情况下,替换算法的时间复杂度是影响Cache命中率的关键因素 B.Cache的设计思想是在合理成本下提高命中率 C.Cache的设计目标是容量尽可能与主存容量相等 D.CPU中的Cache容量应大于cPu之外的Cache容量 3、风险预测从两个方面评估风险,即风险发生的可能性以及 A.风险产生的原因 B.风险监控技术 C.风险能否消除 D.风险发生所产生的后果 4、许多程序设计语言规定,程序中的数据都必须具有类型,其作用不包括 A.便于为数据合理分配存储单元 B.便于对参与表达式计算的数据对象进行检查 C.便于定义动态数据结构 D.使于规定数据对象的取值范围及能够进行的运算 5、在计算机系统中,对程序员是透明的。 A.磁盘存储器 B.高速缓存 C.RAM存储器 D.flash存储器

南工大ARM嵌入式系统参考复习题1教程文件

南工大A R M嵌入式系统参考复习题1

ARM嵌入式系统设计参考复习题(2017-11) 主要知识点: 第一章 1.嵌入式系统: “以应用为中心,以计算机技术为基础,软硬件可裁减,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统” 根据应用的要求,沿着“体积小、低功耗、高可靠”方向发展,对运算速度、存储容量没有统一要求。三要素:嵌入、专用、计算机。 2.嵌入式系统有哪些部分组成? 一般由硬件层,中间层(HAL或BSP)和软件层组成。 粗略划分:嵌入式处理器、外围设备、嵌入式操作系统(可选)、嵌入式应用软件 稍细划分:嵌入式处理器、外围设备、驱动程序、嵌入式操作系统、应用接口、嵌入式应用软件 3.嵌入式系统特点:①系统内核小②专用性强③系统精简④高实时性。 4.嵌入式处理器的分类: 嵌入式微处理器(MPU):就是和通用计算机的处理器对应的CPU,可以认为是“增强型”通用微处理器。 嵌入式微控制器(MCU):就是将整个计算机系统的主要硬件集成到一块芯片中,芯片内部集成ROM/EPROM、RAM、总线,总线逻辑、定时/计数器、Watchdog、I/O、串行口、A/D等各种必要功能和外设。 嵌入式DSP处理器(DSP):是专门用于信号处理方面的处理器,在系统结构和指令算法方面进行了特殊设计,具有很高的编译效率和指令执行速度。 嵌入式片上系统(SOC):是追求产品系统最大包容的集成器件。绝大多数系统构件都在一个系统芯片内部。 第二章 1. ARM:是Advance RISC Machine 的缩写,既可以认为是一个公司的名字,也可以认为是对一类微处理器的通称,还可以认为是一种技术的名字。 2. 在ARM9TDMI中“9TDMI”的含义: 9:采用版本为9的ARM微处理器 T:支持16为压缩指令集Thumb,D:支持片上Debug,称为D变种 M:内嵌硬件乘法器 Multiplier,称为M变种 I:嵌入式ICE,支持片上断点和调试,称为I变种。 3. ARM Cortex-A8处理器的三种工作状态: ARM状态,处理器执行32位的字对齐的ARM指令;Thumb状态:处理器执行16位的半字对齐的Thumb指令和ThumbEE状态:执行16位的半字对齐的Thumb指令集变种。 8种工作模式:用户模式(usr)、快速中断模式(fiq)、外部中断模式(irq)、管理模式(svc)、中止模式(abt)、未定义模式(und)、系统模式(sys)和监控模式(mon)。特权模式:除usr之外的其它的7种工作模式都是特权模式。异常模式:除usr和sys之外的其它的6种工作模式都是持权模式。 4. ARM A8寄存器分成哪几类?各类有哪些寄存器?寄存器LR有什么用途? 分两类:33个通用寄存器和7 个状态寄存器。 33个通用寄存器:R0~R15;R13_svc、R14_svc;R13_abt、R14_abt;R13_und、R14_und;R13_irq、R14_irq;R8_fiq-R14_fiq、R13_mon、R14_mon;。7 个状态寄存器:CPSR;SPSR_svc、SPSR_abt、SPSR_und、SPSR_irq、SPSR_fiq和 SPSR_mon。 LR (R14):也称作子程序链接寄存器或链接寄存器LR,当执行BL子程序调用指令时,R14中得到R15(程序计数器PC)的备份。其他情况下,R14用作通用寄存器。与之类似,当发生中断或异常时,对应的分组寄存器R14_svc、R14_irq、 R14_fiq、R14_abt、R14_und和R14_mon用来保存R15的返回值。 5.CPSR各位是意义:

嵌入式系统设计与开发试卷

一、选择题(共30分,每题2分) 1.嵌入式处理器指令的执行周期包括() A.启动、运行、退出 B.取指令、指令译码、执行指令、存储 C.启动、运行、挂起、退出 D.取指令、指令译码、执行指令 2.下列不属于嵌入设计处理器本身带有的基本接口是() A.串口; B.并口; C.PCIE; D.AD/DA; 3.以下几个步骤是DMA控制过程的主要节点,请选出正确的DMA控制流程(请求信号HRQ)为() A. CPU让出总线控制权(响应信号HLDA) B. DMA控制器向CPU请求总线使用权 C. DMA控制器控制总线,发总线命令、传送数据 D. DMA总线控制器归还总线控制权 5. CPU重新获取总线控制权 A. 2,1,3,4; B. 1,2,3,4; C. 3,1,4,2; D. 3,4,1,2; 4、一个嵌入式系统可以含有多个总线,以下不属于IO总线的为() A.AGP; B.PCI; C.AHB; D.ISA 5.VHDL是() A.硬件描述语言 B.软件描述语言 C.构件描述语言 D.软件开发工具 6.以下不属于mC/OS-II中支持的中断类型的是() A.硬件中断 B.外部中断 C.陷井中断 D.临界区中断 7.将系统启动代码读入内存是()的主要职责 A.内存管理; B. VFS; C.Boot Loader;D:虚拟内存 8.CAN总线是指()

A.控制器局域网 B.网络传输协议 C.数据标准 D.软硬件接口 9.属于LCD三种显示方式的是() A.投射型、反射型、透射型 B.投射型、透反射型、透射型 C.反射型、透射型、透反射型 D.投射型、反射型、透反射型 10.操作系统内核是指() A.操作系统的调度部分 B.操作系统的驱动 C.操作系统的存储管理 D.操作系统的核心部分 11.ICE在线仿真器上有大量的RAM,()是主要的一种 A SRAM B DRAM C Block RAM D 影子RAM 12.下面是PowerPC架构嵌入式微处理器的不是主要特点是() A.独特的分支出来单元可以让指令预期效率大大提高。 B.超标量的设计。 C.适合大量向量运算,指针现行寻址的智能化算法。 D.可处理“字节非对齐”的数据存储。 13.下列选项中,不是实时操作系统必须满足的条件是() A.具有可抢占的内核 B.中断可嵌套 C.任务调度的公平性 D.具有优先级翻转保护 14.BSP作为一种嵌入式软件,他的主要特点是() A:与硬件无关,与操作系统有关 B:与硬件和操作系统都相关 C:与硬件有关,与操作系统无关D:与操作系统和硬件都无关 15.JTAG的引脚TCK的主要功能是() A.测试时钟输入; B.测试数据输入,数据通过TDI输入JTAG口; C.测试数据输出,数据通过TDO从JTAG口输出; D.测试模式选择,TMS用来设置JTAG口处于某种特定的测试模式。 二、判断题(每题2分,共20分) ( )1.嵌入式系统调试通常可以分为硬件级调试和在线仿真器调试。

嵌入式系统开发技术常考重点知识点汇总(2018年全国计算机等级考试三级教程)

2018年全国计算机等级考试三级教程嵌入式系统开发技术 常考重点知识点汇总 作者:LightoDeng 吉林大学2018年8月19日 第一章 嵌入式系统概论 1.1嵌入式系统的定义、特点、分类,以及嵌入式系统的逻辑组成。 定义:嵌入式系统是以应用为中心,及计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗等多种约束的专用计算机系统。 (1)6个特点: 专用性 隐蔽性(嵌入式系统是被包装在内部) 资源受限(要求小型化、轻型化、低功耗及低成本,因此软硬件资源受到限制) 高可靠性(任何误动作都可能会产生致命的后果) 软件固化(软件都固化在只读存储器ROM中,用户不能随意更改其程序功能) 实时性 (2)逻辑组成:硬件(CPU、存储器、I/O设备及I/O接口、数据总线)+软件 1)处理器(运算器、控制器、寄存器、高速缓冲存储器Cache) 目前所有的处理器都是微处理器 嵌入式系统可包含多个处理器,中央处理器(CPU)和协助处理器(数字信号 处理器DSP、图像处理器、通信处理器) 现在嵌入式系统中使用最多的还是8位和16位的CPU,但32位和64位是技 术发展的主流 2)存储器(随机存储器RAM和只读存储器ROM) 3)I/O设备与I/O接口 4)数据总线 5)软件 (3)分类 按嵌入式系统的软硬件技术复杂程度进行分类: 低端系统 采用4位或8位单片机,在工控领域和白色家电领域占主导地位,如计算器、遥控器、充电器、空调、传真机、BP机等。

中端系统 采用8位/16位/32位单片机,主要用于普通手机、摄像机、录像机、电子游戏机等。 高端系统 采用32位/64位单片机,主要用于智能手机、调制解调器、掌上计算机、路由器、数码相机等。 1.2嵌入式处理芯片 嵌入式处理芯片有4种产品类型:微处理器、数字信号处理器、微控制器、片上系统 微处理器 比较笨重,常用于工业控制领域 数字信号处理器(DSP):专用于数字信号处理的微处理器,使用哈佛结构存储器,支持单指令多数据并行处理(SIMD)的特殊指令 微控制器(单片机MCU):相比于微处理器,集成度更高,体积小,功耗低 片上系统(SoC):系统级芯片,半导体加工工艺进入深微纳米时代。SoC将嵌入式系统的几乎全部功能都集中到一块芯片上,单个芯片就能实现数据的采集、转换、存储、处理和输入输出等多种功能。 1.3S O C芯片 (1)微电子技术 1)集成电路的分类: 大规模集成电路LSI,超大规模集成电路VLSI,极大规模集成电路ULS 嵌入式处理芯片大多属于VLSI和ULSI 2)集成电路制作工艺 集成电路的制造大约需要几百道工序,工艺复杂且技术难度非常高。集成电路是在硅衬底上制作而成的。硅衬底是将单晶硅锭经切割、研磨和抛光后制成的像镜面一样光滑的圆形薄片,它的厚度不足1mm,其直径可以是6、8、12英寸甚至更大这种硅片称为硅抛光片,用于集成电路的制造。 制造集成电路的工艺技术称为硅平面工艺,包括氧化、光刻、掺杂等多项工序。把这些工序反复交叉使用,最终在硅片上制成包含多层电路及电子元件的集成电路。 集成电路的特点:体积小、重量轻、可靠性高。其工作速度主要取决于逻辑门电路的晶体管的尺寸。尺寸越小,工作频率就越高,门电路的开关速度就越快。 摩尔定律:单块集成电路的集成度平均每18~24个月翻一番 (2)通用SoC和专用SoC 通用SoC 半导体企业通过自主开发处理器内核或购买其他企业的处理器内核的IP授权,按照目标领域功能要求所开发的SoC芯片系列 专用SoC 嵌入式系统开发商依据待开发产品的特殊要求,向半导体企业定制的SoC芯片。为委托方所专有,无法在市场采购到。如苹果公司的系列芯片。 (3)开发流程 1)总体设计可以采用系统设计语言System C(或称IEEE 1666,它是C++的扩充)或System Vetilog语言对SoC芯片的软硬件作统一的描述,按照系统需求说明书确定SoC的性能能参数,并据此进行系统全局的设计。

《网页设计与制作》期末测验试题及答案

《网页设计与制作》期末测验试题及答案

————————————————————————————————作者:————————————————————————————————日期:

《网页设计与制作》期末考试试题 一、单项选择题(本大题共30小题,每小题2分,共60分) 1、目前在Internet上应用最为广泛的服务是( )。 A、FTP服务 B、WWW服务 C、Telnet服务 D、Gopher服务 2、域名系统DNS的含义是( )。 A、Direct Network System B、Domain Name Service C、Dynamic Network System D、Distributed Network Service 3、主机域名center. nbu. edu. cn由四个子域组成,其中( )子域代表国别代码。 A、center B、nbu C、edu D、cn 4、当阅读来自港澳台地区站点的页面文档时,应使用的正确文本编码格式是( )。 A、GB码(简体中文)国家标准代码,简称国标码,“GB”在计算机领域中常常表示GB 2312-80或GB 18030-2005。两者是汉语编码系统的标准,在中国大陆和新加坡用于简体中文 B、Unicode码(统一码) Unicode只有一个字符集,中、日、韩的三种文字占用了Unicode中0x3000到0x9FFF的部分Unicode目前普遍采用的是UCS-2,它用两个字节来编码一个字符,比如汉字"经"的编码是0x7ECF,注意字符码一般用十六进制来表示,为了与十进制区分,十六进制以0x开头,0x7ECF转换成十进制就是32463,UCS-2用两个字节来编码字符,两个字节就是16位二进制,2的16次方等于65536,所以UCS-2最多能编码65536个字符。编码从0到127的字符与ASCII编码的字符一样,比如字母"a"的Unicode 编码是0x0061,十进制是97,而"a"的ASCII编码是0x61,十进制也是97, 对于汉字的编码,事实上Unicode对汉字支持不怎么好,这也是没办法的,简体和繁体总共有六七万个汉字,而UCS-2最多能表示65536个,才六万多个,所以Unicode只能排除一些几乎不用的汉字,好在常用的简体汉字也不过七千多个,为了能表示所有汉字,Unicode 也有UCS-4规范,就是用4个字节来编码字符 C、BIG5码(大五码) 是通行于台湾、香港地区的一个繁体字编码方案。地区标准号为:CNS11643,这就是人们讲的BIG-5码。VimIM在Vim环境中,可以直接键入十进制或十六进制Big5码。既不需要启动输入法,也不需要码表。 D、HZ码(简体中文) HZ编码是海外华人创造的一种将含有高位为1 的汉字双字节字串转换成易于在网络中传输的ASCII字符串的变换方式。编码过程中,被转换字符串中的原汉字子字符串各字节高位作清零处理,使之成为ASCII子字符串,并在其前后两端分别添加~{ 和~} 作为标记;而对于原ASCII子字符串,则将其中的~ 改写为~~,其余字符不变。 5、当标记的TYPE属性值为( )时,代表一个可选多项的复选框。 A、TEXT B、PASSWORD C、RADIO 单选框 D、CHECKBOX 6、为了标识一个HTML文件开始应该使用的HTML标记是( )。 A、

表格 B、 C、 D、超链接 7、在客户端网页脚本语言中最为通用的是( )。 A、javascript B、VB C、Perl D、ASP 8、在HTML中,标记的Size属性最大取值可以是( )。 A、5 B、6 C、7 D、8 9、在HTML中,单元格的标记是( )。 A、 代表HTML表格中的一行 D、 10、在DHTML中把整个文档的各个元素作为对象处理的技术是( )。 A、HTML B、CSS C、DOM D、Script(脚本语言) 11、下面不属于CSS插入形式的是( )。 A、索引式 B、内联式 C、嵌入式 D、外部式 12、在网页中最为常用的两种图像格式是( )。 A、JPEG和GIF B、JPEG和PSD C、GIF和BMP D、BMP和PSD

(完整版)通用PC系统与嵌入式系统的区别.doc

通用 PC系统与嵌入式系统的区别.txt精神失常的疯子不可怕,可怕的是精神正常的疯子! 一什么是嵌入式系统 嵌入式系统一般指非 pc 系统,有计算机功能但又不称之为计算机的设备或器材。它是以应用 为中心,软硬件可裁减的,适应应用系统对功能、可靠性、成本、体积、功耗等综合性严格 要求的专用计算机系统。简单地说,嵌入式系统集系统的应用软件与硬件于一体,类似于pc 中 bios 的工作方式,具有软件代码小、高度自动化、响应速度快等特点,特别适合于要 求实时和多任务的体系。嵌入式系统主要由嵌入式处理器、相关支撑硬件、嵌入式操作系统 及应用软件系统等组成,它是可独立工作的“器件”。 嵌入式系统几乎包括了生活中的所有电器设备,如掌上pda、移动计算设备、电视机顶盒、 手机上网、数字电视、多媒体、汽车、微波炉、数字相机、家庭自动化系统、电梯、空调、安 全系统、自动售货机、蜂窝式电话、消费电子设备、工业自动化仪表与医疗仪器等。 嵌入式系统的硬件部分,包括处理器 / 微处理器、存储器及外设器件和 i/o 端口、图形控制器等。嵌 入式系统有别于一般的计算机处理系统,它不具备像硬盘那样大容量的存储介质,而 大多使用eprom、eeprom 或闪存 (flash memory)作为存储介质。软件部分包括操作系统软件 ( 要求实时和多任务操作 ) 和应用程序编程。应用程序控制着系统的运作和行为;而操作系统控制 着应用程序编程与硬件的交互作用。 二嵌入式处理器 嵌入式系统的核心是嵌入式微处理器。嵌入式微处理器一般具备 4 个特点: (1) 对实时和多任务有很强的支持能力,能完成多任务并且有较短的中断响应时间,从而使内部的代码和实时 操作系统的执行时间减少到最低限度;(2) 具有功能很强的存储区保护功能,这是由于嵌入 式系统的软件结构已模块化,而为了避免在软件模块之间出现错误的交叉作用,需要设计强 大的存储区保护功能,同时也有利于软件诊断;(3) 可扩展的处理器结构,以能迅速地扩展 出满足应用的高性能的嵌入式微处理器;(4) 嵌入式微处理器的功耗必须很低,尤其是用于便携式的无线及移动的计算和通信设备中靠电池供电的嵌入式系统更是如此,功耗只能为mw 甚至μ w 级。 据不完全统计,目前全世界嵌入式处理器的品种总量已经超过1000 种,流行的体系结构有 30 多个系列。其中 8051 体系占多半,生产这种单片机的半导体厂家有20 多个,共 350 多种衍生产品,仅 philips 就有近 100 种。现在几乎每个半导体制造商都生产嵌入式处理器,越来越多的公司有自己的处理器设计部门。嵌入式处理器的寻址空间一般从64kb 到 16mb,处理速度为 0.1~2000mips ,常用封装 8~144 个引脚。 根据现状,嵌入式计算机可分成下面几类: (1) 嵌入式微处理器(embedded microprocessor unit, empu) 嵌入式微处理器采用“增强型”通用微处理器。由于嵌入式系统通常应用于环境比较恶劣的 环境中,因而嵌入式微处理器在工作温度、电磁兼容性以及可靠性方面的要求较通用的标准 微处理器高。但是,嵌入式微处理器在功能方面与标准的微处理器基本上是一样的。根据实

(完整word版)计算机三级嵌入式知识点(2),推荐文档

计算机三级嵌入式考试知识点整理 (计算机三级嵌入式考试只考选择题和填空题) 1.嵌入式系统的设计的三个阶段之一:1. 设计 2.实现 3.测试 2.RISC架构的ARM微处理器的一般特点:1. 体积小、低功耗 2.大量使用寄 存器3. 寻址方式灵活简 3.通常所讲的交叉编译就是在X86架构的宿主机上生成适用于ARM架构的格式 (elf)的可执行代码 4.Boot Loader阶段1所完成的步骤的是:1. 硬件设备初始化 2. 拷贝 Boot Loader的阶段2到RAM空间中3. 设置堆栈 5.ARM的7种运行状态之一:1. 快中断状态2. 中断状态3. 无定义状态4.管 理状态5.快速中断状态6.系统状态7.用户状态 6.命令可以把server的/tmp mount到client的/mnt/tmp并且是: mount-o ro server:/tmp/mnt/tmp 7.哪个GUI是由中国人主持的一个自由软件项目:MinuGUI 8.嵌入式图形用户接口(GUI)的主要特点:1. 运行时占用的系统资源少 2.模 块化结构,便于移植和定制3.可靠性高 9.RISC指令系统特点的是:1. 指令长度固定,指令种类少2.设置大量通用 寄存,访问存储器指令简单3. 选取使用频率较高的一些简单指令 10.通常所说的32位微处理器是指CPU字长为32位 11.在嵌入式软件交叉调试过程中,宿主机与目标机之间的连接与通信方式有:1. 串口2.并口3.网络4.JTAG 12.ADD R0,R1,[R2]属于寄存器间接寻址 13.ADD R0,R0,#1属于立即寻址 14.数据字越长则精度越高 15.典型的计算机系统结构是冯诺依曼体系结构 16.将传统的计算机系统芯片化,是嵌入式系统诞生后的∑发展模式发展模式 17.RISC指令系统特点的是:1. 大量使用寄存器2.采用固定长度指令格式3. 使用单周期指令4.寻址方式多 18.与通用操作系统相比嵌入式操作系统还必须具有的特点是:1. 强稳定性, 弱交互性2. 较强实时性 19.嵌入式系统产品:1. PDA 2.ATM机 3. 机顶盒 20.开源的嵌入式操作系统的是嵌入式linux 21.虚拟文件系统的是vfs 22.嵌入式系统通常执行特定功能 23.在嵌入式产品需求分析阶段完成的任务是操作系统和硬件选型 24.ARM处理器异常工作模式的是1. 快速中断模式2. 未定义模式 3. 数据访问 终止模式 25..嵌入式软件开发与通用软件开发增加了代码固化环节 26.嵌入式系统调试方式中不占用系统资源的调试方式是ICE在线仿真器 27.ARM汇编程序中实现程序跳转的方式使用跳转指令 28.ADD R0,R1,[R2]中的第二操作数属于寄存器间接寻址方式 29.烧写到FLASH里的是.bin格式的文件 二、填空题 1.ARM内核有(T)(D)(M)(I)四个功能模块。

嵌入式系统基础知识总结

必读:嵌入式系统基础知识总结 2016-07-22电子发烧友网 本文主要介绍嵌入式系统的一些基础知识,希望对各位有帮助。 嵌入式系统基础 1、嵌入式系统的定义 (1)定义:以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。 (2)嵌入式系统发展的4个阶段:无操作系统阶段、简单操作系统阶段、实时操作系统阶段、面向Internet阶段。 (3)知识产权核(IP核):具有知识产权的、功能具体、接口规范、可在多个集成电路设计中重复使用的功能模块,是实现系统芯片(SOC)的基本构件。(4)IP核模块有行为、结构和物理3级不同程度的设计,对应描述功能行为的不同可以分为三类:软核、固核、硬核。 2、嵌入式系统的组成 包含:硬件层、中间层、系统软件层和应用软件层 (1)硬件层:嵌入式微处理器、存储器、通用设备接口和I/O接口。 嵌入式核心模块=微处理器+电源电路+时钟电路+存储器

Cache:位于主存和嵌入式微处理器内核之间,存放的是最近一段时间微处理器使用最多的程序代码和数据。它的主要目标是减小存储器给微处理器内核造成的存储器访问瓶颈,使处理速度更快。 (2)中间层(也称为硬件抽象层HAL或者板级支持包BSP). 它将系统上层软件和底层硬件分离开来,使系统上层软件开发人员无需关系底层硬件的具体情况,根据BSP层提供的接口开发即可。 BSP有两个特点:硬件相关性和操作系统相关性。 设计一个完整的BSP需要完成两部分工作: A、嵌入式系统的硬件初始化和BSP功能。 片级初始化:纯硬件的初始化过程,把嵌入式微处理器从上电的默认状态逐步设置成系统所要求的工作状态。 板级初始化:包含软硬件两部分在内的初始化过程,为随后的系统初始化和应用程序建立硬件和软件的运行环境。 系统级初始化:以软件为主的初始化过程,进行操作系统的初始化。 B、设计硬件相关的设备驱动。 (3)系统软件层:由RTOS、文件系统、GUI、网络系统及通用组件模块组成。RTOS是嵌入式应用软件的基础和开发平台。 (4)应用软件:由基于实时系统开发的应用程序组成。

嵌入式系统设计师 历年试题解析

嵌入式系统设计师历年试题解析 本复习题页码标注所用教材为: 嵌入式系统技术张晓林2008年10月第1版高等教育出版社 如学员使用其他版本教材,请参考相关知识点 1. 嵌入式系统调试通常可以分为硬件级调试和在线仿真器调试。 考核知识点:嵌入式系统调试,参见P47 2. 在ARM处理器中,快速中断(FIQ)的优先级高于外部中断(IRQ)。 考核知识点:ARM处理器,参见P62 3. ROM能够永久或半永久地保存数据,ROM内的数据永远不会丢失。 考核知识点:存储器特点,参见P131 4. 内建测试系统(BIST)是SoC片上系统的重要结构之一,JTAG测试接口是IC芯片测试方法的标准。 考核知识点:嵌入式系统测试,参见P43 5. VHDL的基本单元描述不包括库。 考核知识点:SOC主要设计语言,参见P233 6. 嵌入式ARM架构的嵌入式处理器同时支持大端、小端(Big/Little-Endian)数据类型。 考核知识点:嵌入式ARM架构的嵌入式处理器,参见P16 7. 嵌入式操作系统通常采用整体式内核或层次式内核的结构。 考核知识点:嵌入式操作系统内核,参见P249 8. ARM7TDMI中的T代表增强型乘法器。 考核知识点:ARM处理器,参见71 9. 看门狗(Watch Dog)实际是一个简单的定时器,在固定时间内若正常清零,则自动复位处理器。 考核知识点:嵌入式式系统硬件设计,教材无参考答案 10. ARM-CPU由多家不同制造商生产,芯片外部提供的总线是不一致的。 考核知识点:嵌入式总线技术,参见P183 1.嵌入式处理器指令的执行周期包括() A.启动、运行、退出 B.取指令、指令译码、执行指令、存储 C.启动、运行、挂起、退出 D.取指令、指令译码、执行指令 考核知识点: ARM处理器指令周期,参见P69 2.下列不属于嵌入设计处理器本身带有的基本接口是()

(完整版)单片机原理及应用期末考试必考知识点重点总结

单片机概述: 单片机是微单片微型计算机的简称,微型计算机的一种。 它把中央处理器(CPU),随机存储器(RAM),只读存储器(ROM),定时器\计数器以及I\O 接口,串并通信等接口电路的功能集成与一块电路芯片的微型计算机。 字长:在计算机中有一组二进制编码表示一个信息,这组编码称为计算机的字,组成字的位数称为“字长”,字长标志着精度,MCS-51是8位的微型计算机。 89c51 是8位(字长)单片机(51系列为8位) 单片机硬件系统仍然依照体系结构:包括CPU(进行运算、控制)、RAM(数据存储器)、ROM(程序存储器)、输入设备和输出设备、内部总线等。 由于一块尺寸有限的电路芯片实现多种功能,所以制作上要求单片机的高性能,结构简单,工作可靠稳定。 单片机软件系统包括监控程序,中断、控制、初始化等用户程序。 一般编程语言有汇编语言和C语言,都是通过编译以后得到机器语言(二进制代码)。 1.1单片机的半导体工艺 一种是HMOS工艺,高密度短沟道MOS工艺具有高速度、高密度的特点; 另一种是CHMOS工艺,互补金属氧化物的HMOS工艺,它兼有HMOS工艺的特点还具有CMOS的低功耗的特点。例如:8051的功耗是630mW,80C51的功耗只有110mW左右。1.2开发步5骤: 1.设计单片机系统的电路 2.利用软件开发工具(如:Keil c51)编辑程序,通过编译得到.hex的机器语言。 3.利用单片机仿真系统(例如:Protus)对单片机最小系统以及设计的外围电路,进行模拟的硬软件联合调试。 4.借助单片机开发工具软件(如:STC_ISP下载软件)读写设备将仿真中调试好的.hex程序拷到单片机的程序存储器里面。 5.根据设计实物搭建单片机系统。 2.1MCS-51单片机的组成:(有两个定时器) CPU(进行运算、控制)、RAM(数据存储器)、ROM(程序存储器)、I/O口(串口、并口)、内部总线和中断系统等。 工作过程框图如下: 运算器 组成:8位算术逻辑运算单元ALU(Arithmetic Logic Unit)、8位累加器A(Accumulator)、8位寄存器B、程序状态字寄存器PSW(Program Status Word)、8位暂存寄存器TMP1和TMP2等。 功能:完成算术运算和逻辑运算

2015下半年嵌入式系统设计师考试真题及答案-上午卷

2015下半年嵌入式系统设计师考试真题及答案-上午卷 1、CPU是在(1)结束时响应DMA请求的。 A. —条指令执行 B. —段程序 C. 一个时钟周期 D. —个总线周期 答案: D DMA控制器在需要的时候代替CPU作为总线主设备,在不受CPU干预的情况下,控制I/O设备与系统主存之间的直接数据传输。DMA操作占用的资源是系统总线,而CPU并非在整个指令执行期间即指令周期内都会使用总线,故DMA请求的检测点设置在每个机器周期也即总线周期结束时执行,这样使得总线利用率最高。 2、虚拟存储体系由(2)两级存储器构成。 A. 主存-辅存 B. 寄存器-Cache C. 寄存器-主存 D. Cache-主存 答案: A 本题考查计算机组成原理的基础知识。 计算机中不同容量、不同速度、不同访问形式、不同用途的各种存储器形成的是一种层次结构的存储系统。所有的存储器设备按照一定的层次逻辑关系通过软硬件连接起来,并进行有效的管理,就形成了存储体系。不同层次上的存储器发挥着不同的作用。一般计算机系统中主要有两种存储体系:Cache存储体系由Cache和主存储器构成,主要目的是提高存储器速度,对系统程序员以上均透明;虚拟存储体系由主夺储器和在线磁盘存储器等辅存构成,主要目的是扩大存储器容量,对应用程序员透明。 3、浮点数能够表示的数的范围是由其(3)的位数决定的。 A. 尾数 B. 阶码 C. 数符 D. 阶符 答案: B 在计算机中使用了类似于十进制科学计数法的方法来表示二进制实数,因其表示不同的数时小数点位置的浮动不固定而取名浮点数表示法。浮点数编码由两部分组成:阶码(即指数,为带符号定点整数,常用移码表示,也有用补码的)和尾数(是定点纯小数,常用补码表示,或原码表示)。因此可以知道,浮点数的精度由尾数的位数决定,表示范围的大小则主要由阶码的位数决定。 4、在机器指令的地址字段中,直接指出操作数本身的寻址方式称为(4)。 A. 隐含寻址 B. 寄存器寻址 C. 立即寻址 D. 直接寻址

嵌入式系统设计师相关资料

嵌入式系统设计师 通过本考试的合格人员能根据项目管理和工程技术的实际要求,按照系统总体设计规格说明 书进行软、硬件设计,编写系统开发的规格说明书等相应的文档;组织和指导嵌入式系统开 发实施人员编写和调试程序,并对嵌入式系统硬件设备和程序进行优化和集成测试,开发出符合系统总体设计要求的高质量嵌入式系统;具有工程师的实际工作能力和业务水平。 报名时间:上半年一般在2-3月之间,下半年一般在7-9月之间 考试时间:上半年一般在5-6月,下半年一般在11月 报考条件:1、遵纪守法,恪守职业道德; 2、具有一定计算机技术应用能力。 不限学历和资历条件。 考试报名办法、时间及要求:采取网上报名、现场确认的报名办法。进行网上报名时报考人员必须登陆浙江软件考试网(网址:) ,按报名流程完整、准确输入本人的真实信息,输入 完成后下载打印《2006年下半年计算机技术与软件专业技术资格(水平)考试报考登记表》 (以下简称“报名表”),在“报名表”上贴上本人同一底版的一寸免冠照片2张(其中一张用于“报名表”,一张备用),并在“报名表”的诚信声明处确认签字,由市(厅、局) 人事部门汇总后统一到省软件考试实施办公室办理现场确认手续,也可个人直接到各市报名 确认点或省软件考试实施办公室确认。 报考费用:现场确认时报考人员须交网上报名时下载的已经过本人签字确认的“报名表”并 交纳报名考务费。考试收费标准按浙价费〔2001〕189号和发改价格〔2003〕2148号规定,系统分析师和信息系统项目管理师级每人177元(含上缴国家27元),其他各级每人118 元(含上缴国家18元) 考试要求: (1)掌握计算机科学基础知识; (2)掌握嵌入式系统的硬件、软件知识; (3)掌握嵌入式系统分析的方法; (4)掌握嵌入式系统设计与开发的方法及步骤; (5)掌握嵌入式系统实施的方法; (6)掌握嵌入式系统运行维护知识; (7)了解信息化基础知识、计算机应用的基础知识; (8)了解信息技术标准、安全性,以及有关法律法规的基本知识; (9)了解嵌入式技术发展趋势; (10)正确阅读和理解计算机及嵌入式系统领域的英文资料。 考试范围: 考试科目1:嵌入式系统基础知识 1.计算机科学基础 1.1数制及转换 o二进制、八进制、十进制和十六进制等常用数制及其相互转换 1.2数据的表示 o数的机内表示(原码、反码、补码、移码,定点和浮点,精度和溢出) o字符、汉字、声音、图像的编码方式 o校验方法和校验码(奇偶验码、海明校验码、循环校验码) 1.3算术和逻辑运算

软考嵌入式系统设计师学习笔记

目录 第一章嵌入式系统需求分析与体系结构设计 (5) 1.1软件需求分析 (5) 1.1.1 关于选择裸机开发还是基于实时操作系统 (5) 1.1.2 实时操作系统优点 (5) 1.1.3 实时操作系统的时间性能评估 (5) 1.2体系结构设计 (5) 1.2.1系统需求 (5) 1.2.2 规格说明书 (5) 1.2.3 体系结构设计 (6) 1.3项目进度管理 (6) 1.3.1 快速原型开发法的优缺点 (6) 1.3.2 项目管理的内容 (6) 1.3.3 PERT图及关键路径 (6) 1.4 UML(统一建模语言)建模技术 (6) 1.4.1面向对象方法的优点 (6) 1.4.2类图概念及六种关系 (7) 1.4.3序列图概念 (7) 1.4.4基于UML嵌入式软件开发环境 (7) 第二章接口电路设计及编程 (8) 2.1外接Flash Memory (8) 2.1.1 关于NOR Flash 和NAND Flash的选型 (8) 2.1.2 关于大小端问题 (8) 2.2 键盘接口电路 (8) 2.1.2 键盘结构的分类 (8) 2.3 LCD接口电路设计及编程 (9) 2.3.1 LCD显示方式 (9) 2.3.2 LCD显示方法 (9) 2.3.3 VCLK计算方法 (9) 2.4 串口通信技术 (10) 2.4.0 同步和异步传输的区别 (10)

2.4.2 异步串行总线 (10) 2.4.3 零调制解调器(Null Modem) (11) 2.4.5 UART波特率 (11) 2.4.6 CAN总线 (11) 2.5 网络接口技术 (12) 2.5.1网络协议层次结构 (12) 2.5.2各协议特点 (12) 2.5.3嵌入式系统下以太网接口实现的方法 (13) 2.5.4 IEEE 802.3标准MAC帧结构 (13) 2.5.5网络接口控制芯片RTL8019的复位方式 (13) 第三章嵌入式软件程序设计 (14) 3.0软件开发模型 (14) 3.1任务实现技术 (14) 3.1.1 任务状态转换图 (14) 3.1.2 任务的创建 (15) 3.1.3 任务的切换 (15) 3.2任务管理技术 (15) 3.2.1 选择嵌入式软件平台时考虑的因素 (15) 3.2.2嵌入式系统存储方案 (15) 3.2.3如何区分进程和线程 (16) 3.3程序设计技术 (16) 3.3.1 初始化模块 (16) 3.4软件分析技术 (16) 3.4.1 选择嵌入式实时操作系统主要考虑的方面 (16) 3.4.2 选择数据IO处理方法要考虑的方面 (16) 3.5文件系统管理 (16) 3.5.1 嵌入式文件系统的功能 (16) 3.5.2 文件控制块 (17) 3.5.3 文件的物理结构 (17) 3.5.4 FAT文件系统 (17)

嵌入式系统复习笔记

嵌入式系统复习笔记 -----增哥 注意点:本复习指导基本已包括所有的程序设计以及分析题,每个考点后面均有例题,例题前的所有知识点我已经把他写的尽量通俗易懂,把程序分析的方法也写明,希望大家用几个小时时间来看看,通过考试绝对没有问题!PS:本材料后面所写的参考页码均是以新版书为标准,用旧版书的同学麻烦自己写上旧版书的页码,知识点都是一样的!!!本人能力有限,如有错误,请见谅!! 1、状态寄存器CPSR各bit的意义: 各位同学只需了解控制位bit0~bit7 T:为状态:0表示ARM状态,1表示Thumb状态 I、F表示IRQ中断FIQ中断的使能。1时中断禁止,0时中断使能(允许该中断)。 2、三个特殊用途寄存器SP(R13) LR(R14) PC(R15) R13(SP):堆栈指针,保存当前处理器模式的堆栈栈顶。 R14(LR):链接R,保存子程序(含发生异常)的返回地址。 R15(PC):程序计数器,保存下一条指令的地址。 注意点:PC指针永远指向取值(什么意思?见第3点流水线) 3、ARM7的流水线 采用三级流水线,即取指→译码→执行 例:假设一共有三条指令: 0x4000 ADD PC,PC,#4 ;其中第二个PC指针的值为0x4008,将第二个 PC+4=0x400C赋给第一个PC指针(回答上述PC 指针永远指向取值的问题) 0x4004 SUB 0x4008 CMP 那么CPU实际执行为: 周期取指译码执行 T1 ADD T2 SUB ADD T3 CMP SUB ADD 解释:当第一CPU周期T1时先取址,取第一个指令的地址。 当第二CPU周期T2时取第二个指令的地址,然后译码,译的是第一个指令的码 当第三CPU周期T3时取第三个指令的地址,译第二个指令的码,执行第一个指令 所以:PC值=当前程序执行位置+8字节(如果CPSR中的T位为0,则+8;如果T位为1,则+4) 4、PLL频率的计算(P133)

相关主题
文本预览
相关文档 最新文档
B、 C、