为了备考2019年嵌入式系统设计师,同时更关键的是为了补齐一些嵌入式方面的基础知识,将09年至17年考过的考点总结了一下:(当下已经考完了,上午卷有很多没总结到的考点,下午基本都是送分题,除了最后一道单链表还需要思考,其余答案都可以在题目中找到

上午卷

(1) 软件能力成熟模型(CMM)(2017/2016/2014/2012/2010/2009)

规定了软件研制和软件测试中的主要软件管理过程和工程过程的实践,由低到高分为五个等级:初始级、可重复级、已定义级、已管理级和优化级,每个等级又被分解成几个关键过程域,共18个关键过程域;
初始级:没有关键过程域;
可重复级:需求管理、软件项目计划、软件项目跟踪与监控、软件项目策划、软件需求管理;
**已定义级:**同行评审 、组间协调、软件产品工程、集成软件管理、培训大纲、组织过程定义、组织过程集点;
**已管理级:**软件质量管理、定量过程管理;
优化级:过程更改管理、技术改革管理、缺陷预防;

(2)网络传输(Every year)

因为TCP/IP协议范围过于宽泛,且每年会出5题在这方面,所以分小类讲;
1) 常用网络互联设备
互连设备 工作层次 主要功能
中继器 物理层 对接收信号进行再生和发送,只起到扩展传输距离的作用,对高层协议是透明的,但使用个数有限。
集线器 物理层 多端口的中继器
网桥 数据链路层 根据帧物理地址进行网络之间的信息转发,可缓解网络通信繁忙度,提高效率。
二层交换机 数据链路层 指传统的交换机,多端口网桥。
三层交换机 网络层 带路由功能的二层交换机。
路由器 网络层 通过逻辑地址进行网络之间的信息转发,可完成异构网络之前的互联互通,只能连接使用相同网络协议的子网。
多层交换机 高层 带协议转换的交换机。
网关 高层 最复杂的网络互连设备,用户连接网络层以上执行不同协议的子网。

(3)IP地址

A类网络:第一字节的第一位必须是0(0~128),子网掩码:255.0.0.0;
B类网络:第一字节的前2位必须是10(128~192),子网掩码:255.255.0.0;
C类网络:第一字节的前2位必须是110(192~255),子网掩码:255.255.255.0;
主机路由器的子网掩码是255.255.255.255;

特殊的
① IP地址后面斜杠加具体数字
xx.xx.xx.2/24 —>表示一个ip地址xx.xx.xx.2,24告诉了这个ip地址所对应的子网掩码。
xx.xx.xx.0/24 —>表示一个网段,并且24告诉了当前具体的子网掩码。
② 某些特殊的IP地址
127.0.0.1是本地回送地址,当网络不可用时,为了测试编写好的网络程序;

(4) TCP/IP协议

其中考的比较多的是TCP、UDP、DNS、SNMP、SMTP和POP3这几个协议;
① POP3协议:POP3采用C/S模式进行通讯(即Client/Server),POP3需要TCP连接的支持,是基于TCP协议的应用层协议,使用110号端口
② SMTP协议:SMTP负责邮件发送,POP负责邮件接收,是基于TCP协议的应用层协议,使用25号端口
③ DNS协议:命令ipconfig/flushdns用于清理并重设DNS客户解析器缓存的内容;
④ SNMP协议:简单网络管理协议(SNMP)被封装为UDP并在IP协议中封装和传输,配置SNMP服务器需要管理员或者administrater
⑤ TCP协议:较为复杂,采用3次握手建立连接,4次挥手断开连接,传输过程中实现可靠传输、流量控制以及拥塞控制,用于可靠性要求高的应用;
⑥ TCP的流量控制采用了可变大小的滑动窗口协议
⑦ UDP协议:是一个简单的面向数据包的传输层协议,而UDP对应的则是可靠性要求低、传输经济(开销小)的应用;
⑧ 在ASP的内置对象中,response对象可以修改Cookie中的值
⑨ DHCP协议:DHCP封包在传输层( Transport Layer)是采用UDP协议,DHCP客户端可从DHCP服务器获得本机IP地址,DNS服务器的地址,DHCP服务器的地址,默认网关的地址;
⑩ ICMP协议:用于在IP主机、路由器之间传递控制消息,属于网络层协议,封装在IP数据报中,是IP的一个组成部分;
⑪ PPP认证:链路层协议,PPP中的安全认证协议有PAP和CHAP两种,前者提供了一种简单的两次握手认证方法,不太安全,后者采取三次握手周期地验证对方身份;
Ping命令用于检查网络是否连通;
⑬ 两个IPV6结点通过隧道技术通过IPV4网络进行通信,纯IPV6与纯IPV4结点通过翻译技术进行通信;
⑭ HTTP协议:
标题:title,< HR >代表一条横直线,< B >代表加粗,< I >代表斜体;
GET命令用于读取一页网页,HEAD读取网页头信息,POST用于把消息加到指定的网页上;
HTTPS基于SSL安全协议进行加密,其默认端口为443

(5) 网络攻击和网络安全(Every year except 2009)

1) 网络攻击分为主动攻击和被动攻击,主动攻击会导致某些数据流的篡改和虚假数据流的产生,这类攻击可分为篡改、伪造消息数据和终端(拒绝服务);被动攻击中攻击者不对数据信息做任何修改,截取/窃听是指在未经用户同意和认可的情况下攻击者获得了信息或相关数据。通常包括窃听、流量分析、破解弱加密的数据流、嗅探、嗅探等攻击方式;
其中拒绝服务(DOS)攻击,目的是使计算机或网络无法提供正常的服务。最常见的DoS攻击有计算机网络带宽攻击和连通性攻击,DDoS是分布式拒绝服务的英文缩写,常见的DOS攻击有SYN Flood攻击、UDP、Ping洪水攻击、teardrop攻击等;
2) 入侵检测技术:包括专家系统、模型检测、简单匹配;
3) 防火墙功能:入侵检测功能、网络地址转换功能、网络操作的审计监控功能、强化网络安全服务,通常不包括查毒、漏洞扫描等功能;
4) 系统安全措施:漏洞发现与补丁管理;
5) DMZ:DMZ 区可以理解为一个不同于外网或内网的特殊网络区域,DMZ 内通常放置一些不含机密信息的公用服务器,比如 WEB 服务器、E-Mail 服务器、FTP 服务器等;
6) 计算机病毒分类:主要有木马病毒、蠕虫病毒、系统病毒、脚本病毒等,木马病毒有冰河、灰鸽子、蜜蜂大盗、PassCopy和黑蜘蛛侠;蠕虫病毒有红色代码、爱宠病毒、熊猫烧香等;
7) 安全协议中SSL与TLS类似;
8) 公钥体系:公钥体系(PKI)中,私钥用于解密和签名、公钥用于加密和认证;
9) 常用加密算法:分为对称加密算法、非对称加密算法和Hash算法;对称加密算法主要有:DES、3DES和AES;非对称加密算法有:RSA、ECC、DSA等;Hash算法代表MD5;ECC、DSA和RSA属于公开加密算法,DES属于私钥加密算法;

(6)软件开发方法

1) 结构化开发方法(SD):按软件生命周期划分,有结构化分析(SA),结构化设计(SD)和结构化实现(SP);
其中数据流图(DFD)是结构化分析的一个重要模型:在分层数据流图中,遵循:
① 数据守恒:每个加工必须既有输入数据流,又有输出数据流;
② 加工守恒:每条数据流的起点或终点必须是加工,加工需要有一个加工规格说明,描述把输入数据流变换为输出数据流的加工规则,但不需要具体实现流程;
③ 必须保持子图和父图的平衡;
与数据流图对应的是数据字典: 对数据流图中出现的全部被命名的图形元素在数据字典中作为一个词条加以定义,使每一个图形元素的名称都有一个确切的解释;
2) 面向对象开发方法(OOD):对象是基本的运行时实体,
类是在对象之上的抽象;
消息是对象之间进行通信的一种规格说明;
继承:子类会继承父类的某些特点,并在其他方面更具体化;
封装:逻辑上相关的数据以及行为绑定在一起,并使信息对使用者隐蔽;
多态:指由继承而产生的相关的不同的类,其对象对同一消息会做出不同的响应;
抽象:简化复杂的现实问题的途径,它可以为具体问题找到最恰当的类定义,并且可以在最恰当的继承级别解释问题;
常用的面向对象开发方法有Booch方法、Coad方法和OMT方法;
3) 敏捷方法:基于快速迭代的思想,主要有水晶法,认为,每个项目都需要有一套不同的策略、约定和方法论;并列争球法:把每30天一次的迭代视为一个周期,并按需求的优先级实现产品多个小组并行;
4) 原型法:针对需求不清晰且系统规模不大的项目;
5) 内聚性:内聚性,又称块内联系,指模块的功能强度的度量,类型有偶然(巧合)内聚、逻辑内聚、时间内聚、通信内聚、顺序内聚和功能内聚;(2014年有解释);划分模块时的原则是:一个模块的作用范围应该在其控制范围之内;
6) 软件项目计划安排有两种常见的工具:甘特图和PERT图,甘特图可以清楚地表示任务的持续时间和并行情况,但不能清晰描述任务之间的依赖关系,PERT则反之;PERT图关键路径是消耗时长最长的那条路;而某条任务可延迟的最长时间是关键路径长度-通过该任务的最长路径长度;
7) 常见软件开发模型:

(7)专利权、著作权、商标权等等(Every year)

1) 专利权:从功能角度进行保护;同时申请,协商,协商不成,同时驳回;
计算机算法、游戏的规则和方法不能够取得专利权;
2) 著作权:从软件作品角度保护;
受他人委托开发的软件,且无书面协议,属于受委托者;
软件著作权自软件产生之日起自动产生,无需登记注册;
教师在课堂上的讲课属于著作权;
在特定条件下,法律允许他人自由使用享有著作权的作品,叫做合理使用权;
3) 商标权:从商品、商誉角度保护;
商标权的保护期限为十年,若有效期满可以延长;
中国商标权的获得必须履行商标注册程序,而且实行申请在先原则,同时申请,使用在先的获得注册,若同时使用或均未使用,协商,协商不成,抽签决定;
4) 商业秘密权:秘密存在,权利即存在,从技术信息,经营信息等不为人所知角度保护;
5) 发表权:一次性权利,发表权行使一次,不再享有发表权;
6) 单纯以计算机程序为主题的发明创造是不能获得专利权的,但是通过予以运行用于控制生产过程的程序或者算法可以收到专利权的保护;
7) 独家许可使用权,软件著作者可以使用,独占许可使用,软件著作者不可以使用;

(8)存储器类型(Every year)

1)主要存储器的分类及特点:

2)磁盘工作方式介绍:硬盘读取数据时,读写磁头沿径向移动,移到要读取的扇区所在磁道的上方,这段时间称为寻道时间,与磁头起始位置与目标位置之间距离有关;磁头到达指定磁道后,然后通过盘片的旋转,使得要读取的扇区转到读写磁头的下方,这段时间称为旋转延迟时间;
单次IO时间 = 寻道时间 + 旋转延迟 + 传送时间(读写数据块时间);
3)计算SRAM芯片引出线的最小数目:地址线数目+数据位数目+片选线+读写控制线+电源线;
4)RAM:断电将丢失其存储内容,RAM主要分为SRAM、DRAM和SDRAM;
SRAM:无需刷新电路,数据不会丢失,用于CPU内部的一级缓存或者二级缓存,容量较小;
DRAM:每隔一段时间就需要刷新电路,才能保存数据,容量较SRAM大,但读写速度相对慢;
SDRAM:属于DRAM,数据的读写需要时钟同步;SDRAM为32位宽,外围设备地址线A0必须和SDRAM控制器的A2地址线相连;
ROM:可编程只读存储器,断电存储内容不丢失;
PROM:只能写一次,写错就报废;
EPROM:可重复擦写,受到紫外线照射会清除数据,需要专用的写入工具;
EEPROM:个人电脑中的电压即可以擦写和变成,可以以字节为单位进行访问和修改;
FLASH:广义上的EEPROM,以块为单位进行访问和擦写,写操作只能将数据位从1变成0,写入之前需要擦写,分为NOR FLASH、NAND FLASH;
NOR FLASH:数据线和地址线分开,可以实现ram一样的随机寻址功能,可以读取任何一个字节,但是擦除仍要按块来擦,擦写之前所有位置0;
NAND FLASH:数据线和地址线复用,按块来擦除,按页来读,读取速度比nor flash慢一点,但是擦除和写入速度比nor flash快很多。nand flash内部电路更简单,因此数据密度大,体积小,成本也低。因此大容量的flash都是nand型的。小容量的2~12M的flash多是nor型的;最重要的,NAND FLASH不能直接运行运行内存;
5)虚拟存储器调度方式有:页式、段氏、段页式三种:
页式:逻辑和物理地址都分成固定大小;
段氏:按照程序的逻辑划分地址空间;
段页式:物理空间分为页,程序中按模块分段;

(9)常见通讯协议(2017)

1) 常见串行总线有RS232/RS422/RS485、I2C、SPI、IEEE94、USB、CAN;
常见并行总线有ISA、PCI、VME;
新一代高速串行总线有SATA、PCIE、IEEE 1394、RapidIO、USB3.0、AFDX、FC;
2)RS232采取不平衡传输方式,即所谓单端通讯,适合本地设备之间的通信,最少3根数据线(接收线、发送线和信号地),通讯距离短(十米左右,与波特率相关);
RS422采用差分信号进行通信(所以不需要信号地),采用单独的链路,最少4根数据线(TX+、TX-、RX+、RX-),通讯距离可达千米;
RS485也采用差分信号进行通信,但收发使用相同链路,故最少2根数据线(TR+、TR-),通讯距离同RS232,真正实现多点结构总线的是RS485;
3)IEEE1394分为两种传输方式:Backplane模式和Cable模式。Backplane模式最小的速率也比USB 1.1最高速率高,分别为12.5 Mbps 、25 Mbps、50 Mbps,可以用于多数的高带宽应用。Cable模式是速度非常快的模式,分为100 Mbps、200 Mbps和400 Mbps几种,这三种速率在标准中也称为S100、S200和S400;
IEEE 1394具有64位寻址空间;
EEE 1394B是1394A向下兼容的扩展、1394总线B最多支持64个结点地址,但只支持63个物理结点;
IEEE 1394通讯协议包含事务层、链路层和物理层;
4) 帧中继、DNN和X.25特点;
5) Burst传输:多个数据单元当做一个单元(相当一个数据块)来传送,开头给一个首址;
6) ARINC429总线是一种单向广播式的串行总线,只允许有一个发送设备和最多20个的接收设备;
7) 同步通信技术要求双方具有同频同相的同步时钟,对于字符间的时序没有要求;
8) 菊花链:串行仲裁;

(10)DMA(2017/2016/2015)

1) DMA控制器里面包含地址寄存器、状态寄存器、控制寄存器、字节寄存器;工作过程如下:
① 向CPU申请DMA传送;
② CPU允许后,DMA获得系统总线的控制权;
③ 在DMA控制器的控制下,主存和外部设备之间直接交换数据,传送过程当中不需要CPU的参与;
④ 传送结束后。向CPU返回DMA操作完成的信号;
2) DMA请求的检测点设置是在每个机器周期,即总线周期结束时执行;

(11)嵌入式系统需要记忆的知识点:

1) 锁相环(PLL)不仅可以对输入时钟倍频,还可以改变输出时钟相位;
2) 微内核可以支持多处理机运行,适用于分布式系统环境;
3) P操作:申请资源,S信号量-1;V操作,释放资源,S信号量+1;
4) 调试可使用串口或者网络;
5) 看门狗的作用是防止程序跑飞或死锁,看门狗的定时走起大于软件的运行周期;
6) 在数据上尽量使用C语言的数据类型,不利于系统移植;
7) 响应时间、吞吐量、生存时间是衡量嵌入式系统的三个指标,其中生存时间是指数据有效等待时间、这段时间内数据是有效的;
8) 带热备份的系统称为双重系统,工作时,两个子系统同步运行,当联机系统错误时,备份系统直接顶替上;

(12)PCB布局和焊接

1)遵循先复杂后简单原则,即先布局复杂器件,后布局外围简单器件,布线时核心器件和高速信号优先;
2)减少信号辐射方法:电源和地级中间加电容,减少线长,增加线宽,在有脉冲电流的引线上串联小磁珠;

(13)处理器体系结构

1)CISC(复杂指令集计算机)、RISC(精简指令集计算机):
2) MIPS(指令执行速度,单位百万次/s),用于描述计算机的定点运算速度,=1/kt(k:执行基本指令所需周期,t:机器周期微妙);
3)指令系统中,程序控制指令用于改变程序执行的顺序;
4)DSP芯片采用改进的哈佛结构,特点是程序和数据具有独立的存储空间,支持流水线操作,具有在单周期内操作的多个硬件地址产生器;
5)流水线技术:

流水线存在数据冒险、结构冒险和控制冒险三种冒险,数据冒险是指令上游结果未获得导致指令失败的现象,结构冒险是指硬件资源缺乏导致指令失败的现象,控制冒险是指指令不是所需要的导致指令失败的现象;
6)Cache一般有3种地址映射方式:全相联映射、直接相联映射和组相联映射;
直接映射:命中率低,利用率低,速度快;
全相联映射:利用率高、方式灵活,使用成本高,速度慢;
组相联映射:两者之间;
7)内存与I/O统一编址,是靠不同地址来区分的;
8)三总线结构计算机,总线结构包括数据、地址和控制总线;
9)冯诺依曼计算机区分数据和指令:指令周期的不同阶段;

(14)系统开发与维护

1)常见软件开发模型:

2) 软件需求分析:
软件需求分析的任务是确定软件系统的功能、性能、接口等要求,分析软件系统的数据要求;输入是软件研制任务书,输出需求规格说明书;可用数据流图来分析数据运行情况,用结构化语言、判定表与判定树来描述数据流变换,用数据字典来定义元素;
3) 软件测试:
按照级别可分为单元测试、部件测试、配置项测试、系统测试;
按照是否执行分为静态测试和动态测试:动态测试有功能确认与接口测试、覆盖率分析、性能分析、内存分析,静态测试有代码检查、静态结构分析和代码质量度量等;
按照测试用例的设计方法分为黑盒测试和白盒测试:黑盒测试又称功能测试,白盒测试注重过程和结构;
4) 项目质量保证人员在项目初期策划质量保证活动,贯穿整个项目生命期,给质量的持续改进过程提供保证;
5) 基于模型的软件设计通常是以不确定方向进行迭代的;
6) 软件的健壮性:在意外的扰动情况下,系统维持可接受水平的服务的能力;
7) 软件可靠性与系统的输入和输出也有关;
8) 软件项目开发采取开发库、受控库和产品库,三库物理隔离的策略:
开发库存放开发过程中确定的文档合集;
受控库中存放在软件开发过程中达到相对稳定、可以作为后续开发活动输入的软件工作产品;
产品库中存放受控库中各阶段基线对应的文档、源程序和可执行代码;
9) 基线:一组经过证实验证、确认,并可作为后续工作开展依据的产品,分为功能基线、分配基线和产品基线:
功能基线:系统分析与软件定义阶段结束时产生;
分配基线:需求分析阶段结束时产生;
产品基线:综合测试阶段结束时产生;
10) 软件的内部质量属性和外部质量属性可划分为:功能性、可靠性、易用性、效率、维护性、可移植性;
11) Jackson设计方法是一种面向数据结构的软件设计方法;

(15)文件相关知识点

1)C语言文件读写方式:

3) 文件系统:文件控制块(FCB)是文件系统中的唯一标志,它包括文件的标志信息、文件名、类型等,文件目录是文件控制块的有序集合;
4) 段页式存储管理:
5) 文件系统中,open命令的功能是将待访问文件的目录信息读入内存活动文件表中,建立用户和文件的联系;
6) 大端存储指高位数据保存在内存的低地址(与人类习惯类似),小端存储反之;
(15)逻辑电路
1)组合逻辑电路与电路过去状态无关,时序逻辑电路与电路过去状态有关;
2)时序逻辑电路的状态主要由存储电路来记忆和表示,触发器是构成时序逻辑电路的基本元件,时序逻辑电路还分为同步和异步,其差别在于各触发器的状态变化是否是同时发生的;
3)某移位型计数器中移位寄存器触发器级数为n,则组成的环形计数器和扭型计数器的进位模数分别为n和2n;
4)FPGA/CPLD在进行逻辑电路设计时,一般使用HDL(硬件描述语言)进行输入设计,综合后的结果是电路级的网表文件;
5)TTL电路和CMOS电路
①TTL电路是电流控制器件,而coms电路是电压控制器件。
②TTL电路的速度快,传输延迟时间短(5-10ns),但是功耗大。
COMS电路的速度慢,传输延迟时间长(25–50ns),但功耗低。
COMS电路本身的功耗与输入信号的脉冲频率有关,频率越高,芯片集越热,这是正常现象。
③COMS电路的锁定效应:
COMS电路由于输入太大的电流,内部的电流急剧增大,除非切断电源,电流一直在增大。这种效应就是锁定效应

(16)汇编语言相关

1)寻址方式:
2)
(*)无法归类的小知识点
1)浮点数的计算:包含阶符、阶码、数符、尾数,阶码的位数决定浮点数能表示的数的范围,尾数决定浮点数的精度;
2)数据库:数据一致性指的是同一数据的多个副本之间没有矛盾,完全一致;
3)算法时间复杂度:算法执行过程中所需要的基本运算次数;
4)高响应比优先算法综合考虑了进程的等待时间和执行时间;
5)TLB:旁路转换缓冲;
6)龙芯指令系统兼容MIPS指令集;

下午卷:

1)程序组成:

一个程序本质上都是由 bss段、data段、text段三个组成的:
bss段 -存放程序中未初始化的全局变量;
data段-存放程序中已初始化的全局变量和常量;
text段-存放程序执行代码;
堆-存放进程运行中动态分配的内存段;
栈-又称堆栈,是用户存放程序临时创建的局部变量;

2)RapidIO逻辑层协议:

逻辑层定义了操作协议和相应的包格式。RapidIO支持的逻辑层业务主要是:直接IO/DMA和消息传递。
直接IO/DMA模式是最简单实用的传输方式,其前提是主设备知道被访问端的存储器映射。在这种模式下,主设备可以直接读写从设备的存储器。直接IO/DMA在被访问端的功能往往完全由硬件实现,所以被访问的器件不会有任何软件负担。
消息传递模式则类似于以太网的传输方式,它不要求主设备知道被访问设备的存储器状况。数据在被访问设备中的位置则由邮箱号(类似于以太网协议中的端口号)确定。从设备根据接收到的包的邮箱号把数据保存到对应的缓冲区,这一过程往往无法完全由硬件实现,而需要软件协助,所以会带来一些软件负担。

3)中断处理流程:

① 关中断:进入不可再次响应中断状态;
② 保存断点:当前程序计数器(PC)中的内容;
③ 识别中断源;
④ 保护现场和屏蔽字;
⑤ 设置新的屏蔽字;
⑥ 开中断:允许优先级更高的中断打断;
⑦ 执行中断服务程序主体;
⑧ 关中断:保证回复现场和屏蔽字时不被打断;
⑨ 恢复现场和屏蔽字;
⑩ 开中断;
⑪ 中断返回,回复断点;

4)通讯协议详解:

1)RS232采取不平衡传输方式,即所谓单端通讯,支持全双工通讯,适合本地设备之间的通信,最少3根数据线(接收线、发送线和信号地),通讯距离短(十米左右,与波特率相关);
2)RS422采用差分信号进行通信(所以不需要信号地),采用单独的链路,最少4根数据线(TX+、TX-、RX+、RX-),通讯距离可达千米;
3)RS485也采用差分信号进行通信,但收发使用相同链路,故最少2根数据线(TR+、TR-),RS485可以实现一对多半双工通信,传输距离可达千米以上;
4)SPI是单主设备,IIC是多主设备,但是IIC总线上,不可以有多个相同IIC地址的设备;
5)SPI是一种环形总线结构;
6)IIC数据传输速率有标准模式(100kbps)、快速模式(400kbps)和高速模式(3.4Mbps);
7)PCI总线:是由PCISIG推出的一种局部并行总线标准,
PCI总线的基本传输机制是猝发式传输;
PCI设备可以在主从设备之间转换,但某一时刻只能是主设备或者从设备;
PCI总线有三种桥:HOST/PCI桥、PCI/PCI桥、PCI/LEGACY桥,对应的PCI总线中有三类设备,PCI主设备、PCI从设备和桥设备;
PCI设备识别主要是对开发商代码和设备代码进行识别,从而实现即插即用;
PCI桥可以实现不同总线之间地址空间映射;
访问配置空间时,PCI桥应提供IDSEL信号以选择PCI设备;

5)测试的基本概念

① 黑盒测试:已知产品的功能设计规格,可以进行测试证明每个实现了的功能是否符合要求,依靠需求规格说明中的功能设计规格;
② 白盒测试:已知产品的内部工作过程,可以通过测试证明每种内部操作是否符合设计规格要求,所有内部成分是否以经过检查,基于软件源代码。
③ 灰盒测试:是介于白盒测试与黑盒测试之间的,可以这样理解,灰盒测试关注输出对于输入的正确性,同时也关注内部表现,但这种关注不象白盒那样详细、完整,只是通过一些表征性的现象、事件、标志来判断内部的运行状态;
④ 测试策略:对所有的测试而言,都必须进行正常测试和异常测试;
⑤ 测试内容:由题目得出;
⑥ 缺陷探测率(DDP)= 测试发现的软件问题/软件总的发现问题;

6) 覆盖率测试(属于白盒测试)

7) 预编译的一些概念

条件编译:出于对程序代码优化的考虑.希望只对其中一部分内容进行编译.此时就需要在程序中加上条件,让编译器只对满足条件的代码进行编译,将不满足条件的代码舍弃,这就是条件编译;

8)运算符优先级

对于优先级,有一个普遍的规律:
算数运算符>关系运算符>逻辑运算符>赋值运算符。逻辑运算符中的 “逻辑非!”除外;

9)圈复杂度计算

圈复杂度是一种代码复杂度的衡量标准。它可以用来衡量一个模块判定结构的复杂程度,数量上表现为独立现行路径条数,计算方法有:
① 没有流程图:基数为1,碰到以下项加一:if、for、while和do while的分支数,switch中的case语句数;
② 给定流程图:V(G)=P+1,P是流程图中结点判定结点数量;

10)变量存储类型

总共有四种存储类型的变量,分别为自动变量(auto)、静态变量(static)、外部变量(extern)以及寄存器变量(register);
从生存期看:
自动变量:随着函数的进栈和出栈而创建和销毁,存储在动态存储区;
静态变量:长期存在静态存储区,直到程序结束,存储在静态存储区;
外部变量:长期存在静态存储区,直到程序结束,存储在静态存储区;
寄存器变量:离开函数值就会消失,保存在寄存器中;

11)信息安全措施

① 对称密钥:又叫专用密钥加密或共享密钥加密,即加密算法的加密密钥与解密密钥相同,对称密钥加密算法主要包括:DES、3DES、AES、IDEA、RC5、RC6等;
② 非对称密钥:非对称加密算法需要两个密钥:公开密钥(publickey:简称公钥)和私有密钥(privatekey:简称私钥)。公钥与私钥是一对,如果用公钥对数据进行加密,只有用对应的私钥才能解密,加密和解密使用的是两个不同的密钥,非对称加密算法主要包括:RSA、PGP、DSA(椭圆曲线DSA)、ECC、Elgamal、背包算法、Rabin、D-H等等;
③ 访问控制:意指用户身份及其所归属的某项定义组来限制用户对某些信息项的访问,或限制对某些控制功能的使用;
④ 消息鉴别:利用消息鉴别函数产生鉴别符,接受者通过鉴别符鉴别消息的合法性、真实性和完整性;

12)TCP/IP协议以及网络连接过程

13)信号量

① 临界资源:各进程采取互斥的方式,实现共享的资源称作临界资源;访问临界资源的那段代码称为临界区;
②P操作的主要动作是:S减1;若S减1后仍大于或等于0,则进程继续执行; 若S减1后小于0,则该进程被阻塞后放入等待该信号量的等待队列中,然后转进程调度;
V操作的主要动作是:S加1;若相加后结果大于0,则进程继续执行;若相加后结果小于或等于0,则从该信号的等待队列中释放一个等待进程,然后再返回原进程继续执行或转进程调度。

嵌入式系统设计师教程笔记相关推荐

  1. 《嵌入式系统设计师教程 (第2版)》学习笔记

    <嵌入式系统设计师教程 (第2版).pdf>链接:https://download.csdn.net/download/AnChenliang_1002/87864728 该资源在上传时涉 ...

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

    以下是转帖一位网友的嵌考笔记 嵌入式系统设计师考试笔记之嵌入式系统基础知识 欧浩源(ohy3686@qq.com) 20080818 一.引言 自<嵌入式系统设计师考试复习笔记之存储管理篇> ...

  3. 嵌入式系统设计师学习笔记二十八:嵌入式程序设计③——高级程序设计语言

    嵌入式系统设计师学习笔记二十八:嵌入式程序设计③--高级程序设计语言 解释程序和编译程序 编译器的工作阶段示意图 语法错误:非法字符,关键字或标识符拼写错误 语法错误:语法结构出错,if--endif ...

  4. 嵌入式系统设计师学习笔记①:数的进制转换

    嵌入式系统设计师学习笔记:数的转换 进位计数制系统的基本概念:数制,基数,数码,数位,位权 制作了个表格如下: 在十六进制中:A-10,B-11,C-12,D-13,E-14,F-15. 举例各种进制 ...

  5. 《嵌入式系统设计师》笔记之一——嵌入式系统基础知识

    1.1 嵌入式系统的定义和组成 1.1.1 嵌入式系统的定义 以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能.可靠性.成本.体积.功耗严格要求的专用计算机系统. 1.1.2 嵌入式 ...

  6. 《嵌入式系统设计师教程》读后感:2.6嵌入式系统电源

    <嵌入式系统设计教程>是全国计算机技术与软件专业技术资格(水平)考试中嵌入式系统设计师级别的考试用书. mingdu.zheng at gmail dot com https://blog ...

  7. 2019备考[嵌入式系统设计师]你准备好了吗?

    2019年准备参加软考获取中级职业技术资格认证的小伙伴咱们约起吧?!即日起本专题将陆续推出系列备考文章,从头到尾详细解读[嵌入式设计师]考试大纲及相关历年真题,希望能够带着大家顺利拿到证书,为今后在公 ...

  8. 第一天 软考中级--嵌入式系统设计师考试复习教程开始了

    第一天 嵌入式系统设计师考试复习教程 第二天 软考中级--嵌入式系统设计师考试考试大纲解析 目录

  9. 《全面掌握Linux C语言嵌入式系统移植教程》学习笔记(Liunx速查简明)

    全面掌握Linux C语言嵌入式系统移植教程学习笔记(Liunx速查简明) 笔记前言: P3: shell命令简明 P4: vi /vim编辑器入门 P5:vi /vim编辑器扩展 P8: gcc编译 ...

  10. 2019备考[嵌入式系统设计师]之MCPU

    一.引言 嵌入式微处理器是嵌入式系统的核心器件,深入理解嵌入式微处理器的工作原理,组成结构.体系结构以及软件编程等方面,无论对嵌入式设计师考试的准备还是对嵌入式项目的开发都有一定的帮助.在目前白花盛放 ...

最新文章

  1. MySQL 性能优化之高阶神技
  2. 第十五届全国大学生智能汽车竞赛华南赛区成绩总结
  3. 61计蒜客 动态规划基础 蒜头君的城堡之旅
  4. idea刷新项目、清除项目缓存
  5. UItableView的一些特殊点击效果
  6. 原理c++_浅谈C/S和B/S架构的工作原理及优缺点
  7. 【ESSD技术解读-01】 云原生时代,阿里云 ESSD 快照服务 助力企业级数据保护
  8. Android-apk文件反编译
  9. Nodejs 博客系统遇到的问题及解决
  10. Shell之date用法
  11. Laravel框架介绍与简介
  12. Inspinia的version 2.4模板使用的谷歌字体加载很慢问题解决
  13. Oracle数据库练习题及答案(个人总结)
  14. 推荐工具 HBuilder
  15. Android模拟点击
  16. 计算机单位换换算,时间单位换算表与计算机单位换算
  17. 计算机开机出现ROM,求助电脑开机问题
  18. APS计划排产软件助家纺企业进行成本控制
  19. Mui picker 的 Bug
  20. python的价值观_朴素的DevOps价值观

热门文章

  1. 服务器tcpip修复工具,tcpip协议修复工具winsockfix
  2. 数据恢复软件真的可以恢复硬盘数据吗,有哪些数据恢复软件推荐?
  3. R 语言求正态分布的极大似然估计
  4. pclint html报告,PC-lint 9 + 中文手册
  5. 基于SSM开发智夫子在线考试系统
  6. 《Maven_孔浩》Maven介绍及安装
  7. php实现读写ic卡,diy用PIC单片机实现的IC卡读写器
  8. 有哪些开源的小程序商城源码?
  9. 设计模式的学习方法 | 摘自《图解设计模式》译者序
  10. 智驾科技MAXIEYE完成3亿元B轮融资,暂未取得品牌同名商标