自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 收藏
  • 关注

原创 链路层、网络层、传输层、应用层长度

1、概述首先要看TCP/IP协议,涉及到四层:链路层,网络层,传输层,应用层。     以太网(Ethernet)的数据帧在链路层     IP包在网络层     TCP或UDP包在传输层     TCP或UDP中的数据(Data)在应用层     它们的关系是 数据帧{IP包{TCP或UDP包{Data}}}不同的协议层对数据包有不同的称谓,在传输层叫做段(segment),在网络层叫做数据报(datagram),在链路层叫做帧(frame)。数据封装成帧后发到传输介质上,到达目的主机后每

2021-10-10 11:06:51 3311

转载 网络冗余——PRP协议

1. 什么是PRP冗余机制?HSR/PRP协议分别提供独特的冗余机制进行网络链路的冗余备份,简要的机制介绍如下:名词概念:SAN: Singly Attached Node,单端口节点,不实现PRP功能 DANP: Doubly AttachedNode implementing PRP,PRP的双端口节点,可直接发送PRP流量 RedBox: RedundancyBox,冗余盒,将SAN传入的流量转换成PRP流量发送出去 C Frame: 原始信息帧,指代用户想要冗余备份的信息 A Fram

2021-10-08 21:33:00 5081 1

原创 内存测试用例memtester4.3.0

memtester-4.3.0memtester-ARMint test_stuck_address(bufa, count);(√ ) 先全部把地址值交替取反放入对应存储位置,然后再读出比较,重复2次(官网的重复了16次):测试address busint test_random_value(bufa, bufb, count);(√ )等效test_random_compar

2021-08-22 22:52:46 1495 1

原创 iCache和dCache

CPU和主存之间也存在多级高速缓存,一般分为3级,分别是L1, L2和L3。另外,我们的代码都是由2部分组成:指令和数据。L1 Cache比较特殊,每个CPU会有2个L1 Cache。分别为指令高速缓存(Instruction Cache,简称iCache)和数据高速缓存(Data Cache,简称dCache)。L2和L3一般不区分指令和数据,可以同时缓存指令和数据。下图举例一个只有L1 Cache的系统。我们可以看到每个CPU都有自己私有的L1 iCache和L1 dCache。为什么要区分指令和.

2021-07-08 22:55:02 5239

原创 栈帧详解ebp、esp

一. 理解栈帧栈帧是什么,我们基本的理解是栈帧是栈帧也叫过程活动记录,是编译器用来实现过程/函数调用的一种数据结构。通俗来说栈帧就时C语言函数在调用的过程中的调用原理,就是当我们执行一个函数操作的时候,它的内部是如何实现的呢。二 .关于栈帧的背景知识寄存器第一个寄存器ebp,基址寄存器,也叫做栈底寄存器。第二个寄存器esp,是栈顶寄存器。第三个寄存器pc指针,也叫做程序计数器,它永远指向当前指令的下一条指令。计算机运算的基本过程取指令–分析指令–执行指令但程序执行的过程中,p

2021-04-11 18:42:04 11147 1

原创 内存RAM、ROM 和 flash区别

1. 什么是内存什么是内存呢?在计算机的组成结构中,有一个很重要的部分,就是存储器。存储器是用来存储程序和数据的部件,对于计算机来说,有了存储器,才有记忆功能,才能保证正常工作。存储器的种类很多,按其用途可分为主存储器和辅助存储器,主存储器又称内存储器(简称内存),辅助存储器又称外存储器(简称外存)。外存通常是磁性介质或光盘,像硬盘,软盘,磁带,CD等,能长期保存信息,并且不依赖于电来保存信息,但是由机械部件带动,速度与CPU相比就显得慢的多。内存指的就是主板上的存储部件,是CPU直接与之沟通,并用其存

2020-12-21 16:48:53 263

原创 SylixOS上移植使用Linux应用程序

SylixOS兼容Linux应用原理

2020-12-19 13:03:06 907 2

原创 C语言文件 open函数和fopen函数

open头文件:#include <sys/types.h>#include <sys/stat.h>#include <fcntl.h>定义函数:int open(const char * pathname, int flags);int open(const char * pathname, int flags, mode_t mode);函数说明:**参数 pathname :**指向欲打开的文件路径字符串.参数flags:O_RDONLY

2020-12-09 13:14:11 1951

原创 C语言回调函数代码解析

1. 什么是回调函数?回调函数,光听名字就比普通函数要高大上一些,那到底什么是回调函数呢?恕我读得书少,没有在那本书上看到关于回调函数的定义。我在百度上搜了一下,发现众说纷纭,有很大一部分都是使用类似这么一个场景来说明:A君去B君店里买东西,恰好缺货,A君留下号码给B君,有货时通知A君。感觉这个让人更容易想到的是异步操作,而不是回调。另外还有两句英文让我印象深刻:1) If you call me, I will call you back; 2) Don’t call me, I will call y

2020-12-03 15:29:02 131

原创 Linux——GDB调试基本命令

GDB调试步骤使用gdb调试时,需要在编译时使用-g参数g++ -g test.cpp -o testgdb test常用命令:start #开始调试,停在第一行代码处,(gdb)startl #list的缩写查看源代码,(gdb) l [number/function]b <lines> #b: Breakpoint的简写,设置断点。(gdb) b 10b <func

2020-10-29 11:17:38 159

转载 C++中NULL和nullptr的区别

C++中NULL和nullptr的区别一、C程序中的NULL在C语言中,NULL通常被定义为:#define NULL ((void *)0)所以说NULL实际上是一个空指针,如果在C语言中写入以下代码,编译是没有问题的,因为在C语言中把空指针赋给int和char指针的时候,发生了隐式类型转换,把void指针转换成了相应类型的指针。int *pi = NULL;char *pc = NULL;二、C++程序中的NULL但是问题来了,以上代码如果使用C++编译器来编译则是会出错的,因为C++是

2020-10-20 10:53:08 105

空空如也

空空如也

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

TA关注的人

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