dm9000的驱动分析 m9000_init platform_driver_register(); db); db); );  ; id_val ; id_val ; /* 获取芯片型号 */ id_val = ior(db, DM9000_CHIPR); ether_setup(ndev); /*设置操作方法*/ ndev->netdev_ops  = &dm9000_netdev_ops; /*注册网络设备*/ register_netdev(ndev);   //register_c…
1.描述 网卡的驱动其实很简单,它还是与硬件相关,主要是负责收发网络的数据包,它将上层协议传递下来的数据包以特定的媒介访问控制方式进行发送, 并将接收到的数据包传递给上层协议. 网卡设备与字符设备和块设备不同, 网络设备并不对应于/dev目录下的文件,不过会存放在/sys/class/net目录下 如下图所示,我们通过ls /sys/class/net/ 命令,可以看到有两个网卡: 2.Linux系统对网络设备驱动定义了4个层次, 这4个层次有到下分为: 1)网络协议接口层: 实现统一的数据包收…
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<  开发环境:…
本文转载自:http://blog.csdn.net/fengyuwuzu0519/article/details/74160686 一.思路 上一节我们通过DNW将内核.文件系统.设备树文件烧入到内存中,并使用bootm启动内核:bootm0x40600000  0x41000000  0x42000000.因为此时内核并没有SD卡驱动,和EMMC驱动,我们只能直接将系统拷贝至内存中然后启动.当时我们进入文件系统后,并无法挂载外面的网络文件系统,对开发带来很多不便,所以这一节,我们移植网卡,让…
一.网络设备驱动的结构 网卡设备不同于字符设备和块设备, 网络设备并不对应于/dev目录下的文件,它存放在/sys/class/net目录下. Linux系统对网络设备驱动定义了四个层次: 1. 网络协议接口层:用于实现统一的数据包收发的协议,通过dev_queue_xmit()函数发送数据, 通过netif_rx()函数接收数据 2. 网络设备接口层:通过struct net_device来描述一个具体的网络设备的信息 3. 设备驱动功能层:同于驱动网络设备实现各个功能,通过hard_star…
分析 linux-2.6.22.6 内核启动流程 移植 linux-3.4.2 到 JZ2440 开发板 Linux内核源码百度云链接: https://pan.baidu.com/s/1m1ymGlror39816vGuyamUw 提取码:7syg…
Linux下可以设置网卡模式 模式0:负载均衡 模式1:主备模式,不提高网络带宽 模式3:多网卡同时发送相同的数据 准备实验环境: Redhat 6.4 企业版64位,最小化安装. 给虚拟机添加网卡 此时我虚拟机有2块网卡,但是真正启用工作的只有一块,使用ifconfig也只能看到一块网卡.ifconfig -a可以看到我们加入的另一块网卡,此时这块网卡还没有启用. [root@51cto network-scripts]# ifconfig -a eth0 Link encap:Etherne…
为什么说这个链表做的经典呢,哥哥我从Linux内核里边儿扣出来的,要么怎么说内核不是一般人能写的,这代码太TM优美了! 这里有一篇参考文章:http://isis.poly.edu/kulesh/stuff/src/klist/,下面的分析来自其他人的分析这里做了整理,使得它便于阅读. 在linux内核中,有大量的数据结构需要用到双循环链表,例如进程.文件.模块.页面等.若采用双循环链表的传统实现方式,需要为这些数据结构维护各自的链表,并且为每个链表都要设计插入.删除等操作函数.因为用来维持链表…
移植完成声卡驱动之后本想再接再励,移植网卡驱动,但没想到的是TI维护的内核太健壮,移植网卡驱动跟之前移植按键驱动一样简单,Nand驱动也是如此,于是,本人将Nand和网卡放在同一篇文章中介绍.介绍之前先感慨一下:TI的维护的内核真的很健壮,DTS真的很强大. 1. Nand驱动移植 阅读TQ335x的原理图可知,TQ335x的Nand连接到了GPMC上,且与DTS中默认的配置吻合,此处不做任何修改,详情如下: [cpp] view plaincopy nandflash_pins_s0: nan…
1.概述 网卡驱动与硬件相关,主要负责收发网络的数据包,将上层协议传递下来的数据包以特定的媒介访问控制方式进行发送,并将接收到的数据包传递给上层协议. 网卡设备与字符设备,块设备不同,网络设备驱动程序不依赖与 /dev 或 /sys 来与用户空间通信,应用程序是通过网络接口(如作为第一个网络接口的eth0)与网卡驱动程序互相操作的. 网卡设备存放在 /sys/class/net 目录下 2.Linux 系统网络协议的处理框架 网络设备驱动的框架层次分为四层: 1)网络设备与媒介层: 用来负责完成…