嵌入式系统设计师重要100条知识点速记
如果说嵌入式行业有什么证书的话,那一定是计算机软考中的嵌入式系统工程师。考试的知识点很杂、很广,需要多年的专业积累和实践,下面我收集了嵌入式软考的100条备考知识点,供大家记忆参考:
- 十进制转二进制:短除法;二进制转十进制:按位权展开;二进制转十六进制:四合一;二进制转八进制:三合一。
- 冯.诺依曼体系的5大部件:运算器、控制器、存储器、输入设备和输出设备。
- 控制器的部件:程序计数器PC,指令寄存器IR,指令译码器,时序部件。
- 运算器的部件:算数逻辑单元ALU,累加寄存器,数据缓冲寄存器,状态条件寄存器。
- CPU的性能指标包括:主频、字长、CPU缓存、核心数量。
- 总线的分类:数据总线、地址总线、控制总线。
- 总线的性能指标:带宽、位宽、工作频率。
- 奇偶校验只能检出奇数位的错误,CRC码能检出多位错,海明码可以纠错。
- 嵌入式软件系统特点:规模较小、开发难度大、实时性和可靠性要求高、要求固化存储。
- 嵌入式软件体系结构从下到上包括:硬件层、设备驱动层、操作系统层、中间件层和应用软件层。
- 设备驱动层也叫板级支持包(BSP),包含了嵌入式系统中所有与硬件相关的代码,它负责直接与硬件打交道, 对硬件进行管理和控制, 为上层软件提供所需的驱动支持。
- 操作系统按软件体系结构,可以分为单体结构、分层结构和微内核结构。
- 微内核结构也称客户/服务(client/server)结构。优点:内核非常小;易于扩展、调试方便;安全性更高;可移植性好。缺点:通过微内核构造和发送信息、接受应答并解码所花费的时间比进行一次系统调用的时间多;很大程度取决于微内核的大小和功能;客户单元和服务器单元的内存地址空间是相互独立,在切换时候,会增加额外开销。
- 操作系统的主要作用:管理计算机的软硬件资源;改善人机界面。
- 操作系统的功能:处理器管理、存储管理、设备管理、文件管理、作业管理、网络与通信管理。
- 在CPU执行程序的过程中,由于发生了某事件而需要CPU暂时中止正在执行的程序,转去处理该事件,处理完之后再回到被中止的程序继续执行,这个过程称为中断处理。
- 进程是程序在一个数据集合上运行的过程,它是系统进行资源分配和调度的一个独立单位。
- 进程的同步是合作进程间的直接制约问题;进程的互斥是申请临界资源进程间的间接制约问题。
- P操作的定义:S:=S-1,若S>=0,则执行P操作的进程继续执行;若S<0,则将该进程设为阻塞状态(因为无可用资源),并将其插入阻塞队列。
- V操作的定义: S:=S+1,若S>0,则执行V操作的进程继续执行;若S<=0,则从阻塞状态唤醒一个进程,并将其插入就绪队列,然后执行V操作的进程继续。
- OSI七层模型从下到上包括:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。
- TCP/IP四层协议模型:应用层、传输层、网际层、网络接口层。
- 物理层的硬件设备:集线器(HUB),中继器;数据链路层的硬件设备:网桥,交换机;网络层的硬件设备:路由器,三层交换机。
- TCP与UDP的区别:TCP是面向连接,经过3次握手,4次断开,可靠的传输;UDP是面向无连接,不可靠的传输。
- 常用的端口号:POP3(110端口,邮件收取),SMTP(25端口,邮件发送),FTP(20数据端口/21控制端口,文件传输协议),HTTP(80端口,超文本传输协议,网页传输),DHCP(67端口,IP地址自动分配),SNMP(161端口,简单网络管理协议),DNS(53端口,域名解析协议,记录域名与IP的映射关系)。
- IP地址是TCP/IP网络中每台主机的逻辑标识,这个地址对每个使用TCP/IP通讯的主机来说必须是唯一的。IP地址由32位二进制数组成。每个IP地址内部又可以分成两部分,网络ID和主机ID。
- 网络攻击的相关概念,被动攻击:截获;主动攻击:消息篡改、IP地址重放、DOS、DDOS等。
- 常见对称密钥加密算法:数据加密标准DES、3DES(三重DES)、RC-5、IDEA算法、AES算法。
- 常见非对称密钥加密算法:RSA体制、Elgamal等。
- 消息摘要的特点:首先,在某一特定时间内,无法查找经Hash操作后生成特定Hash值的原消息;其次,无法查找两个经Hash操作后生成相同Hash值的不同消息。
- 数字证书是把公钥及拥有者绑定在一起的数字文件,CA利用自己的私钥签名用户证书。
- 程序设计语言分为低级语言和高级语言,低级语言一般包括汇编语言和机器语言,高级语言一般指面向对象或面向过程的设计语言。
- 用汇编语言编写的程序叫“汇编语言程序”,将汇编语言程序翻译成机器语言程序的程序是“汇编程序”。
- 高级语言的通用性强、兼容性好、便于移植。
- 程序或算法的三种基本控制结构为顺序、选择和循环结构。
- 编译器工作的过程包括:词法分析阶段、语法分析阶段、语义分析阶段、中间代码生成、目标代码生成。
- 瀑布模型是将软件生存周期中的各个活动规定为依线性顺序连接的若干个阶段的模型,包括需求分析、设计、编码、测试、运行与维护。
- V模型是瀑布模型的一个变体,描述了质量保证活动和沟通、建模相关活动以及早期构建相关的活动之间的关系。
- 原型模型开始于沟通,其目的是定义软件的总体目标,标识需求,然后快速制定原型开发的计划,确定原型的目标和范围,采用快速设计方式对其进行建模,并构建原型。
- 增量模型是融合了瀑布模型的基本成分和原型实现的迭代特征,假设可以将需求分段为一系列增量产品,每一增量可以分别开发。
- 螺旋模型是采用一种周期性的方法来进行系统开发,结合原型方法和瀑布模型;每一周期都包括制定计划、风险分析、实施工程和评审4个阶段,进行迭代。
- 喷泉模型是一种以用户需求为动力,以对象作为驱动的模型,适合于面向对象的开发方法。
- 统一过程是一种以用例驱动、以体系结构为核心、迭代及增量的软件过程模型。
- 敏捷方法是通过“尽可能早地、持续地对有价值的软件的交付”使客户满意。
- 软件配置管理的基线包括功能基线(设计基线)、分配基线(需求基线)、产品基线。
- 软件过程能力成熟度模型(Capability Maturity Model of Software,CMM)是对软件组织进化阶段的描述,包括:初始级、可重复级、已定义级、已管理级、优化级。
- 数据流图是一种最常用的结构化分析工具,从数据传递和加工的角度,以图形的方式刻画系统内数据的运动情况。
- 聚合是衡量模块内部各元素结合的紧密程度;耦合度量不同模块间互相依赖的程度。
- 聚合从低到高分别是:功能聚合、顺序聚合、通信聚合、过程聚合、时间聚合、逻辑聚合、偶然聚合。
- 耦合从低到高分别是:非直接耦合、数据耦合、标记耦合、控制耦合、外部耦合、公共耦合、内容耦合。
- 详细设计包括代码设计、数据库设计、输入/输出设计、用户界面设计、处理过程设计。
- UML建立的模型的三个要素:事物:是对模型中最具有代表性的成分的抽象;关系:关系把事物结合在一起;图:图聚集了相关的事物。
- 软件测试的目标是为了发现错误而执行程序的过程、好的测试方案能够发现迄今为止尚未发现的错误、成功的测试将发现至今尚未发现的错误。
- 软件测试的类型,按开发阶段划分:单元测试、集成测试、系统测试、确认测试、验收测试。
- 软件测试的类型,按测试技术划分:白盒测试、黑盒测试、灰盒测试。
- 白盒测试又称结构测试或逻辑驱动测试,是按照程序内部的结构测试程序,通过测试来检测产品内部动作是否按照设计规格说明书的规定正常进行,检验程序中的每条通路是否都能按预定的要求正确工作。
- 黑盒测试又称功能测试:通过软件的外部表现来发现其缺陷和错误。
- 语句覆盖(SC):设计足够的测试用例,使得被测试程序中每条语句至少执行一次。
- 判定覆盖(DC):设计足够的测试用例,使得程序中的每个判定至少都获得一次“真值”或“假值”。又称分支覆盖:使程序中的每一个取“真”分支和取“假”分支至少经历一次。
- 条件覆盖(CC):设计足够的测试用例,使得每一判定语句中每个逻辑条件的可能值至少满足一次。
- 条件判定组合覆盖(CDC):设计足够的测试用例,使得判定中每个条件的所有可能(真/假)至少出现一次,并且每个判定本身的结果(真/假)也至少出现一次。
- 单元测试又称模块测试,是通过对每个最小的软件模块进行测试,对照模块的功能说明,检查各个程序模块是否正确地实现了规定的功能,确保其能正常工作。由开发人员进行,测试的主要内容包括模块接口测试、局部数据结构测试、路径测试、错误处理测试、边界测试。
- 集成测试在单元测试的基础上,需要将所有模块按照概要设计说明书和详细设计说明书的要求进行组装。主要目的是验证组成软件系统的各模块的接口和交换作用。
- 集成测试完成的标志:成功地执行了测试计划中规定的所有集成测试、修正了所发现的错误、测试结果通过了专门小组的评审。
- 确认测试又称合格性测试,用来检验软件是否符合用户的需求。
- 系统测试将软件与整个系统的硬件、外设、支持软件、数据和人员等结合起来,以需求规格说明为依据,在实际运行环境下进行测试。检验其是否有不符合系统说明书的地方。
- 验收测试在测试组的协调下,由用户代表进行。
- 算法就是解决特定问题的算法,算法可以用流程图或伪代码等各类工具来描述
- 算法的五大特性:有穷性(必须执行有穷步后结束)、确定性(每一个步骤无二义性)、可行性(每一步都是可行的)、输入(0个或多个输入)、输出(一个或多个输出)。
- 数据结构按逻辑结构来分可以划分为线性结构和非线性结构。
- 线性表是最常用且最简单的一种数据结构,由n个数据元素构成的有限序列。线性表的每个元素有唯一的一个前驱,也有唯一的一个后继。
- 队列是一种只允许在一端进行插入,而在另一端进行删除的线性表(先进先出)。
- 树的遍历方式是根据根的位置决定,前序(先序)遍历(根左右),中序遍历(左根右),后序遍历(左右根)。
- 知识产权是指人们基于自己的智力活动创造的成果和经营管理活动中的经验、知识而依法享有的权利。
- 著作权是指作者对其创作的作品享有人身权和财产权。人身权包括:发表权、署名权、修改权、保护作品完整权等。财产权包括使用权和获得报酬权,即以复制、表演、播放、展览、发行、摄制电影、电视、录像或者改编、翻译、注释、编辑等方式使用作品的权利,以及许可他人以上述方式使用作品并由此获得报酬的权利。
- 著作权产生时间:作品完成自动产生;无须注册、申请。
- 知识产权的特点包括:无形性、双重性、确认性、独占性、地域性、时间性。
- 根据电路是否具有存储功能,将逻辑电路分为两种类型:组合逻辑电路和时序逻辑电路。
- 组合逻辑电路不含存储功能,它的输出值仅取决于当前的输入值,常用组合逻辑电路:译码器、多路选择器等;时序逻辑电路含存储功能,它的输出值不仅取决于当前输入状态,还取决于存储单元中的值,常用时序逻辑电路:寄存器、计数器等。
- TTL→CMOS转换,在TTL电路输出端与电源之间接上拉电阻R,R的取值由TTL的Ioh决定。
- CMOS→TTL转换,TTL电路输入短路电流较大,要求CMOS电路在VOL为0.5V时给出足够的驱动电流。
- 嵌入式微处理器的分类:嵌入式微控制器、嵌入式微处理器、嵌入式片上系统。
- 冯·诺伊曼结构也称普林斯顿结构,是一种将程序指令存储器和数据存储器合并在一起的存储器结构。哈佛结构是一种将程序指令存储和数据存储分开的存储器结构。
- CPU执行程序过程,随机接收到外设发来的中断请求,CPU可暂时中断当前正在执行的程序,转到相应的中断服务(子)程序进行处理(中断响应和中断服务)。处理完毕,再返回到原来的程序(被中断之处,即断点)(中断返回),继续运行下去,这个过程称作中断。
- Flash memory(闪速存储器)是嵌入式系统中重要的组成部分,用来存储程序和数据,掉电后数据不会丢失。
- 常见RAM的种类有:SRAM(Static RAM,静态随机存储器)、DRAM(Dynamic RAM,动态随机存储器)、DDRAM(Double Data Rate SDRAM,双倍速率随机存储器)。
- 常见ROM有:Mask ROM(掩膜ROM)、PROM(Programmable ROM,可编程ROM)、EPROM(Erasable Programmable ROM,可擦写ROM)、EEPROM(电可擦除可编程ROM,也可表示为E2PROM)、Flash ROM(闪速存储器)。
- 分辨率:反映A/D转换器对输入电压微小变化的响应能力,通常用数字输出最低位(LSB)所对应的模拟输入的电平值表示。n位A/D转换能反应1/2n满量程的模拟输入电平。分辨率直接与转换器的位数有关,一般也可简单地用数字量的位数来表示分辨率,即n位二进制数,最低位所具有的权值,就是它的分辨率。
- 串行通信:数据是一位一位地进行传输的,在传输中每一位数据都占据一个固定的时间长度。
- 串行数据传送有3种基本的通信模式:单工、半双工、全双工通信。
- 并行通信通常是将数据字节的各位用多条数据线同时进行传送。一般用来连接打印机、扫描仪等,所以又称打印口。
- 串行总线:RS-232C、RS-422、RS-485、USB、IEEE 1394;并行总线:IEE488总线、SCSI总线、MXI 总线。
- PCI(Peripheral Component Interconnect,外围设备互连)总线,是由Intel公司推出的一种局部总线,是当前用于系统扩展最流行的总线之一。
- SPI(Serial Peripheral Interface,串行外围设备接口),是由Motorola公司开发的一个低成本、易使用的接口,主要用在微控制器(MCU)和外围设备芯片之间进行连接。
- I2C BUS(Inter Integrated Circuit BUS,内部集成电路总线),是由Philips公司推出的二线制串行扩展总线,用于连接微控制器及其外围设备。
- CAN(Controller Area Network,控制器局域网),是德国Bosch公司于1983年为汽车应用而开发的,它是一种现场总线,能有效支持分布式控制和实时控制的串行通信网络。
- 以太网( Ethernet )是目前应用最广泛的局域网通讯方式,同时也是一种协议。以太网协议定义了一系列软件和硬件标准,从而将不同的设备连接在一起。嵌入式系统通常使用的以太网协议是IEEE802.3标准。
- WLAN( Wireless Local Area Network,无线局域网),是利用无线通信技术在一定的局部范围内建立的,是计算机网络与无线通信技术相结合的产物,以无线多址通道作为传输媒介,提供有线局域网的功能。
- 电路板设计主要分为3个步骤:设计电路原理图、生成网络表、设计印制电路板。
- 多层PCB设计的注意事项:高频信号线一定要短,不可以有尖角( 90°直角),两根线之间的距离不宜平行、过近,否则可能会产生寄生电容。如果是双面板,一面的线布成横线,一面的线布成竖线,尽量不要布成斜线。一般,线宽为0.3mm,间隔为0.3mm。对于电源线或者大电流线应该有足够宽度,一般需要60~80mil。屏蔽。铜膜线的地线应该在电路板的周边,同时将电路上可以利用的空间全部使用铜箔做地线,增强屏蔽能力,防止寄生电容。