- 博客(8)
- 资源 (2)
- 收藏
- 关注
转载 jiffies 时间转换
来源:《深入Linux设备驱动程序内核机制》第8章时间管理,本章将讨论这两类时间上的操作的技术细节,设备驱动程序员在掌握了这些幕后的技术之后可以更好地理解设备驱动是如何对时间进行掌控的,当程序中需要对时间进行管理时选择最合适的解决方案。本节为大家介绍时间转换。时间转换有时候,设备驱动程序可能需要将用jiffies表达的时间间隔转化成毫秒ms或者是微秒us的形式,这种情况
2015-07-25 16:44:51 9239
转载 Linux 网卡驱动_04
rtl8139 网卡驱动分析:(注:这里只分析了主要函数,代码版本是:8139too.c71420 bytes2010-04-01 22:56:18 )/* * 提供了一系列驱动程序可调用的接口,主要用于发现和初始化设备 */static struct pci_driver rtl8139_pci_driver = {
2015-07-11 20:15:01 869 1
转载 Linux 网卡驱动_03
紧接上一篇,这里简要介绍net_device 结构和网卡驱动框架。 struct net_device 是一个比sk_buff 更复杂的结构,里面包含了与TCP/IP协议栈通信的接口函数,但是自从2.6.31 之后的内核中这些接口函数就被封装在了 stuct net_device_ops 结构中,在net_device 结构中以 netdev_ops 成员的形式出现。我
2015-07-11 20:14:16 667
转载 Linux 网卡驱动_02
接上一篇,我们来看与skb相关的一些重要函数: 网络模块中,有两个用来分配SKB描述符的高速缓存,在SKB模块初始函数skb_init()中被创建: void __init skb_init(void){skbuff_head_cache = kmem_cache_create("skbuff_head_cache", sizeof(struc
2015-07-11 20:13:23 555
转载 Linux 网卡驱动_01
参考:1. 深入理解Linux网络技术内幕 PartIII 2. Essential Linux Device Driver Chap15 3. Linux 内核源码剖析——TCP/IP 实现 5. rtl8139too.c 2010.4 修订 6. Linux 内核 2.6.33 7. google 当
2015-07-11 20:06:32 588
转载 linux网络流程分析(一)---网卡驱动
分析linux网络的书已经很多了,包括《追踪Linux TCP/IP代码运行》《Linux内核源码剖析——TCP/IP实现》,这里我只是从数据包在linux内核中的基本流程来分析,尽可能的展现一个主流程框架。内核如何从网卡接收数据,传统的过程:1.数据到达网卡;2.网卡产生一个中断给内核;3.内核使用I/O指令,从网卡I/O区域中去读取数据; 我们在许多网卡驱动
2015-07-11 20:02:00 1269
转载 net_device 结构的详情
17.3. net_device 结构的详情net_device 结构处于网络驱动层的非常核心的位置并且值得完全的描述. 这个列表描述了所有成员, 更多的是提供了一个参考而不是用来备忘. 本章剩下的部分简要地描述了每个成员, 一旦它用在例子代码上, 因此你不需要不停地回看这一节.17.3.1. 全局信息结构 net_device 的第一部分是由下面成员组成:ch
2015-07-11 19:10:57 808
转载 I2C总线协议学习
1.I2C协议 2条双向串行线,一条数据线SDA,一条时钟线SCL。 SDA传输数据是大端传输,每次传输8bit,即一字节。 支持多主控(multimastering),任何时间点只能有一个主控。 总线上每个设备都有自己的一个addr,共7个bit,广播地址全0. 系统中可能有多个同种芯片,为此addr分为固定部分和可编程部份,细节视芯片而定,看datash
2015-07-08 09:57:42 581
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人