自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Kevin的博客

keep hungry,keep foolish!

  • 博客(75)
  • 资源 (5)
  • 收藏
  • 关注

原创 黑盒测试之等价划分

黑盒测试之等价划分黑盒测试之等价划分等价划分方法的形成用等价划分方法设计测试用例一个范例黑盒测试之等价划分黑盒测试的目标是找出程序不符合规格说明书的地方等价划分方法的形成我们知道:第一对程序的穷举输入测试是无法实现的,这是现实,第二一个好的测试用例应该是具有相当高的可能发现某个错误来,这是对一个测试用例设计提出的基本要求。那么,从所有的可能输入中定义一个有效的子集就是必需的,这要求:第一...

2020-04-24 10:39:26 533

原创 白盒测试之逻辑覆盖准则

白盒测试逻辑覆盖准则需要测试的逻辑结构图(源程序)语句覆盖准则判定覆盖准则条件覆盖准则判定/条件覆盖准则多重条件覆盖准则逻辑覆盖准则白盒测试关注的目标是测试用例执行的程度或覆盖程序逻辑结构(源代码)的程度。需要测试的逻辑结构图(源程序)语句覆盖准则语句覆盖准则:将程序中的每条语句至少执行一次用例设计:在a处设置 m=2,n=0,x=3,每条语句将被执行一次,将会遍历程序路径ace。...

2020-04-23 18:05:49 3234

原创 第九章-进程关系

进程关系终端登录BSD终端登录linux 终端登录网络登录BSD网络登录Linux网络登录进程组会话控制终端函数tcgetpgrp、tcsetpgrp和tcgetsid作业控制shell执行程序孤儿进程组FreeBSD实现终端登录BSD终端登录init以空环境exec getty程序getty对终端设备调用open函数,以读、写方式将终端打开以类似于下列的方式调用login程序...

2020-03-01 10:43:59 304

原创 第八章-进程控制

进程控制进程标识函数fork函数vfork函数exit函数wait、waitpid和waitid竞争条件函数exec更改用户id和更改组id解释器文件函数system进程会计进程调度进程时间进程标识进程标识是非负整数,具有唯一性和可复用性ID为0的进程通常是调度进程(swapper),是内核的一部分,ID为1的进程通常是init进程,是一个普通的用户进程,通常读取与系统有关的初始化文件,该...

2020-02-08 19:58:05 263

原创 第七章-进程环境

第七章-进程环境main函数进程终止命令行参数环境表C程序的存储空间布局共享库存储空间分配环境变量函数setjmp和longjmpmain函数C程序总是从main函数开始执行。其原型是:int main(int argc, char *argc[]);/*argc是命令行参数的数目,argv是指向参数的各个指针所构成的数组*/内核使程序执行的唯一方法是调用一个exec函数进...

2020-02-03 10:25:02 181

原创 第六章-系统数据文件和信息

第六章-系统数据文件和信息口令文件阴影口令口令文件/etc/passwd以冒号分隔的各个字段在<pwd.h>文件中的passwd结构中能找到定义该结构定义如下struct passwd { char *pw_name; /* user name */ char *pw_passwd; /* encrypted passwor...

2020-01-12 14:21:13 235

原创 第四章-文件和目录

文件I/O引言函数stat、fstat、fstatat和lstat文件类型设置用户ID和设置组ID文件访问权限新文件和目录的所有权函数access和facessat函数umask函数chmod、fchmod和fchomodat粘着位函数chown、fchown、fchownat和lchown文件长度文件截断文件系统函数link、linkat、unlink、unlinkat和remove函数rena...

2020-01-11 14:26:00 227

原创 第三章-文件I/O

文件I/O引言文件描述符函数open、openat和create函数close函数lseek函数read函数writeI/O的效率文件共享原子操作函数dup和dup2函数sync、fsync和fdatasync函数fcntl函数ioctl/dev/fd引言本章描述的函数经常被称为不带缓冲的I/O,先说明可用的文件I/O函数,然后,进一步讨论在多个进程间如何共享文件,以及所涉及的内核有关数据结构...

2020-01-07 20:27:43 144

原创 第五章-标准I/O库

标准I/O库流和FILE对象缓冲打开流读和写流如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入流和FILE对象NAME fwide - set ...

2020-01-05 16:37:49 254

原创 使用CAN Utilities对CAN接口进行测试

使用CAN Utilities对CAN接口进行测试Linux系统通过SocketCAN层提供CAN支持,使得可以使用类似操作socket API函数来操作CAN总线,具体关于SocketCAN说明请见这里。/*ip –details查看CAN总线状态*/root@freescale /$ ip -details link show can02: can0: <NOARP,UP,LOW...

2019-12-21 17:17:15 763

原创 Linux SOcket CAN 学习笔记

要实现同一网络节点上的应用程序之间能相互交换数据,如果CAN网络的硬件不支持回环功能,一种低效的方案是使用Socket CAN核心部分来实现软件回环CAN错误帧的详细格式定义在linux头文件中:include/linux/can/error.h可过滤后传给用户:当一个物理层或者MAC层的错误被(CAN控制器)检测到之后,驱动创建一个相应的错误帧。错误帧可以被应用程序通过CAN的过滤机制请求...

2019-12-11 11:14:01 1840

原创 linux下can调试工具canutils安装过程记录

linux下can调试工具canutils安装过程记录一、下载源码下载canutils和libsocketcanlibsocketcan地址:https://public.pengutronix.de/software/libsocketcan/libsocketcan-0.0.11.tar.bz2 #0.0.11版本canutils地址:https://public.pengutroni...

2019-12-10 20:45:42 2658 1

转载 【锂知道】锂电池基本原理解析:充电及放电机制

【锂知道】锂电池基本原理解析:充电及放电机制电池充电最重要的就是这三步:第一步:判断电压<3V,要先进行预充电,0.05C电流;第二步:判断 3V<电压<4.2V,恒流充电0.2C~1C电流;第三步:判断电压>4.2V,恒压充电,电压为4.20V,电流随电压的增加而减少,直到充满。一、锂电池1、简述锂电池以及工作原理锂离子电池自1990年问世以来,因其卓越的性...

2019-11-28 18:45:15 6927

原创 交叉编译环境搭建

编译环境搭建在按照虚拟机Ubuntu的安装说明手册完成虚拟机的安装与设置后,我们还需要配置Linux的开发环境。安装交叉编译器步骤1:将文件gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12.tar.gz拷贝到Ubuntu主目录下 OKMX6Q-C用户资料\工具\gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12...

2019-11-27 15:59:33 1022

原创 如何开启Ubuntu桌面版的SSH服务

桌面版本的Ubuntu linux系统,默认没有安装ssh服务,可以通过如下命令开启SSH服务。1.安装命令:sudo apt-get install openssh-server安装完成,服务默认已经开启,可以远程ssh连接了。2.查看ssh服务状态:sudo service ssh status3.ssh服务重启命令:sudo service ssh restartssh服务的...

2019-11-27 11:23:29 8070

原创 通过VNC访问树莓派(Raspberry 3B)

Win 10系统设置局域网共享打开“网络和共享中心”窗口后,点击左上角的“更改高级共享设置”按钮。从打开的“更改高级共享设置”界面中,展开“来宾或公用”栏目,勾选“启用网络发现”和“启用文件和打印共享”项,点击“保存设置”按钮。开启“Server”服务:直接按“Windows+R”打开“运行”窗口,输入“services.msc”并按回车即可进入“服务”界面。从打开的“服务”窗口中,找到“Se...

2019-11-19 20:29:17 591

原创 蓄电池种类介绍

燃料电池车用空气压缩机发展现状及趋势随着能源匮乏和环境破坏问题的日益凸显,燃料电池技术越来越受到人们的关注。空气压缩机是车用燃料电池阴极供气系统的重要部件, 通过对进堆空气进行增压,可以提高燃料电池的功率密度和效率,减小燃料电池系统的尺寸。但空压机的寄生功耗很大, 约占燃料电池辅助功耗的 80%,其性能直接影响燃料电池系统的效率、紧凑性和水平衡特性。因此,各国的燃料电池项目对空压机的研究都非...

2019-11-10 11:38:07 1802

原创 圈复杂度计算

计算公式1:V(G)=e-n+2p。其中,e表示控制流图中边的数量,n表示控制流图中节点的数量,p图的连接组件数目(图的组件数是相连节点的最大集合)。因为控制流图都是连通的,所以p为1.计算公式2:V(G)=区域数=判定节点数+1。其实,圈复杂度的计算还有更直观的方法,因为圈复杂度所反映的是“判定条件”的数量,所以圈复杂度实际上就是等于判定节点的数量再加上1,也即控制流图的区域数...

2019-11-06 17:25:39 9259

转载 双余度设计

余度技术余度技术是系统或设备获得高可靠性、高安全性和高生存能力的设计方法之一。特别是当元器件或零部件质量与可靠性水平比较低、采用一般设计已经无法满足设备的可靠性要求时,余度技术就具有重要的应用价值。余度设计的任务① 确定余度等级(根据任务可靠性和安全性要求,确定余度系统抗故障工作的能力);② 选定余度类型(根据产品类型及约束条件和采用余度的目的来确定);③ 确定余度配置方案;④ 确定...

2019-11-06 16:44:27 3886

转载 推挽式&漏极开路&集电极开路

要理解推挽输出,首先要理解好三极管(晶体管)的原理。下面这种三极管有三个端口,分别是基极(Base)、集电极(Collector)和发射极(Emitter)。下图是NPN型晶体管。这种三极管是电流控制型元器件,注意关键词电流控制。意思就是说,只要基极B有输入(或输出)电流就可以对这个晶体管进行控制了。下面请允许我换一下概念,把基极B视为控制端,集电极C视为输入端,发射极E视为输出端。这里输入...

2019-11-06 16:25:57 1267

原创 软件能力成熟度模型(Capabilitymaturity model,CMM)

一、软件能力成熟度模型(Capabilitymaturity model,CMM)CMM是目前国际上使用流行的一种软件生产过程行业标准模型,可定义、评价软件开发过程的成熟度,并提供提高软件质量的指导。CMM模型分为五级:初始级(1级)、可重复级(2级)、定义级(3级)、管理级(4级)、优化级(5级)共5个成熟度等级,低级别是实现高级别的基础二、五级特征(1)初始级(initial)。工作...

2019-11-06 16:05:03 19367

原创 软件能力成熟度模型CMMI

本章内容提要CMMI概述CMMI的成熟度等级及其过程域CMMI的应用PSP,TSP与CMMI第一节 CMMI概述CMMI( Capability Maturity Model Integration)即能力成熟度模型集成,由CMM (Capability Maturity Model)发展而来,它最早是应用于软件业的一个过程改进模型,为软件组织描述了从混乱的、不成熟的软件过程向成熟有序...

2019-11-06 15:43:20 3854

原创 如何理解失效模式与影响分析(FMEA)

什么是FMEA?FMEA是Failure Modes and Effects Analysis的缩写,中文含义为失效模式与影响分析。故障模式和影响分析(FMEA)是一种 “自下而上”的可靠性分析工具,从分析系统中所有组件的详细列表开始,通过一次一个部件的分析整个系统。系统可以有层次的划分为子系统,根据分析的目标,可以对层次结构中的每个分组进行FMEA。在模块/单元级别中,只需列出该级别的功能...

2019-11-06 12:26:44 11882

转载 热备份、温备份和冷备份

按备份系统的准备程度,可将其分为 冷备份、温备份和热备份三大类 :1> 冷备份 : 备份系统未安装或未配置成与当前使用的系统相同或相似的运行环境,应用系统数据没有及时装入备份系统。一旦发生灾难,需安装配置所需的运行环境,用数据备份介质(磁带或光盘) 恢复应用数据,手工逐笔或自动批量追补孤立数据,将终端用户通过通讯线路切换到备份系统,恢复业务运行     优点...

2019-11-06 11:34:32 356

转载 硬件电路设计布线

设计好电路图后,就可以设计PCB板了。在进行PCB设计时,首先要考虑PCB尺寸大小。PCB尺寸过大时,印制线条长,阻抗增加,抗噪声能力下降,成本也增加;尺寸过小,则散热不好,且邻近线条易受干扰。在确定PCB尺寸后,再确定特殊元件的位置,然后根据电路的功能单元,对电路的全部元器件进行布局。在系统中,ARM片内工作频率为166MHz,其以太网接口电路的工作速率也高达100Mbps以上,因此,在PCB...

2019-11-05 14:29:08 897

转载 FPGA新手入门

FPGA简介FPGA是英文Field Programmable Gate Array的缩写,即现场可编程门阵列,它是在可编程阵列逻辑PAL(Programmable Array Logic)、门阵列逻辑GAL(Gate Array Logic)、可编程逻辑器件PLD(Programmable Logic Device)等可编程器件的基础什么是FPGA上进一步发展的产物。它是作为专用集成电路AS...

2019-11-05 12:24:34 3062

转载 FPGA vs ASIC

ASIC 和 FPGA 具有不同的价值主张,在作出选择前必须仔细评估。两种种技术对比。这里介绍了 ASIC 和 FPGA 的优势与劣势:本文引用地址:http://www.eepw.com.cn/article/126977.htm  过去 FPGA 用于速度/复杂度/容量较低的设计,而当今的 FPGA 则可以轻松突破 500 MHz 的性能障碍。FPGA 能够以更低的价格实现无可比拟的逻辑...

2019-11-05 12:18:17 294

转载 ARM、DSP、FPGA比较

armARM(Advanced RISC Machines)是微处理器行业的一家知名企业,设计了大量高性能、廉价、耗能低的RISC处理器、相关技术及软 件。ARM架构是面向低预算市场设计的第一款RISC微处理器,基本是32位单片机的行业标准,它提供一系列内核、体系扩展、微处理器和系统芯片方案,四个功能模块可供生产厂商根据不同用户的要求来配置生产。由于所有产品均采用一个通用的软件体系,所以相同的软...

2019-11-05 12:13:40 943

原创 什么是FPGA和它的发展历史

FPGA是什么FPGA(Field-Programmable Gate Array),即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。系统设计师可以根据需要通过可编辑的连接把FPGA内部的逻辑块连接起来,就好像一个电路试验板被...

2019-11-05 12:00:06 11323

转载 软件测试概念及分类整理汇总

软件测试概念及分类整理汇总前言测试小伙伴在谈论软件测试分类,五花八门的分类,眼花缭乱。因为将各个维度划分的内容都整到一块了,在加上各自不同的见解与补充,各种冲突…Findyou我经过多年测试总结基本定为4类测试(最多5类,自动化或者兼容性单独提出来):功能测试、性能测试、安全测试、特性测试、。化繁为简,转为自己理解的分类,避免死记硬背带来的理解不深入,遗漏测试范围。我的测试4类划分如下:功...

2019-11-05 11:44:38 340 1

原创 计算机组成与设计 - 流水线冒险

冒险流水线技术之所以能提高性能 究其本质是利用了时间上的并行性,那它让原本应该先后执行的指令在时间上一定程度的并行起来,然而这也会带来一些冲突和矛盾,进而可能引发错误。冒险(Hazard):在流水线中我们希望当前每个时钟周期都有一条指令进入流水线可以执行。但在某些情况下,下一条指令无法按照预期开始执行,这种情况就被称为冒险。冒险分为三种:**结构冒险:**如果一条指令需要的硬件部件还在为之...

2019-11-05 11:18:11 2689 1

原创 MTTR/MTTF/MTBF图解

MTTR/MTTF/MTBF图解MTTR、MTTF、MTBF是体现系统可靠性的重要指标,但是三者容易混淆,下文使用图解方式解释三者之间的区别,希望能起到解惑的效用。MTTF (Mean Time To Failure,平均无故障时间),指系统无故障运行的平均时间,取所有从系统开始正常运行到发生故障之间的时间段的平均值。 MTTF =∑T1/ NMTTR (Mean Time To Repai...

2019-11-04 11:39:01 48793 4

原创 Rapid IO---成就高速互连之美

在过去的30多年时间内,处理器的主频和性能呈现指数上升的趋势,而与之相对应的处理器总线传送能力的增长却相对缓慢的多,这就导致了由时钟频率表征的CPU的性能和由总线频率表征的CPU可用的总线带宽之间的差距不断在变大,互连总线成为高速运算和处理系统的瓶颈。现代的高性能计算系统和网络存储系统需要更高速率的数据传送。高带宽、低延迟,高可靠性成为衡量一个总线技术的基本要求。本文引用地址:http://ww...

2019-11-03 15:20:49 3351

原创 初识Raptor工具:设计和执行一个简单示例

认识窗口窗口划分为工具菜单栏、符号域、工作空间域和观察窗口域构建和执行一个简单的流图Start Raptor.Add a Input symbol to the flowchart by left-clicking once on the Input symbol and then adding it between Start and End. Double click to add...

2019-10-24 11:13:10 2265

原创 汇编语言(王爽 第三版) 实验十

一. 子程序:显示字符串实验要求:在屏幕的8行3列,用绿色显示data段中的字符串。名称:show_str功能:在指定的位置,用指定的颜色,显示一个用0结束的字符串。参数:(dh)=行号(0-24取值范围);(dl)=列号(0-79取值范围);(cl)=颜色(是一个二进制排列组合的值);ds:si指向字符串的首地址。实验目的:1.熟练掌握在dos屏幕上输出字符的基本操作。掌握显示缓冲区...

2019-09-01 19:00:13 2833

原创 汇编语言(王爽 第三版)第十章

ret和retf指令检测点10.1mov ax, 1000hmov ax, 0call指令不能实现短转移依据位移进行转移的call指令检测点10.2ax=6,因为子程序没有返回,而IP总是指向要执行的下一条指令转移的目的地址在指令中的call指令检测点10.3ax=1010h转移地址在内存中的call指令检测点10.4ax=3检测点10.5ax=1bx=...

2019-09-01 17:26:01 400

原创 汇编语言 王爽(第三版)实验九

实验要求:显示绿色、红底绿色、白底蓝色的welcome to masm!assume cs:codesg,ds:datasgdatasg segment db 'welcome to masm!' db 2,24h,71hdatasg endscodesg segmentstart: mov ax,0b800h mov es,ax ;es point to the disp...

2019-09-01 12:43:22 885

原创 汇编语言(王爽 第三版) 实验八

分析程序,在运行前思考:这个程序是否能够正确返回?是,分析如下start: mov ax,0 s: nop ; nop标号语句,在运行时在代码段中分配一个字节的空间, nop ; 这个字节(空间)的值为90h。 ; 操作符 `offset` 的功能是取得标号的偏移地址。 mov di,offset s ; 将 s 的偏移地址存到...

2019-09-01 11:23:56 1851 1

原创 汇编语言(王爽 第三版)第九章

笔记:操作符offset取得标号偏移地址,由编译器处理CPU在执行jmp指令时并不需要转移的目的地址,依据位移进行转移检测点9.1(1)只要ds:[bx+1]起始地址的两个字节为0就可以了:答案①db 3 dup (0)答案②dw 2 dup (0)答案③dd 0编译器对jmp’指令处理后,会算出目的地址相对jmp指令地址的偏移。在jmp指令中,我们需要把跳转到要执行指令的地址...

2019-09-01 11:12:44 382

原创 汇编语言 王爽(实验七)

以下是我实现的代码,为了减少代码,加快编程,数据量由21减少为4,仅供参考assume cs:codeseg,ds:dataseg,es:tabledataseg segment db '1975','1976','1977','1978' dd 16,22,382,1356 dw 3,7,9,13dataseg endstable segment db 4 dup (...

2019-08-31 11:45:07 1284

跟我一起学Makefile

对 GNU 的 make 进行讲述, 内容包括: 第一部分、概述 第二部分、关于程序的编译和链接 第三部分、Makefile介绍 第四部分、Makefile总述 第五部分、书写规则 第六部分、书写命令 第七部分、使用变量 第八部分、使用条件判断 第九部分、使用函数 第十部分、make 的运行 第十一部分、隐含规则 第十一部分、使用Make更新函数库文件

2016-11-06

深入理解计算机系统-实例代码汇总

包含《深入理解计算机系统》书中的所有实例代码,

2015-08-19

计算机系统漫游

编译系统,系统的硬件组织结构,hello程序的运行过程(读通过键盘输入的hello命令,把磁盘里的可执行文件加载到内存,cpu执行机器级执行,内存里的字符串写到显示器上)

2015-08-19

ECT memperf

1.Generate your own memory using the ECT memperf tool developed by Tom Stricker (the inventor of the memory mountain) and Christian Kurmann at ETH. 2.Furthermore we can use the same chart for characterization of local and remote transfers in other words accesses from computation and from communication. And we can do this regardless of the underlying architecture.

2015-08-17

微型web服务器(tiny web server)

1.The Tiny Web server (tiny.tar). 2.Expands with tar xvf tiny.tar into a directory called ./tiny that contains everything you need to test the Tiny web server, including sample HTML files, GIFS, CGI scripts, and the csapp.c and csapp.h files. Compiled and tested on Linux boxes. 3.The authoritative list of MIME types.

2015-08-17

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除