嵌入式系统设计师学习笔记
文章平均质量分 58
哈哈浩丶
初出茅庐小菜鸡!~
展开
-
嵌入式系统设计师学习笔记三十四:系统设计知识——结构化设计
嵌入式系统设计师学习笔记三十四:系统设计知识——结构化设计结构化设计结构化设计分为概要设计和详细设计。结构化设计要求:①保持模块的大小适中②尽可能减少调用的深度③多扇入,少扇出(扇入是被另一个模块调用,扇出是该模块调用其他模块)④单入口,单出口⑤模块的作用域应该在模块之内⑥功能应该是可预测的...原创 2021-05-15 14:00:33 · 448 阅读 · 0 评论 -
嵌入式系统设计师学习笔记三十三:系统分析基础①——需求工程概述
嵌入式系统设计师学习笔记三十三:系统分析基础①——需求工程概述软件的需求工程包括了创建和维护需求文档所必须的一切活动的过程。需求分类软件需求:指用户对系统在功能、行为、性能、设计约束等方面的期望。...原创 2021-05-14 23:36:09 · 847 阅读 · 3 评论 -
嵌入式系统设计师学习笔记三十二:系统开发过程及项目管理③——软件配置管理
嵌入式系统设计师学习笔记三十二:系统开发过程及项目管理③——软件配置管理软件配置管理IEEE对配置项的定义为硬件、软件或二者兼有的集合,为配置管理指定的,在配置管理过程中作为一个单独的实体对待,可作为配置项管理的有:外部交付的软件产品和数据、指定得内部软件工作产品和数据、指定得用于创建或支持软件产品的支持工具、供方/供应商提供的软件和客户提供的设备/软件。典型配置项:包括项目计划书、需求文档、设计文档、源代码、可执行代码、测试用例、运行软件所需的各种数据,它们经评审和检查通过后进入软件配置管理(SCM原创 2021-05-13 19:53:34 · 1050 阅读 · 8 评论 -
嵌入式系统设计师学习笔记三十一:系统开发过程及项目管理②——时间管理
嵌入式系统设计师学习笔记三十一:系统开发过程及项目管理②——时间管理时间管理专家判断法:顾名思义由团队内有经验的专业人员来进行估算项目时间。三点估算法:一点,最佳完成时间历时多长,二点,最坏完成时间历时多长,三点,平均完成时间历时多长,再分别给这三点一个权重最后除以一个系数,最终结果即为项目的时间和资源的消耗。功能点估算法:各个功能点的耗时累加。PERT图(双代号网络图)通过网络图能够十分清晰的看出各个活动之间的依赖关系。虚线即代表不占用任何资源和时间的活动。时间管理——关键路径法关原创 2021-05-12 23:14:42 · 532 阅读 · 5 评论 -
嵌入式系统设计师学习笔记三十:系统开发过程及项目管理①——开发模型
嵌入式系统设计师学习笔记三十:系统开发过程及项目管理①——开发模型开发模型类型瀑布模型(SDLC)又叫软件生命周期模型演化模型增量模型螺旋模型快速原型模型喷泉模型V模型迭代模型/迭代开发方法构件组件模型/基于构件的开发方法(CBSD)统一过程/统一开发方法敏捷开发方法模型驱动的开发方法软硬件协同的开发方法开发模型-瀑布模型(SDLC)分为三个阶段:定义阶段,开发阶段,维护阶段。优点:有利于项目管理,适用于需求明确的开发或者二次开发。缺点:在需求分析期必须明确需求,后期变原创 2021-05-12 21:58:54 · 402 阅读 · 2 评论 -
嵌入式系统设计师学习笔记二十九:嵌入式程序设计④——C语言
嵌入式系统设计师学习笔记二十九:嵌入式程序设计④——C预处理预处理指令表:(编码规范:GB/T 28169-2011)关于宏定义 #denfine 详解可点击连接查看博主的另一篇文章 预定义宏预处理指令表:注意:宏名的书写由标识符与两边各两条下划线构成。C语言基本数据类型不同操作系统中数据类型所占字节数图解数据类型的其他分类:变量常量(字面量和const常量)void(特殊类型)数组(构造类型)枚举类型(自定义类型)结构体、位域和共用体(构造类型)C语言存储管理当一个原创 2021-05-11 22:17:12 · 1576 阅读 · 14 评论 -
嵌入式系统设计师学习笔记二十八:嵌入式程序设计③——高级程序设计语言
嵌入式系统设计师学习笔记二十八:嵌入式程序设计③——高级程序设计语言解释程序和编译程序编译器的工作阶段示意图语法错误:非法字符,关键字或标识符拼写错误语法错误:语法结构出错,if……else if 不匹配,缺分号语义错误:死循环,零除数,其他逻辑错误解释程序的基本原理解释程序是另一种语言处理程序,在词法、语法和语义分析方面与编译程序的工作原理基本相同。但在运行用户程序时,它直接执行源程序或源程序的内部形式。因此,解释程序与编译程序最大的区别就是不产生源程序的目标程序。解释程序通常可分为原创 2021-05-11 16:00:46 · 203 阅读 · 1 评论 -
嵌入式系统设计师学习笔记二十七:嵌入式软件程序设计②——嵌入式程序设计
嵌入式系统设计师学习笔记二十七:嵌入式软件程序设计②——嵌入式程序设计程序设计语言机器语言:由二进制所组成的,机器能识别的二进制串。(在机器上运算速度最快,开发效率最低)汇编语言:将二进制串符号化,可以直接操作寄存器等硬件设备,运算速度快,相对于机器语言来说开发效率相对好,但对于高级语言来说开发效率仍低。各种程序语言的特点程序语言的数据成分数据时程序操作的对象,具有以下属性:①数据名称:由用户通过标识符命名②数据类型:说明数据占用内存的大小和存放形式③存储类别:说明数据在内存中的位置和原创 2021-05-10 22:34:38 · 309 阅读 · 1 评论 -
嵌入式系统设计师学习笔记二十六:嵌入式软件程序设计①——嵌入式应用开发的过程
嵌入式系统设计师学习笔记二十六:嵌入式软件程序设计①——嵌入式应用开发的过程一个嵌入式应用项目的开发过程是一个硬件设计和软件设计的综合过程,一般而言要经历以下几个步骤:①硬件的设计与实现②设备驱动软件的设计与实现③嵌入式操作系统的选择、移植,以及API接口函数的设计④支撑软件的设计与调试⑤应用程序的设计与调试⑥系统联调,样机交付应用程序的生产与加载嵌入式软件开发有如下几个特点①需要交叉编译工具②通过仿真手段进行调试③开发板是中间目标机④可利用的资源有限⑤需要和硬件打交道嵌入式原创 2021-05-10 21:17:06 · 393 阅读 · 2 评论 -
嵌入式系统设计师学习笔记二十五:网络安全基础④——网络安全协议
嵌入式系统设计师学习笔记二十五:网络安全基础④——网络安全协议因特网使用的安全协议应用层安全协议HTTPS:端口号443,HTTPS+SSLPGP:优良保密协议,电子邮件事实标准,是一个基于IDEA的邮件加密软件,可以用它对邮件保密以防止非授权者阅读,它还能对邮件加上数字签名,从而使收信人可以确信邮件发送者。传输层安全协议SSL:安全套接字层,用于在Internet上传送机密文件,SSL协议由握手协议、记录协议和警报协议组成。TLS:安全传输层协议,用于在两个通信应用程序之间提供保密性和数据原创 2021-05-10 19:41:18 · 215 阅读 · 1 评论 -
嵌入式系统设计师学习笔记二十四:网络安全基础③——数字签名与消息摘要
嵌入式系统设计师学习笔记二十四:网络安全基础③——数字签名与消息摘要认证-基本概念在网络的应用中,鉴别是网络安全中的一个很重要的问题。认证和加密并不相同。认证是要验证通信的双方的确是自己所要通信的对象,而不是其他的冒充者。...原创 2021-05-09 22:44:30 · 771 阅读 · 4 评论 -
嵌入式系统设计师学习笔记二十三:网络安全基础②——两类密码体制
嵌入式系统设计师学习笔记二十二:网络安全②——两类密码体制对称密钥密码体制(对称加密算法)所谓对称密钥密码体制,即加密密钥和解密密钥是相同的密码体制。缺点:加密强度不高,但效率高;密钥分发困难。常见的对称密钥加密算法:①数据加密标准DES:替换+移位、56位密钥、64位数据块(速度快、密钥易产生)3DES(三重DES):两个56位的密钥K1、K2加密:K1加密→K2解密→K1加密解密:K1解密→K2加密→K1解密②RC-5:RSA数据安全公司的很多产品都使用了RC-5。流加密算法,可选择原创 2021-05-08 14:21:58 · 808 阅读 · 1 评论 -
嵌入式系统设计师学习笔记二十二:网络安全基础①——网络攻击
嵌入式系统设计师学习笔记二十一:网络安全基础①——网络攻击网络攻击分为两种:被动攻击和主动攻击被动攻击:指攻击者从网络上窃听他人的通信内容。通常把这类攻击成为截获。典型的被动攻击手段:流量分析:通过持续检测现有网络中的流量变化或者变化趋势,从而得到相应信息的一种被动攻击方式。主动攻击:是指通过一系列的方法,主动地获取向被攻击对象实施破坏的一种攻击方式。典型的主动攻击手段:篡改:攻击者故意篡改网络上传送的报文。也包括彻底中断传送的报文。重放:通过截获普通用户的加密数据,通过修改IP地址伪装成原创 2021-05-08 12:32:51 · 272 阅读 · 0 评论 -
嵌入式系统设计师学习笔记二十一:网络基础②——TCP/IP协议
嵌入式系统设计师学习笔记二十:网络基础②——TCP/IP协议原创 2021-05-07 21:36:26 · 260 阅读 · 0 评论 -
嵌入式系统设计师学习笔记二十:网络基础①——OSI/RM
嵌入式系统设计师学习笔记十九:网络基础知识①——OSI/RMOSI七层网络模型:自顶向下分别为:应用层、表示层、会话层、传输层、网络层、数据链路层、物理层。应用层、表示层、会话层传输的数据为报文。传输层传输的数据为用户报文段。网络层传输的是IP数据包,在网络层工作的设备是路由器和三层交换机(具有路由功能的交换机)。数据链路层传输的是数据帧,在数据链路层工作的设备是网桥和二层交换机(又叫多端口网桥)。物理层传输的是Bit流,电信号,在物理层工作的设备是集线器(又叫多端口中继器)和中继器(用于放原创 2021-05-07 14:03:43 · 295 阅读 · 0 评论 -
嵌入式系统设计师学习笔记十九:文件管理
嵌入式系统设计师学习笔记十八:文件管理基于文件系统的概念,可以把数据组成分为数据项、记录和文件三级。数据项:数据项是最低级的数据组织形式,分为基本数据项和组合数据项。记录:记录是一组相关数据项的集合,用于描述一个对象在某方面的属性。文件:文件是指由创建者所定义的、具有文件名的一组相关元素的集合,可分为有结构文件和无结构文件两种。文件组织结构:逻辑结构:流式文件(无结构文件):文件的长度是以字节为单位的,对流式文件的访问,则是利用读、写指针来指出下一个要访问的字符。可以把流式文件看做是记录式原创 2021-05-06 18:50:32 · 273 阅读 · 0 评论 -
嵌入式系统设计师学习笔记十八:存储管理③——磁盘
嵌入式系统设计师学习笔记十八:存储管理③——磁盘磁盘结构:磁盘分为磁道、扇区、扇面、柱面、盘面等。一个物理记录存储在一个扇区上,磁盘上能存储的物理记录块数目是由扇区数、磁道数以及磁盘面数所决定的。磁道由外向里从0依次递增。磁盘调度算法:先来先服务(FCFS):根据进程请求访问磁盘的先后次序进行调度。优点:公平、简单,且每个进程的请求都能依次地得到处理,不会出现某一进程的请求长期得不到满足的情况。缺点:此算法由于未对寻道进行优化,致使平均寻道时间可能较长。最短寻道时间优先(SSTF):原创 2021-05-06 17:42:05 · 153 阅读 · 0 评论 -
嵌入式系统设计师学习笔记十七:存储管理②——虚拟存储
嵌入式系统设计师学习笔记十七:存储管理②——虚拟存储虚拟存储器:①具有部分装入和部分对换功能,能从逻辑上对内容容量进行大幅度扩充,使用方便的一种存储器系统②实际上是为扩大主存而采用的一种设计技巧③虚拟存储器的容量与主存大小无关④虚拟存储器的实现对用户来说是透明的虚拟存储器的实现方式:请求分页系统、请求分段系统、请求段页式系统虚拟存储器:能够提供了一个大的,私有的一致性的空间,虚拟存储器为硬件异常、主存,磁盘文件,内核的完美交互,例如当出现缺页,超出页面长度时,虚拟地址物理地址的转换,它会发原创 2021-05-06 00:12:59 · 154 阅读 · 0 评论 -
嵌入式系统设计师学习笔记十六:存储管理①——存储方式
嵌入式系统设计师学习笔记十六:存储管理①——分区存储分区方法:原创 2021-05-05 23:45:17 · 207 阅读 · 0 评论 -
嵌入式系统设计师学习笔记十五:进程管理⑥——任务间的通信
嵌入式系统设计师学习笔记十五:进程管理⑥任务间的通信任务之间为了协调工作,需要相互交换数据和控制信息。任务之间的通信可以分为两种类型:①低级通信:只能传递状态和整数值等控制信息,例如信号量机制,异步信号机制等②高级通信:能够传输任意数量的数据,主要有三类:共享内存、消息传递和管道。共享内存:各个任务共享其地址空间中的某些部分,在此区域,可以任意读写和使用任意的数据结构,把它看成一个通用的缓冲区。使用共享内存来传送数据时,通常需和任务间的互斥机制结合起来,以免产生竞争条件,确保数据顺利传送。原创 2021-05-04 22:50:29 · 1896 阅读 · 0 评论 -
嵌入式系统设计师十四:进程管理⑤——调度算法
进程管理:调度算法调度算法的性能指标:①CPU的使用率②响应时间:调度器为一个就绪任务进行上下文切换时所需的时间,以及任务在就绪队列中的等待时间。③周转时间:一个任务从提交到完成所经历的时间。④调度开销:调度器在做出调度决策时所需要的时间和空间开销。⑤公平性:大致相当的两个任务所得到的CPU的时间应该大致相同。(要防止饥饿,即一个任务始终得不到处理器去运行。)⑥均衡性:尽可能使整个系统的各个部分(CPU、I/O)都忙起来,提高系统资源的使用效率。⑦吞吐量:单位时间内完成的任务数量。性能原创 2021-05-04 21:08:36 · 472 阅读 · 0 评论 -
嵌入式系统设计师学习笔记十三:进程管理④——任务调度
嵌入式系统设计师学习笔记十三:进程管理④任务调度:任务调度——调度器调度用来确定多任务环境下任务执行的顺序和获得CPU资源后能够执行的时间长度。操作系统通过一个调度程序来实现调度功能。①调度程序以函数的形式存在,用来实现操作系统的调度。②调度程序本身并不是一个任务,是一个函数调用,可在内核的各个部分进行调用。调度程序:可以看做CPU的资源管理者。①从就绪队列中选择一个任务去执行②调度算法:调度程序在决策过程中所采用的算法,是在一个特定时刻用来确定将要运行的任务的一组规则。调度的时原创 2021-05-04 17:46:21 · 256 阅读 · 0 评论 -
嵌入式系统设计师十二:进程管理③——死锁
嵌入式系统设计师十二:进程管理③进程管理:死锁死锁概念:进程管理是操作系统的核心,但如果设计不当,就会出现死锁的问题。如果一个进程在等待一个不可能的事,则进程就死锁了。而如果一个或多个进程产生死锁,就会造成系统死锁。产生死锁的三大主要原因:①系统资源不足②进程运行推进的顺序不合适③资源分配不当死锁的产生四个必要条件:①互斥条件:进程对所分配到的资源不允许其他进程访问,若其他进程访问该资源,只能等待,直至占有该资源的进程使用完成后释放该资源。②环路等待条件(循环等待条件):指进程发生死锁后原创 2021-05-04 16:37:00 · 169 阅读 · 0 评论 -
嵌入式系统设计师学习笔记十一:进程管理②——进程的同步与互斥
嵌入式系统设计师学习笔记十一:进程管理②进程管理:进程的同步与互斥区别:互斥:是指散布在不同进程之间的若干程序片断,当某个进程运行其中一个程序片段时,其它进程就不能运行它们之中的任一程序片段,只能等到该进程运行完这个程序片段后才可以运行。同步:是指散布在不同进程之间的若干程序片断,它们的运行必须严格按照规定的 某种先后次序来运行,这种先后次序依赖于要完成的特定的任务。图解:互斥:(过独木桥,同一时间仅允许一个单位过桥)同步:(某个流程的进行依赖于另一个流程运行后的结果)联系:同步是一种原创 2021-05-04 00:27:28 · 262 阅读 · 0 评论 -
嵌入式系统设计师学习笔记⑩:进程管理①——进程
嵌入式系统设计师学习笔记⑩:进程管理进程:是程序在一个数据集合上运行的过程,它是系统进行资源分配和调度的一个独立单位。它由程序块、进程控制块(PCB)和数据块三部分组成。进程与程序的区别:①进程是程序的一次执行过程,没有程序就没有进程。②程序是完成某个特定功能的一系列程序语句的集合,只要不被破坏,它就永远存在。③程序是一个静态的概念,而进程是一个动态的概念,它由创建而产生,完成任务后因撤消而消亡;进程是系统进行资源分配和调度的独立单位,而程序不是。进程的状态:三态模型运行态:占有处理器,正在原创 2021-05-03 23:20:55 · 199 阅读 · 1 评论 -
嵌入式系统设计师学习笔记⑨:校验码
嵌入式系统设计师学习笔记⑨:校验码码距的定义:一个编码系统的码距就是整个编码系统中任意(所有)两个码字(合法编码)的最小距离。例如:要对A,B两个字母进行编码若用1位长度的二进制编码,若A=1,B=0。这样A,B之间的最小码距为1。(因为只有1位不同)若用2位长度的二进制编码,若A=11,B=00。这样A,B之间的最小码距为2。(因为有2位不同)若A=11,B=01,则A,B之间的码距为1。(因为只有一位不同)用竖式分析: A = 1 1 B = 0 1 对应位只有最原创 2021-04-26 18:24:13 · 162 阅读 · 0 评论 -
嵌入式系统设计师学习笔记⑧:计算机的可靠度
嵌入式系统设计师学习笔记⑧:计算机的可靠度计算机系统分为三类系统:串联系统,并联系统及混合系统。混合系统就是串并联结合使用的系统。设R为可靠度,则:串联系统的可靠度:R = R1 x R2 x …… x Rn (Rn为串联系统中每台主机的可靠度)并联系统的可靠度:R = 1-[(1-R1)x(1-R2)x …… x(1-Rn)] 中括号中间的式子又称为失效率,失效率=1-可靠度混合系统的可靠度:R = R x (1-(1-R)^3) x (1-(1-R)^2) 实则为各原创 2021-04-26 17:21:43 · 235 阅读 · 0 评论 -
嵌入式系统设计师学习笔记⑦:输入输出设备管理
嵌入式系统设计师学习笔记⑦:输入输出设备管理程序控制方式:无条件传送方式、程序查询方式①无条件传送:在此情况下,外设总是准备好的,他可以无条件地随时接收CPU发来的输出数据,也能够无条件地随时向CPU提供需要输入的数据。②程序查询方式:通过CPU执行程序来查询外设的状态,判断外设是否准备好接收数据或准备好了向CPU输入数据。根据这种状态,CPU有针对性地为外设的输入/输出服务。计算机系统中的CPU是稀缺资源,应尽量提高其利用率,减少等待I/O操作的时间。中断方式:在中断方式下,I/O设备工作时原创 2021-04-25 21:06:36 · 410 阅读 · 1 评论 -
嵌入式系统设计师学习笔记⑥:存储器的层次架构及Cache详解
嵌入式系统设计师学习笔记⑥:存储器的层次架构及Cache详解存储器被组织成金字塔形的层次结构:存储器自上而下,组成6个层次结构,依次变得更慢、访问效率更低、容量更大、每字节的造价更便宜。如图所示:Cache:①功能:提高CPU数据输入输出的速率,突破所谓的“冯·诺依曼瓶颈”②速度:在计算机的存储系统体系中,Cache是访问速度较快的层次③原理:使用Cache改善系统性能的依据是程序的局部性原理④组成:Cache由两部分组成:控制部分和Cache存储器部分局部性原理:概念:利用程序的时间原创 2021-04-24 22:14:35 · 1097 阅读 · 0 评论 -
嵌入式系统设计师学习笔记⑤:指令系统
嵌入式系统设计师学习笔记⑤:指令系统指令的基本概念:一条指令就是机器语言的一个语句,是一组有意义的二进制代码。指令分为2部分:操作码字段OP地址码字段A指出了计算机要执行什么性质的操作包含各操作数的地址及操作结果的存放地址等寻址方式:①立即寻址:操作数直接在指令中给出MOV A,#0EH (#0EH 是一个立即数/操作数)直接将0EH给A②直接寻址:操作数在单元地址形式中MOV A,68H将在68H中存的数给A③寄存器寻址:操作数在寄存器(通用工作原创 2021-04-23 21:14:59 · 227 阅读 · 0 评论 -
嵌入式系统设计师学习笔记④:总线系统
嵌入式系统设计师学习笔记④:总线系统总线的定义:由多个部件分时共享传送信息的一簇公共信号线及相关逻辑。基本特性:①共享:各部件均连接在同一总线上,并通过这条总线进行信息交换。②分时:每一时刻,总线上只能传输一个设备发送来的信息。一条总线同一时刻仅允许一个设备发送,但是允许有多个设备接收。总线的分类:按功能分:①数据总线(Data Bus):在CPU与RAM之间来回传送需要处理或是需要储存的数据。(双向总线)②地址总线(Address Bus):用来指定在RAM(随机存储器)之中储存的数原创 2021-04-22 19:07:55 · 231 阅读 · 1 评论 -
嵌入式系统设计师学习笔记③:计算机的基本组成
嵌入式系统设计师学习笔记③:计算机的基本组成计算机硬件的基本组成:输入/输出设备(I/O设备)、存储器(主存储器、辅助存储器)、CPU(中央处理器)等。CPU中包含运算器和控制两大组成部分和寄存器组、内部总线等部件。输入设备有:键盘、鼠标、扫描仪等。输出设备有:打印机、显示器等。主存储器也叫内存。辅助存储器叫外存,有硬盘,磁盘等。运算器的组成:①算术逻辑单元ALU:数据的算术运算和逻辑运算②累加寄存器AC:通用寄存器,为ALU提供一个工作区,用于暂存数据③数据缓冲寄存器DR:写内原创 2021-04-22 18:16:19 · 152 阅读 · 0 评论 -
嵌入式系统设计师学习笔记②:数据的存储
嵌入式系统设计师学习笔记:数据的存储单位数据的存储单位:在计算机中,数据的最小存储单位为bit,1比特为一个二进制位。字节(Byte),一个字节为8个二进制位。二进制有两个数:0,1。①位b(bit比特)②字节B(Byte拜特),千字节(KB),兆字节(MG),吉字节(GB),太字节(TB)。1B = 8bit1 KB = 1024 B = 2^10 B1 MB = 1024 KB = 2^20 B1 GB = 1024 MB = 2^30 B1 TB = 1024 GB = 2^4原创 2021-04-22 17:32:16 · 270 阅读 · 0 评论 -
嵌入式系统设计师学习笔记①:数的进制转换
嵌入式系统设计师学习笔记:数的转换进位计数制系统的基本概念:数制,基数,数码,数位,位权制作了个表格如下:在十六进制中:A-10,B-11,C-12,D-13,E-14,F-15。举例各种进制的表示方法://以十进制的数99举例十进制:99D二进制:1100011B八进制:143O十六进制:59H或0x59数的转换:R进制→十进制:使用按权展开法将R进制数的每一位数值用R^k(R的k次方)形式表示R为底数/基数k为指数例如:(采用按权展开法)十进制的按权展开法表示:原创 2021-04-20 20:23:43 · 420 阅读 · 0 评论