- 博客(21)
- 收藏
- 关注

原创 计算机网络TCP协议详解
我们知道,TCP采用了累积确认的方式,如果某个报文段发生了丢失,即便收到了后面的数据,接收方返回的ACK也是一样的。最常见的选项字段是MSS(Maximum Segment Size最长报文大小),每个连接方通常都在通信的第一个报文段(SYN标志为1的那个段)中指明这个选项字段,表示当前连接方所能接受的最大报文段的长度。在ESTABLISHED(建立连接后),序列号的变化规则为,seq=上一条已方发送报文段的seq+TCP报文的净荷字节数(不包含TCP头)=上一条已方收到报文段的ACK number。
2024-08-08 15:44:37
1144
1
原创 I2S通信协议
需要注意的是,I2S中位宽和位深都是由Master决定的。下面以32位位宽,32/24/20/16位位深为例,说明位宽与位深的区别(以下例子的数据格式均为I2S格式)。飞利浦标准模式(I2S mode),左对齐(Left Justified)和右对齐(Right Justified)三种传输模式。I2S分为主模式(Master Mode)和从模式(Slave Mode),主模式的那台机子提供BCLK和LRCK。32位位宽,32位位深。32位位宽,24位位深。32位位宽,20位位深。32位位宽,16位位深。
2025-10-10 19:01:20
756
原创 FPGA时序分析基础-恢复时间与移除时间
恢复时间(recovery time):- 指异步控制信号,从有效状态变为无效状态后,到下一次时钟有效边沿到来的最小时间间隔。类似于同步电路中的setup time。- 例:结合always块的一般模板分析,以低电平有效复位信号从0变成1时刻,作为起点分析。rst_n置1时always块不会触发,但在下一个时钟升沿到来时,rst_n需要保持稳定的1,避免if(!rst_n)判断错误。- 即恢复时间是指,复位信号从有效0变无效1,后到下一个时钟升沿的时间。
2025-10-10 15:23:53
248
原创 FPGA时序分析基础-建立时间和保持时间
建立时间(setup time):在时钟采样沿到来前,数据信号需要建立的时间保持时间(hold time):在时钟采样沿到来后,数据信号必须保持的时间。
2025-10-09 18:53:35
595
原创 VScode中ctags配置
3. 在vscode中打开Verilog-HDL/SystemVerilog/Bluespec SystemVerilog设置。1. 下载ctags安装包,并解压到想到的安装目录。4.重启就能实现,verilog的变量声明跳转。2. 在环境变量中添加该目录。
2025-09-25 19:18:47
200
原创 vivado的编辑器改成VScode后出现以下报错A JavaScript error occurred in the main process
这是最可能解决问题的方案,核心是修改Vivado中调用VSCode的命令参数。
2025-09-25 17:04:51
177
原创 new/malloc与free/delete的区别
从语言特性角度:new、delete是C++中的操作符,而malloc和free是标准库函数。从根源上看构造函数和析构函数的支持:new/delete能够自动调用对象的构造函数和析构函数,而malloc/free只能简单的分配内存和释放。内存管理的便捷性:new会返回指向对象的指针,自动计算申请内存大小。而malloc需要我们将返回类型强制类型转换,并手动计算申请内存大小。
2024-08-27 08:35:16
191
原创 进程与线程
线程是一种特殊的进程,轻量级的进程。如果多个进程共享了地址空间、文件系统信息、打开的文件信息、信号处理信息,那么他们就是同属于一个进程的线程。线程和进程一样,拥有一个task_struct结构体,这是进程控制块pcb(Process Contronl Block)的具体体现。线程间共享代码区,数据区,堆区。因为共享了这部分资源,所以线程切换开销会比进程切换开销小。线程间通信会比进程间通信方便。各线程有专属的栈区、程序计数器、栈指针以及函数运行使用的寄存器。
2024-08-15 20:24:17
234
原创 守护进程(Daemon Process)
守护进程不受终端控制,其信息也不会在终端显示。终端:启动进程的那个窗口,一般来说,进程会受该窗口的控制,该窗口关闭,进程也随之关闭。从作用上看,该进程会守护其他进程,即周期性地执行某种任务或等待处理某些发生的事件。常见的用途:系统服务,网络服务,日志记录。
2024-08-14 21:09:27
530
原创 IP地址与MAC地址关系
IP 地址(Internet Protocol Address):定义:IP 地址是分配给网络中每个设备的唯一标识符,允许设备在网络上进行通信。它是在网络层使用的地址,用于标识网络上的设备和路由数据包。IP 地址可以是 IPv4(32 位,通常表示为四组十进制数字)或 IPv6(128 位,通常表示为八组十六进制数字)。
2024-08-13 22:21:20
521
原创 网络编程socket,TCP实现,网络字节序详解
客户端经socket,bind后调用connect时,触发了连接请求,向服务器发送了第一次握手,这时connect进入阻塞状态,即客户端进入SYN-SENT状态。向客户端发送第二次握手后,accept进入阻塞状态,即服务器端进入同步已接收状态。客户端收到第二次握手之后,这时connect返回,并发出第三次握手,客户端进入连接已建立状态。服务器收到第三次握手,accept返回,至此三次握手完毕,服务器端也进入连接已建立状态。IPV4的地址描述结构体,只要管端口号和互联网地址就行,其他系统帮你搞定了。
2024-08-11 16:06:52
1145
原创 有一头母牛,它每年年初生一头小母牛。每头小母牛从第四个年头开始,每年年初也生一头小母牛。请编程实现在第n年的时候,共有多少头母牛?
有一头母牛,它每年年初生一头小母牛。每头小母牛从第四个年头开始,每年年初也生一头小母牛。请编程实现在第n年的时候,共有多少头母牛?
2022-09-14 21:28:30
644
原创 编译出现stray ‘\243‘ in program,stray ‘\273‘ in program
C语言编译出现stray\xxx in program
2022-09-08 20:58:15
2590
原创 实现一个函数,计算阶数为n,系数为a[0] ... a[n]的多项式f(x)=∑ i=0n (a[i]×x i ) 在x点的值。(PTA,6-2多项式求值)
多项式求值
2022-09-08 14:48:26
1983
原创 为什么txt文件加.c后缀还是txt文件而不是c文件
1、首先你要有C/C++软件,如DEV-C(下载地址如下Dev-C++ download | SourceForge.net)2、如果你是WIN10系统。首先打开“此电脑”,依次点“查看”-“选项”-“查看”,将“隐藏已知文件类型的扩展名”前面的勾去掉,再确定,让系统显示完整的文件全名。然后.c后缀就能直接改成C文件。...
2022-01-16 11:41:28
2940
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人