嵌入式系统设计师考试完美笔记_第1页
嵌入式系统设计师考试完美笔记_第2页
嵌入式系统设计师考试完美笔记_第3页
嵌入式系统设计师考试完美笔记_第4页
嵌入式系统设计师考试完美笔记_第5页
已阅读5页,还剩130页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、嵌入式系统设计师考试笔记之嵌入式系统基础知识1、嵌入式系统的定义(1)定义:以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。(2)嵌入式系统发展的4个阶段:无操作系统阶段、简单操作系统阶段、实时操作系统阶段、面向Internet阶段。(3)知识产权核(IP核):具有知识产权的、功能具体、接口规范、可在多个集成电路设计中重复使用的功能模块,是实现系统芯片(SOC)的基本构件。(4)IP核模块有行为、结构和物理3级不同程度的设计,对应描述功能行为的不同可以分为三类:软核、固核、硬核。 2、嵌入式系统的组成:硬件层、中间

2、层、系统软件层和应用软件层(1)硬件层:嵌入式微处理器、存储器、通用设备接口和I/O接口。嵌入式核心模块微处理器电源电路时钟电路存储器Cache:位于主存和嵌入式微处理器内核之间,存放的是最近一段时间微处理器使用最多的程序代码和数据。它的主要目标是减小存储器给微处理器内核造成的存储器访问瓶颈,使处理速度更快。(2)中间层(也称为硬件抽象层HAL或者板级支持包BSP):它将系统上层软件和底层硬件分离开来,使系统上层软件开发人员无需关系底层硬件的具体情况,根据BSP层提供的接口开发即可。BSP有两个特点:硬件相关性和操作系统相关性。设计一个完整的BSP需要完成两部分工作:A、 嵌入式系统的硬件初始

3、化和BSP功能。片级初始化:纯硬件的初始化过程,把嵌入式微处理器从上电的默认状态逐步设置成系统所要求的工作状态。板级初始化:包含软硬件两部分在内的初始化过程,为随后的系统初始化和应用程序建立硬件和软件的运行环境。系统级初始化:以软件为主的初始化过程,进行操作系统的初始化。B、 设计硬件相关的设备驱动。(3)系统软件层:由RTOS、文件系统、GUI、网络系统及通用组件模块组成。RTOS是嵌入式应用软件的基础和开发平台。(4)应用软件:由基于实时系统开发的应用程序组成。 3、实时系统(1)定义:能在指定或确定的时间内完成系统功能和对外部或内部、同步或异步时间做出响应的系统。(2)区别:通

4、用系统一般追求的是系统的平均响应时间和用户的使用方便;而实时系统主要考虑的是在最坏情况下的系统行为。(3)特点:时间约束性、可预测性、可靠性、与外部环境的交互性。(4)硬实时(强实时):指应用的时间需求应能够得到完全满足,否则就造成重大安全事故,甚至造成重大的生命财产损失和生态破坏,如:航天、军事。(5)软实时(弱实时):指某些应用虽然提出了时间的要求,但实时任务偶尔违反这种需求对系统运行及环境不会造成严重影响,如:监控系统、实时信息采集系统。(6)任务的约束包括:时间约束、资源约束、执行顺序约束和性能约束。 4、实时系统的调度(1)调度:给定一组实时任务和系统资源,确定每个任务何时

5、何地执行的整个过程。(2)抢占式调度:通常是优先级驱动的调度,如uCOS。优点是实时性好、反应快,调度算法相对简单,可以保证高优先级任务的时间约束;缺点是上下文切换多。(3)非抢占式调度:通常是按时间片分配的调度,不允许任务在执行期间被中断,任务一旦占用处理器就必须执行完毕或自愿放弃,如WinCE。优点是上下文切换少;缺点是处理器有效资源利用率低,可调度性不好。(4)静态表驱动策略:系统在运行前根据各任务的时间约束及关联关系,采用某种搜索策略生成一张运行时刻表,指明各任务的起始运行时刻及运行时间。(5)优先级驱动策略:按照任务优先级的高低确定任务的执行顺序。(6)实时任务分类:周期任务、偶发任

6、务、非周期任务。(7)实时系统的通用结构模型:数据采集任务实现传感器数据的采集,数据处理任务处理采集的数据、并将加工后的数据送到执行机构管理任务控制机构执行。 5、嵌入式微处理器体系结构(1)冯诺依曼结构:程序和数据共用一个存储空间,程序指令存储地址和数据存储地址指向同一个存储器的不同物理位置,采用单一的地址及数据总线,程序和数据的宽度相同。例如:8086、ARM7、MIPS(2)哈佛结构:程序和数据是两个相互独立的存储器,每个存储器独立编址、独立访问,是一种将程序存储和数据存储分开的存储器结构。例如:AVR、ARM9、ARM10(3)CISC与RISC的特点比较(参照教程22页)。

7、计算机执行程序所需要的时间P可以用下面公式计算:P=I×CPI×TI:高级语言程序编译后在机器上运行的指令数。CPI:为执行每条指令所需要的平均周期数。T:每个机器周期的时间。(4)流水线的思想:在CPU中把一条指令的串行执行过程变为若干指令的子过程在CPU中重叠执行。(5)流水线的指标:吞吐率:单位时间里流水线处理机流出的结果数。如果流水线的子过程所用时间不一样长,则吞吐率应为最长子过程的倒数。建立时间:流水线开始工作到达最大吞吐率的时间。若m个子过程所用时间一样,均为t,则建立时间Tmt。(6)信息存储的字节顺序A、存储器单位:字节(8位)B、字长决定了微处理器的寻址能

8、力,即虚拟地址空间的大小。C、32位微处理器的虚拟地址空间位232,即4GB。D、小端字节顺序:低字节在内存低地址处,高字节在内存高地址处。E、大端字节顺序:高字节在内存低地址处,低字节在内存高地址处。F、网络设备的存储顺序问题取决于OSI模型底层中的数据链路层。 6、逻辑电路基础(1)根据电路是否具有存储功能,将逻辑电路划分为:组合逻辑电路和时序逻辑电路。(2)组合逻辑电路:电路在任一时刻的输出,仅取决于该时刻的输入信号,而与输入信号作用前电路的状态无关。常用的逻辑电路有译码器和多路选择器等。(3)时序逻辑电路:电路任一时刻的输出不仅与该时刻的输入有关,而且还与该时刻电路的状态有关

9、。因此,时序电路中必须包含记忆元件。触发器是构成时序逻辑电路的基础。常用的时序逻辑电路有寄存器和计数器等。(4)真值表、布尔代数、摩根定律、门电路的概念。(教程28、29页)(5)NOR(或非)和NAND(与非)的门电路称为全能门电路,可以实现任何一种逻辑函数。(6)译码器:多输入多输出的组合逻辑网络。每输入一个n位的二进制代码,在m个输出端中最多有一个有效。当m2n是,为全译码;当m<2n时,为部分译码。(7)由于集成电路的高电平输出电流小,而低电平输出电流相对比较大,采用集成门电路直接驱动LED时,较多采用低电平驱动方式。液晶七段字符显示器LCD利用液晶有外加电场和无外加电场时不同的

10、光学特性来显示字符。(8)时钟信号是时序逻辑的基础,它用于决定逻辑单元中的状态合适更新。同步是时钟控制系统中的主要制约条件。(9)在选用触发器的时候,触发方式是必须考虑的因素。触发方式有两种:电平触发方式:具有结构简单的有点,常用来组成暂存器。边沿触发方式:具有很强的抗数据端干扰能力,常用来组成寄存器、计数器等。 7、总线电路及信号驱动(1)总线是各种信号线的集合,是嵌入式系统中各部件之间传送数据、地址和控制信息的公共通路。在同一时刻,每条通路线路上能够传输一位二进制信号。按照总线所传送的信息类型,可以分为:数据总线(DB)、地址总线(AB)和控制总线(CB)。(2)总线的主要参数:

11、总线带宽:一定时间内总线上可以传送的数据量,一般用MByte/s表示。总线宽度:总线能同时传送的数据位数(bit),即人们常说的32位、64位等总线宽度的概念,也叫总线位宽。总线的位宽越宽,总线每秒数据传输率越大,也就是总线带宽越宽。总线频率:工作时钟频率以MHz为单位,工作频率越高,则总线工作速度越快,也即总线带宽越宽。总线带宽 总线位宽×总线频率/8, 单位是MBps。常用总线:ISA总线、PCI总线、IIC总线、SPI总线、PC104总线和CAN总线等。(3)只有具有三态输出的设备才能够连接到数据总线上,常用的三态门为输出缓冲器。(4)当总线上所接的负载超过总线的负载能力时,必

12、须在总线和负载之间加接缓冲器或驱动器,最常用的是三态缓冲器,其作用是驱动和隔离。(5)采用总线复用技术可以实现数据总线和地址总线的共用。但会带来两个问题:A、需要增加外部电路对总线信号进行复用解耦,例如:地址锁存器。B、总线速度相对非复用总线系统低。(6)两类总线通信协议:同步方式、异步方式。(7)对总线仲裁问题的解决是以优先级(优先权)的概念为基础。 8、电平转换电路(1)数字集成电路可以分为两大类:双极型集成电路(TTL)、金属氧化物半导体(MOS)。(2)CMOS电路由于其静态功耗极低,工作速度较高,抗干扰能力较强,被广泛使用。(3)解决TTL与CMOS电路接口困难的办法是在T

13、TL电路输出端与电源之间接一上拉电阻R,上拉电阻R的取值由TTL的高电平输出漏电流IOH来决定,不同系列的TTL应选用不同的R值。 9、可编程逻辑器件基础(具体参见教程51到61页)这方面的内容,从总体上有个概念性的认识应该就可以了。 10、嵌入式系统中信息表示与运算基础(1)进位计数制与转换:这样比较简单,也应该掌握怎么样进行换算,有出题的可能。(2)计算机中数的表示:源码、反码与补码。正数的反码与源码相同,负数的反码为该数的源码除符号位外按位取反。正数的补码与源码相同,负数的补码为该数的反码加一。例如98的源码:11100010B反码:10011101B补码:10011

14、110B(3)定点表示法:数的小数点的位置人为约定固定不变。浮点表示法:数的小数点位置是浮动的,它由尾数部分和阶数部分组成。任意一个二进制N总可以写成:N=2P×S。S为尾数,P为阶数。(4)汉字表示法(教程67、68页),搞清楚GB2318-80中国标码和机内码的变换。(5)语音编码中波形量化参数(可能会出简单的计算题目哦)采样频率:一秒内采样的次数,反映了采样点之间的间隔大小。人耳的听觉上限是20kHz,因此40kHz以上的采样频率足以使人满意。CD唱片采用的采样频率是44.1kHz。测量精度:样本的量化等级,目前标准采样量级有8位和16位两种。声道数:单声道和立体声双道。立体声

15、需要两倍的存储空间。 11、差错控制编码(1)根据码组的功能,可以分为检错码和纠错码两类。检错码是指能自动发现差错的码,例如奇偶检验码;纠错码是指不仅能发现差错而且能自动纠正差错的码,例如循环冗余校验码。(2)奇偶检验码、海明码、循环冗余校验码(CRC)。(教程70到77页) 12、嵌入式系统的度量项目(1)性能指标:分为部件性能指标和综合性能指标,主要包括:吞吐率、实时性和各种利用率。(2)可靠性与安全性可靠性是嵌入式系统最重要、最突出的基本要求,是一个嵌入式系统能正常工作的保证,一般用平均故障间隔时间MTBF来度量。(3)可维护性:一般用平均修复时间MTTR表示。(4)

16、可用性(5)功耗(6)环境适应性(7)通用性(8)安全性(9)保密性(10)可扩展性性价比中的价格,除了直接购买嵌入式系统的价格外,还应包含安装费用、若干年的运行维修费用和软件租用费。 13、嵌入式系统的评价方法:测量法和模型法(1)测量法是最直接最基本的方法,需要解决两个问题:A、根据研究的目的,确定要测量的系统参数。B、选择测量的工具和方式。(2)测量的方式有两种:采样方式和事件跟踪方式。(3)模型法分为分析模型法和模拟模型法。分析模型法是用一些数学方程去刻画系统的模型,而模拟模型法是用模拟程序的运行去动态表达嵌入式系统的状态,而进行系统统计分析,得出性能指标。(4)分析模型法中

17、使用最多的是排队模型,它包括三个部分:输入流、排队规则和服务机构。(5)使用模型对系统进行评价需要解决3个问题:设计模型、解模型、校准和证实模型。真题解析1、2007年4、5题若每一条指令都可以分解为取指、分析和执行三步。已知取指时间t取指4t,分析时间t分析3t,执行时间t执行5t。如果按串行方式执行完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考查流水线技术知识点。按照串行的方式,执行完一条

18、指令才能执行下一条指令,那么执行完100条指令的时间为:(435)×1001200按照流水线的方式,可以同时执行多条指令。在第一条指令进行分析的时候,第二条指令已经开始取指;当第一条指令进行执行的时候,第二条指令进行分析,第三条指令取指;当第二条指令进行执行完的时候,第三条指令已经分析完成。依此类推,当第一条指令完成之后,每一个执行的周期就可以完成一条指令。需要注意的是,如果流水线的子过程所用时间不一样长,则吞吐率应以最长子过程来计算。因此,我们可以计算得100条指令的执行时间为:(435)(1001)×5507。 2、2007年24题某总线有104根信号线,其中

19、数据总线(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/8132MB/s。 3、2007年26题某存储器数据总线宽度为32bit,存取周期为250ns,则该存储器带宽为 (26) 。(注:本题答案中的B表示Byte)(26)A. 8×106B/s B. 16×106B/s C. 16

20、×108B/s D. 32×106B/s<答案>:B考查总线这个知识点。存储器带宽即总线带宽,总线频率为:1/250ns=4×106存储器带宽为:32×4×106/816×106B/s4、2007年27题处理机主要由处理器、存储器和总线组成,总线包括 (27) 。(27)A. 数据总线、串行总线、逻辑总线、物理总线B. 并行总线、地址总线、逻辑总线、物理总线C. 并行总线、串行总线、全双工总线D. 数据总线、地址总线、控制总线<答案>:D考查总线这个知识点,基本概念的考查。 5、2007年35题三极管

21、是可控的开关器件,其饱和与截止状态分别对应开关的接通和断开状态。UBE为基极输入电压,VTH为基极域值电压,如果UBETH,开关应处于 (35) 状态。(35)A. 接通 B. 三态 C. 断开 D. 高阻<答案>:C考查电路中最基本的基础知识点,我觉得做不对的根本不能算嵌入式系统开发入门。 6、2007年36题如下图所示,若低位地址(A0-A11)接在内存芯片地址引脚上,高位地址(A12-A19)进行片选译码(其中,A14和A16没有参加译码),且片选信号低电平有效,则对下图所示的译码器,不属于此译码空间的地址为 (36) 。(36)A. AB000HABFFFH B.

22、 BB000HBBFFFHC. EF000HEFFFFH D. FE000HFEFFFH<答案>:D考查数字电路中译码知识和存储系统中统一编址的问题,相对来说,这个题目有点难度,但是对于学习过和亲身做过单片机的兄弟来说,最基本不过了。 7、2007年46题(46) 完全把系统软件和硬件部分隔离开来,从而大大提高了系统的可移植性。(46)A. 硬件抽象层 B. 驱动映射层 C. 硬件交互层 D. 中间层<答案>:A考查嵌入式系统组成中的概念。 8、2006年3题设指令由取指、分析、执行3个子部件完成,每个子部件的工作周期为t,采用常规标量单流水线处理机

23、。若连续执行10条指令,则共需要时间(3)t。(3)A.8 B.10 C.12 D.14<答案>:C考查流水线技术知识点。3(101)×112 9、2006年4、5题某计算机的时钟频率为400MHz,测试计算机的程序使用4种类型的指令。每种指令的数量及所需要的指令时钟数(CPI)如下表所示,则该计算机的指令平均时钟数为(4);该计算机的运算速度为(5)MIPS。指令类型 指令数目(条) 每条指令需要的时钟数1 160000 12 30000 23 24000 44 16000 8(4)A.1.85 B.1.93 C.2.36 D.3.75(5)A.106.7 B

24、.169.5 C.207.3 D.216.2<答案>:B、C考查指令运行方面的简单计算。平均时钟数(1600002×300004×240008×16000)/(160000300002400016000)1.93MIPS是指每秒种执行多少百万条指令,即106。计算机的运行数度为:400/1.93=207.25=207.3MIPS 9、2006年12题计算机要对声音信号进行处理时,必须将它转换为数字声音信号。最基本的声音信号数字化方法时取样量化法。若量化后的每个声音样本用2个字节表示,则量化分辨率是(12)(12)A.1/2 B.1/1024

25、C.1/65536 D.1/131072<答案>:C考查声音编码种量化计算的知识点。2个字节是16位,其量化分辨率位1/10161/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位颜色深度可以表示28256种颜色深度。经过5

26、:1压缩后的数据大小为:640×480×8/8/561440。 11、2006年23题若某逻辑门输入A、B和输出F的波形如下图所示,则F(A,B)的表达式为(23)(23) A.F=A B B.F=A+BC.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&l

27、t;答案>:C考查数字电路的最基本知识点,相对上面一题有点难,需要对计数器的工作原理有比较清楚的理解。这个也是搞嵌入式系统的基础中的基础,参考教程38页或相关的数电书籍。4位的计数器,其计数范围是2416,0000开始经过16个时钟脉冲之后又回到了开始的状态0000。25169,所以说经过25个时钟之后,其计数器的数值应该是91001。 13、2006年25题稳压二极管构成的稳压电路的接法是(25)(25) A.稳压管与负载电阻串联。B.稳压管与限流电阻并联。C.限流电阻与稳压管串联后,在与负载电阻串联。D.限流电阻与稳压管串联后,在与负载电阻并联。<答案>:D考查

28、模拟电路的最基本知识点,实在太简单,不知道从那里开始分析了。 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位<答案&

29、gt;: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.数据处理速率&l

30、t;答案>:B考查嵌入式系统性能评价中重要知识点。看过了就会做,每什么分析的,参见教程77页。 四、小结就我个人的意见,从内容来看,嵌入式系统基础知识的范围很广,知识点很多,而且没有很强的逻辑性,显得比较凌乱,很难将他们有序的组织在一起。但是也不要害怕,内容虽然多而乱,但是考试的题目都比较简单,有些题目几乎是所见即所得。只要你做过嵌入式或者单片机方面的工作,你都能做出来。一些计算的题目也是一些基本概念的延伸。通过分析历年的真题,一方面可以把握考试的出题方式和考试难度,同时可以把握这部分内容的出题方向和复习的方法。从两年的考试题目数量分布来看,06年10道,07年7道,数量有所较

31、少,但是我觉得这不是一个趋势,08年应该不会少于7道题目的。这部分在嵌入式系统设计里面是相当重要的,有一个良好的基础才能做好下面的事情。如果复习得好,将这7、8分题目拿到手,那么你离45分左右的及格线又迈进了一大步了。祝准备考试的朋友,考试顺顺利利。嵌入式系统设计师考试笔记之嵌入式微处理器一、引言 嵌入式微处理器是嵌入式系统的核心器件,深入理解嵌入式微处理器的工作原理,组成结构、体系结构以及软件编程等方面,无论对嵌入式设计师考试的准备还是对嵌入式项目的开发都有一定的帮助。在目前白花盛放的嵌入式微处理器市场,各种各样大大小小的嵌入式微处理器就像菜市场里面的青菜一样。要对各种嵌入式微处理

32、器都有深入的理解几乎是不可能的。但是万变不离其中,在总多的嵌入式微处理器中都有着共同的概念、原理与规律。我们要做的是分析嵌入式微处理器的基本结构、基本工作原理、体系结构、市场发展趋势、各种微处理器的特点与应用场合等等。我个人觉得,面对全国的考试,其考点应该是大家都应该去掌握的一些共有的基本知识,或者是大家都熟悉,流行程度甚广的一些微处理器的使用,而不是一些个性化的知识点或者偏门器件的使用。二、复习笔记1. 嵌入式微处理器的基本结构(1)嵌入式硬件系统一般由嵌入式微处理器、存储器和输入/输出部分组成。(2)嵌入式微处理器是嵌入式硬件系统的核心,通常由控制单元、算术逻辑单元和寄存器3大部分组成:A

33、、控制单元:主要负责取指、译码和取数等基本操作并发送主要的控制指令。B、算术逻辑单元:主要处理数值型数据和进行逻辑运算工作。C、寄存器:用于暂存临时性的数据。2. 嵌入式微处理器的分类(根据用途)(1)嵌入式微控制器(MCU):又称为单片机,片上外设资源一般比较丰富,适合于控制。最大的特点是单片化,体积小,功耗和成本低,可靠性高。目前约占70%的市场份额。(2)嵌入式微处理器(EMPU):又称为单板机,由通用计算机中的CPU发展而来,它的特征是具有32位以上的处理器,具有较高的性能。通常嵌入式微处理器把CPU、ROM、RAM及I/O等模块做到同一个芯片上。(3)嵌入式DSP处理器(DSP):专

34、门用于信号处理方面的处理器,其在系统结构和指令算法方面进行了特殊设计,使其处理速度比最快的CPU还快1050倍,在数字滤波、FFT、频谱分析等方面获得了大量的应用。(4)嵌入式片上系统(SOC):追求产品系统最大包容的集成器件,其最大的特点是成功实现了软硬件的无缝结合,直接在微处理器片内嵌入操作系统的代码模块。 3. 典型8位微处理器的结构和特点该部分参考教程8694页,以8051为重点,彻底搞清楚8位单片机的工作原理,外设控制、存储分布、寻址方式以及典型应用。2007年11月下午的第一道题目就考查了8051的定时器使用、外部时钟连接、实际应用的流程设计以及典型的寻址方式。这些考点几

35、乎可以在教程上找到,例如外部时钟连接那个问题的答案就是教程89页上面的原图。 4. 典型16位微处理器的结构和特点该部分参考教程9497页。典型的微处理器可以参考MSP430,找一本这方面的书看看关于MSP430的结构原理以及典型应用。 5. 典型32位微处理器的结构和特点该部分参考教程97112页。32位处理器采用32位的地址和数据总线,其地址空间达到了2324GB。目前主流的32位嵌入式处理器系统主要有ARM系列、MIPS系列、PoewrPC系列等。ARM微处理器体系结构目前被公认为是嵌入式应用领域领先的32位嵌入式RISC处理器结构。按照目前的发展形式,ARM几乎成了

36、嵌入式应用的代名词。按照我个人的意见,作为嵌入式系统设计师考试,逐渐增加考查ARM体系结构与编程方面的题目是大势所趋。2006年没有一道关于ARM的题目,2007年出了少量题目,可能在2008年会继续增加。在下午题方面,2006年考查了X86方面的应用、2007年考查了8051方面的应用,这个可能是一个过度过程,以目前ARM在嵌入式领域的广泛应用和普及程度,下午题目考查ARM应用方面或者32位其他的微处理器方面的应用题目可能在不就将来的考试中就会出现。 6、单片机系统的基本概念(1)单片机组成:中央处理器、存储器、I/O设备。(2)存储器:物理实质是一组或多组具备数据输入/输出和数据

37、存储功能的集成电路,用于充当设备缓存或保存固定的程序及数据。 A、ROM(只读存储器):一般用于存放固定的程序或数据表格等,数据在掉电后仍然会保留下来。B、RAM(随机存储器):用于暂存程序和数据、中间计算结果,或用作堆栈用等,数据在掉电后就会丢失。(3)I/O端口:单片机与外界联系的通道,它可以对各类外部信号(开关量、模拟量、频率信号)进行检测、判断、处理,并可控制各类外部设备。现在的单片机I/O口已经集成了更多的特性和功能,对I/O端口的功能进行了拓展和复用,例如外部中断、ADC检测以及PWM输出等等。(4)输出电平:高电平电压(输出"1"时)和低电平电压(输

38、出"0"时)A、TTL电平:正逻辑,5V为逻辑正,0V为逻辑负,例如单片机的输出。B、RS232电平:负逻辑,12V为逻辑正,12V为逻辑负,例如PC的输出。注:因此在单片机和PC进行通讯的时候需要一个MAX232芯片进行电平转换。(5)堆栈:它是一种线性的数据结构,是一个只有一个进出口的一维空间。A、堆栈特性:后进先出(LIFO)B、堆栈指针:用于指示栈顶的位置(地址),当发生压栈或者出栈操作时,导致栈顶位置变化时,堆栈指针会随之变化。C、堆栈操作:压栈操作(PUSH)和出栈操作(POP)。D、堆栈类型:"向上生长"型堆栈,每次压栈时堆栈指针加1;&q

39、uot;向下生长"型堆栈,每次压栈堆栈时指针减1。E、堆栈应用:调用子程序、响应中断时,堆栈用于保护现场;还可以用作临时数据缓冲区来使用。F、使用注意:堆栈溢出问题,压栈和出栈的匹配问题。(6)定时/计数器:实质都是计数器。用作定时器时是对单片机内部的时钟脉冲进行计数,而在用作计数器时是对单片机外部的输入脉冲进行计数,其作用如下:A、计时、定时或延时控制;B、脉冲技术;C、测量脉冲宽度或频率(捕获功能)(7)中断:优先级更高的事件发生,打断优先级低的时间进程。引起中断的事件称为中断源。一个单片机可能支持多个中断源,这些中断源可以分为可屏蔽中断和非可屏蔽中断,而这些中断源并不都是系统工

40、作所需的,我们可以根据系统需求屏蔽那些不需要的中断源。A、中断嵌套:当一个低级中断尚未执行完毕,又发生了一个高级优先级的中断,系统转而执行高级中断服务程序,待处理完高级中断后再回过头来执行低级中断服务程序。B、中断响应时间是指从发出中断请求到进入中断处理所用的时间;中断处理时间是指中断处理开始到中断处理结束的时间。C、中断响应过程:a、保护现场:将当前地址、累加器ACC、状态寄存器保存到堆栈中。b、切换PC指针:根据不同的中断源所产生的中断,切换到相应的入口地址。c、执行中断服务处理程序。d、恢复现场:将保存在堆栈中的主程序地址、累加器ACC、状态寄存器恢复。e、中断返回:从中断处返回到主程序

41、,继续执行。D、中断入口地址:单片机为每个中断源分配了不同的中断入口地址,也称为中断向量。(8)复位:通过外部电路给单片机的复位引进一个复位信号,让系统重新开始运行。A、复位发生时的动作:a、PC指针从起始位置开始执行(大多数单片机都时从0x0000处开始执行)。b、I/O端口设置成缺省状态(高阻态、或者输出低电平)。c、部分专用控制寄存器SFR恢复到缺省状态。d、普通RAM不变(如果时上电复位,则是随即数)。B、两种不同的复位启动方式:a、冷启动:也叫上电复位,指在断电状态下给系统加电,让系统开始正常运行。b、热启动:在不断电的状态下,给单片机复位引进一个复位信号,让系统重新开始。C、两种类

42、型的复位电路:高电平复位和低电平复位。D注意事项:a、注意复位信号的电平状态及持续时间必须满足系统要求。b、注意避免复位信号抖动。(9)时钟电路:单片机是一种时序电路,必须提供脉冲电路才能正常工作。时钟电路相当于单片机的心脏,它的每一次跳动(振动节拍)都控制着单片机的工作节奏。振荡得慢时,系统工作速度就慢,振荡得快时,系统工作速度就快(功耗也增大)。A、振荡周期:振荡源的振荡节拍。B、机器周期:单片机完成一个基本操作需要的振荡周期(节拍)。C、指令周期:执行一条指令需要几个机器周期。不同的指令需要的机器周期数不同。 7、ARM体系结构的基本概念(1)ARM:Advanced RISC

43、 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):

44、用于通用的中断处理。D、管理模式(SVE):供操作系统使用的一种保护模式。E、数据访问中止模式(Abort):用于虚拟存储及存储保护。F、未定义指令中止模式(Undefined):当未定义指令执行时进入该模式。G、系统模式(System):用于运行特权级的操作系统任务。 除了用户模式之外的其他6种处理器模式称为特权模式,在这些模式下,程序可以访问所有的系统资源,也可以任意地进行处理器模式切换,其中,除了系统模式外,其他的5种特权模式又称为异常模式。处理器模式可以通过软件控制进行切换,也可以通过外部中断或异常处理过程进行切换。大多数的用户程序运行在用户模式下,这时,应用程序不能访问一些

45、受操作系统保护的系统资源,应用程序也不能直接进行处理器模式切换。当需要进行处理器模式切换时,应用程序可以产生异常处理,在异常处理中进行处理器模式的切换。这种体系结构可以使操作系统控制整个系统的资源。当应用程序发生异常中断时,处理器进入相应的异常模式。在每一种异常模式种都有一组寄存器,供相应的异常处理程序使用,这样就可以保证进入异常模式时,用户模式下的寄存器不被破坏。系统模式并不是通过异常过程进入的,它和用户模式具有完全一样的寄存器,但是系统模式属于特权模式,可以访问所有的系统资源,也可以直接进行处理器模式切换,它主要供操作系统任务使用。 (5)ARM处理器共有37个寄存器:31个通用

46、寄存器和6个状态寄存器A、通用寄存器包括R0R15,可以分为3类: a、未备份寄存器R0R7:在所有的处理器模式下,未备份寄存器都是指向同一个物理寄存器。 b、备份寄存器R8R14:对于R8R12来说,每个寄存器对于2个不同的物理寄存器,它们每次所访问的物理寄存器都与当前的处理器运行模式有关。对于R13、R14来说,每个寄存器对于6个不同的物理寄存器,其中一个是用户模式和系统模式共用。R13在ARM指令种常用作堆栈指针。由于处理器的每种运行模式都有自己独立的物理寄存器R13,所有在用户应用程序的初始化部分,一般要初始化每种模式下的R13,使其指向该运行模式的栈空间。R14又

47、称为连接寄存器(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、

48、当前程序状态寄存器CPSR:保存当前处理器状态的信息,可以在任何处理器模式下被访问。c、备份程序状态寄存器SPSR:每一种异常处理器模式下都有一个专用的物理状态寄存器。当特定的异常中断发生时,这个寄存器用于存放当前程序状态寄存器的内容,在异常中断程序退出时,可以用SPSR中保存的值来恢复CPSR。d、由于用户模式和系统模式不属于异常模式,它们没有SPSR,当在这两种模式下访问SPSR时,结果是未知的。(6)ARM指令的寻址方所谓寻址方式就是处理器根据指令中给出的地址信息来寻找物理地址的方式。A、立即寻址:操作数本身就在指令中给出,只要取出指令也就取到了操作数。ADDR0, R0, #1;R0?

49、R0+1B、寄存器寻址:利用寄存器中的数值作为操作数。ADDR0, R1, R2;R0?R1+R2C、寄存器间接寻址:以寄存器中的值作为操作数地址,而操作数本身存放在存储器中。ADDR0, R1, R2;R0?R1+R2LDRR0, R1;R0?R1STRR0, R1;R1?R0D、基址变址寻址:将寄存器(该寄存器一般称作基址寄存器)的内容与指令中给出的地址偏移量相加,从而得到一个操作数的有效地址。LDRR0, R1, #4;R0?R1+4LDRR0, R1, #4!;R0?R1+4R1?R1+4LDRR0, R1, #4;R0?R1R1?R1+4LDRR0, R1, R2!;R0?R1+R2

50、 E、多寄存器寻址:一条指令可以完成多个寄存器值的传送。LDMIAR0, R1, R2, R3;R1?R0R2?R0+4R3?R0+8 F、相对寻址:以程序计数器PC的当前值作为基地址,指令中的地址标号作为偏移量,两者相加之后得到操作数的有效地址。BLNEXT;跳转到子程序NEXT处执行NEXTMOVPC, LR;从子程序返回G、堆栈寻址:支持4种类型的堆栈工作方式:a、满递增堆栈:堆栈指针指向最后压入的数据,且由低地址向高地址生长。b、满递减堆栈:堆栈指针指向最后压入的数据,且由高地址向低地址生长。c、空递增堆栈:堆栈指针指向下一个将要放入数据的空位置,且由低地址向高地址

51、生长。d、空递减堆栈:堆栈指针指向下一个将要放入数据的空位置,且由高地址向低地址生长。 (7)ARM的存储方法A、大端模式:数据的高字节存储在低地址中,低字节存储在高地址中。B、小端模式:数据的低字节存储在低地址中,高字节存储在高地址中。(8)ARM中断与异常 A、ARM内核支持7种中断,不同的中断处于不同的处理模式,具有不同的优先级,而且每个中断都有固定的中断地址入口。当一个中断发生是,相应的R14(LR)存储中断返回地址,SPSR存储当前程序状态寄存器CPSR的值。 B、由于ARM内核支持流水线工作,LR寄存器存储的地址可能是发生中断后面指令的地址,所以不同的

52、中断处理完成后,必须将LR寄存器值经过处理后再写入P15(PC)寄存器。 C、ARM异常的具体含义: a、复位:当处理器的复位电平有效时,产生复位异常,程序跳转到异常复位异常处理程序处执行。 b、未定义的指令:当ARM处理器或协处理器遇到不能处理的指令时,产生未定义指令异常。可以使用该异常机制进行软件仿真。 c、软件中断:该异常由执行SWI指令产生,可用于用户模式下的程序调用特权操作指令。可使用该异常机制实现操作系统调用功能。d、指令预取中止:如果处理器预取指令的地址不存在或该地址不允许当前指令访问,存储器向处理器发出中止信号,但当预取的指令被执行时,才

53、会产生指令预取中止异常。e、数据访问中止:如果处理器数据访问指令的目标地址不存在,或者该地址不允许当前指令访问,处理器产生数据访问中止异常。 f、外部中断请求:当ARM外部中断请求管脚有效,而且CPSR中的I位为0时,产生IRQ异常。系统的外设可以通过该异常请求中断服务。g、快速中断请求:当ARM快速中断请求管脚有效,而且CPSR的F位为0时,产生FIQ异常。D、ARM处理器对异常中断的响应过程a、将下一条指令的地址存入相应的连接寄存器LR中。b、将CPSR复制到相应的SPSR中。c、根据异常的类型,强制设置CPSR的运行模式位。d、强制PC从相关的异常向量地址取下一条指令执行,从而

54、跳转到相应的异常处理程序处。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

55、、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位的C

56、PU一次只能处理一个字节,而32位的CPU一次就能处理4个字节。 四、小结 从这两年的考试真题来看,关于嵌入式微处理器方面的题目不多,06和07年上午题目各一题。而且考的都是基础中的基础概念。这些几乎就是每个搞计算机或者单片机的人一进门就要理解的概念。虽然考试的题目不多,然而对嵌入式微处理器的很多基本概念和原理的理解对试卷上的其他题目的解答都有一点的帮助。随着ARM技术的飞速普及,07年也开始出现ARM体系结构的题目,我觉得在今后的考试中,这方面题目可能会不断出现。在下午题目中,一道硬件相关的题目是少不了的,嵌入式微处理器作为嵌入式系统的核心,多多少少会设计到。06年考查X

57、86,07年考查MCS-51,这是计算机也可以说是嵌入式发展和普及的一个过程,今后会不会考查ARM的应用呢?完全有这个可能性。然而目前MCU的市场仍然火爆,最近ARM推出的cortex-M3也不不断占领MCU的市场,可见MCS-51的为基础的应用仍然不断涌现。07年考查了8051的应用,今后我觉得可能还会继续出的吧。嵌入式系统设计师考试笔记之操作系统基础一、引言原定于11月8号的嵌入式系统设计师考试由于某种原因推迟,得以让我有时间再写几篇文章,在最后的时刻为大家提供最后的帮助。我觉得,嵌入式系统设计主要包含系统设计、硬件设计和软件设计。其中大部分工作是嵌入式软件方面,包括操作系统的移植、系统体系架构设计、设备驱动程序编写、用户应用程序设计等等。所以在嵌入式系统设计师的考试中也应该集中在这几点上面。前面的几篇文章对嵌入式硬件方面做了几个总结,现在对嵌入式软件方面做一些个人的归纳,再结合历年真题分析一下,对我认为常见的考点梳理了一下,不知道对大家有没有用处。在嵌入式软件设计中,操作系统基础尤为重要,可以考查的考点也特别的多。我觉得它的地位就跟四六级英语考试中的阅读部分一样。这部分内容不能吃透,很难将这个考试拿下来,当然也有例外的。我只是想说明这部分的重要性。闲话少数,进入正题。二、复习笔记1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论