自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Zehpyr的博客

Talk is cheap.Show me the code.

  • 博客(18)
  • 资源 (4)
  • 收藏
  • 关注

转载 Linux raw socket

我们平常所用到的网络编程都是在应用层收发数据,每个程序只能收到发给自己的数据,即每个程序只能收到来自该程序绑定的端口的数据。收到的数据往往只包括应用层数据。某些情况下我们需要执行更底层的操作,比如监听所有本机收发的数据、修改报头等。通过原始套接字,我们可以抓取所有发送到本机的IP包(包括IP头和TCP/UDP/ICMP包头),也可以抓取所有本机收到的帧(包括数据链路层协议头)。普通的套接字无法...

2019-06-13 09:37:42 2414

转载 Linux 下 select 函数剖析

在Linux中,我们可以使用 select 函数实现I/O端口的复用,传递给 select 函数的参数会告诉内核: • 我们所关心的文件描述符 • 对每个描述符,我们所关心的状态。(我们是要想从一个文件描述符中读或者写,还是关注一个描述符中是否出现异常) • 我们要等待多长时间。(我们可以等待无限长的时间,等待固定的一段时间,或者根本就不等待)...

2019-06-04 17:34:48 244

转载 TCP三次握手四次挥手详解

相对于SOCKET开发者,TCP创建过程和链接折除过程是由TCP/IP协议栈自动创建的.因此开发者并不需要控制这个过程.但是对于理解TCP底层运作机制,相当有帮助.而且对于有网络协议工程师之类笔试,几乎是必考的内容.企业对这个问题热情之高,出乎我的意料:-)。有时上午面试前强调这个问题,并重复讲一次,下午几乎每一个人都被问到这个问题。因此在这里详细解释一下这两个过程。TCP三次握手...

2019-06-04 15:26:55 249

转载 socket之网络通信

对TCP/IP、UDP、Socket编程这些词你不会很陌生吧?随着网络技术的发展,这些词充斥着我们的耳朵。那么我想问:1.什么是TCP/IP、UDP?2.Socket在哪里呢?3.Socket是什么呢?4.你会使用它们吗?1.什么是TCP/IP、UDP?TCP/IP(Transmission Co...

2019-06-04 15:23:34 545

转载 概念:Linux本地IPC之Unix域协议

Unix域协议并不是一个实际的协议族,它只是在同一台主机上进行客户-服务器通信时,使用与在不同主机上的客户和服务器间通信时相同的API(套接口或XTI)的一种方法,我们知道不同主机之间的TCP或者UDP通信其实也是通过socket来实现的。当客户和服务器在同一台主机上时,Unix域协议是IPC通信方式的一种替代品。也就是说Unix域协议是进程间通信(IPC)的一种方法,还可以通过管道等等。...

2019-06-03 14:11:45 432

转载 struct sockaddr与struct sockaddr_in ,struct sockaddr_un的区别和联系

sockaddrstruct sockaddr {unsigned short sa_family; /* address family, AF_xxx */char sa_data[14]; /* 14 bytes of protocol address */};sa_family是地址家族,一般都是“AF_xxx”的形式。好像通常...

2019-06-03 14:09:35 3799

转载 四: netlink&libnl 之 libnl库详解

translate from http://www.infradead.org/~tgr/libnl/doc/core.html#core_netlink_fundamentals1 介绍   libnl核心库提供了通过netlink socket连接所需要的基础函数,用于处理socke...

2019-04-12 13:57:36 3263

转载 三: netlink&libnl 之 libnl简述

libnl是为了方便应用程序使用netlink接口而开发的一个库。这个库为原始netlink消息传递以及不同的netlink family专用接口提供了一个统一的接口。libnl2.0的API与libnl1.0的API并不兼容。如果您的应用程序不做相应调整,将可能导致不可用。以下三个库都基于其核心库libnl:li...

2019-04-12 13:53:05 2321 1

转载 二: netlink&libnl 之 generic netlink

一 基础由于netlink协议最多支持32个协议簇,目前内核中已经使用其中21个,对于用户需要定制特殊的协议类型略显不够,为此Linux设计了这种通用Netlink协议簇,用户可在此之上定义更多类型的子协议。Generic Netlink是基于客户端-服务端模型的通信机制。服务端(内核)注册family(family是...

2019-04-12 11:26:32 600

转载 一:netlink&libnl 之 netlink机制

一 概述       Linux提供了多种机制来完成内核空间与用户空间之间的数据交换,分别有内核启动参数、模块参数、sysfs、sysctl、系统调用、procfs、seq_file、debugfs、relayfs。其中,模块参数、sysfs、sysctl、procfs、seq_f...

2019-04-12 09:33:23 592

转载 usb驱动开发3之先看core

上节中看到usb目录中有一个core目录,凡是认识这个core单词的人都会想要先看看它是什么,对不?用LDD3中一幅图,来表述usb core所处地位。usb core负责实现一些核心的功能,为别的设备驱动程序提供服务,提供一个用于访问和控制USB硬件的接口,而不用去考虑系统当前存在哪种host controller。上述就是core的作用和地位,下面就分析core目录下的代码。首先用ls命令看一...

2018-03-22 13:58:37 202

转载 usb驱动开发2之代码地图

USB只是Linux庞大家族里的一个小部落,host controller是它们的族长,族里的每个USB设备都需要被系统识别。下图显示包含一个USB接口的USB鼠标导出的结果。USB系统中的第一个USB设备是root hub,它是和host controller绑定在一起的。这个root hub通常包含在PCI设备中,是连接PCI总线和USB总线的bridge,控制着连接到其上的整个USB总线。所...

2018-03-22 13:57:35 165

转载 usb驱动开发1之学习准备

此系列是http://blog.csdn.net/fudan_abc/博文的整理,同时加入了自己的理解。很敬佩fudan_abc的文章,仔细学习和分析受益很多。注:fundan_abc所分析linux内核代码所用的版本是2.6.22.6。Q:学习linux下的usb通信要怎样进行?熟悉linux驱动开发,同时需要了解usb协议规范,对照linux下的usb驱动代码慢慢分析和学习Q:为什么要开发us...

2018-03-22 13:54:41 411

转载 USB主机控制器驱动——OHCI分析

本文以 2440-ohci 驱动为例,简单分析 USB 主机控制器驱动 根 Hub 的注册过程,以及 USB设备的枚举过程,并不涉及USB协议,单纯分析驱动框架流程。无论是hub还是普通的usb设备,它们注册到 usb_bus_type 都会经历两次 Match ,因为第一次注册进来时,是将整个设备作为一个 device 注册,然后在通用的 devices 驱动程序 usb_generic_dr...

2018-03-16 16:06:27 1016

转载 Linux设备驱动模型

    Linux设备驱动模型尽管LDD3中说对多数程序员掌握设备驱动模型不是必要的,但对于嵌入式Linux的底层程序员而言,对设备驱动模型的学习非常重要。Linux设备模型的目的:为内核建立一个统一的设备模型,从而又一个对系统结构的一般性抽象描述。换句话说,Linux设备模型提取了设备操作的共...

2018-03-16 14:31:08 159

转载 kobject

核心结论:    1、sys 目录下的层次结构依赖于 kobject.parent ,未指定parent时,默认使用 kobject.kset.kobject 作为 parent,如果都没有,就出现在 /sys 目录下。    2、该 kobject 目录下的属性文件依赖于 kobject.ktype    在linux的驱动表示中,主要有三个基本的结构,分别是kobject,kset,ktype...

2018-03-15 22:17:25 383 1

转载 Linux设备驱动之Kobject、Kset

纠结又纠结,虽然看了一些关于kobject 和 kset 的书与文章,但是对于这两个东西,还是不太明白,又分析了一遍2.6.32.2内核的代码,结合前人的努力,终于有了一点眉目。总结一下,给自己做个笔记,也给初学者一点指引。LDD3中说,Kobject的作用为:    1、sysfs 表述:在 sysfs 中出现的每个对象都对应一个 kobject, 它和内核交互来创建它的可见表述。    2、热...

2018-03-15 20:20:23 145

转载 Linux 设备总线驱动模型

  尽管LDD3中说对多数程序员掌握设备驱动模型不是必要的,但对于嵌入式Linux的底层程序员而言,对设备驱动模型的学习非常重要。    Linux设备模型的目的:为内核建立一个统一的设备模型,从而又一个对系统结构的一般性抽象描述。换句话说,Linux设备模型提取了设备操作的共同属性,进行抽象,并将这部分共同的属性在内核中实现,而为需要新添加设备或驱动提供一般性的统一接口,这使得驱动程序的开发变得...

2018-03-15 20:17:27 149

CFI 最新版规范,JEDEC

CFI 最新版规范,JEDEC

2022-03-18

(SFDP) 标准spi flash 接口 最新版

(SFDP) 标准spi flash 接口 最新版

2022-03-18

CAN总线协议讲解

本资料是面向CAN 总线初学者的CAN 入门书。对CAN 是什么、CAN 的特征、标准规格下的位置分布等、 CAN 的概要及CAN 的协议进行了说明。

2015-08-20

modbus协议

该标准包括两个通信规程中使用的MODBUS 应用层协议和服务规范 ·串行链路上的MODBUS ·TCP/IP上的MODBUS

2015-08-20

空空如也

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

TA关注的人

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