飞豹客 · 课能看,资料也能带走
飞豹客体系课

5.11.网络设备驱动介绍-Linux驱动开发第十一部分

先弄清楚:为什么要专门学网卡驱动 很多做嵌入式底层或刚转行到 Linux 驱动开发的人,写完了 GPIO、I2C 这些简单外设,往往会卡在网络设备这一块。日常工作里,如果遇到板子插上网线 ping 不通、或者定制板换了一颗以太网芯片需要移植驱动,基本就只能翻别人写好的代码硬改,出点异常就直接抓瞎。这

单课价¥39.00新品 上架
会员价¥19.50开通会员,全站课程按会员价下载套餐详情
0 人关注 更新于 2026-10-21 永久有效
发货

网盘链接 · 支付成功后自动发货

保障

永久有效 · 链接失效免费补发

客服

每日 9:00-21:00 在线客服 联系客服

购买本课销量 0 · 永久有效
会员价 · 单课标价 ¥39.00

会员 · 按档位

永久¥19.505折
年¥23.406折
月¥27.307折

游客按标价购买,不享受上表折扣。

支付成功后自动发放网盘链接,链接失效可找客服免费补

正版保障 极速发货 售后无忧

先弄清楚:为什么要专门学网卡驱动

很多做嵌入式底层或刚转行到 Linux 驱动开发的人,写完了 GPIO、I2C 这些简单外设,往往会卡在网络设备这一块。日常工作里,如果遇到板子插上网线 ping 不通、或者定制板换了一颗以太网芯片需要移植驱动,基本就只能翻别人写好的代码硬改,出点异常就直接抓瞎。这部分资料解决的就是这个场景:它不讲泛泛的操作系统理论,而是直接把 Linux 内核里网络设备驱动的框架拆开,带你弄清楚内核是怎么管理网卡、数据包是怎么在驱动和协议栈之间收发的。学之前你得明白,网络驱动和普通字符设备不一样,它深度绑定内核的网络子系统,不懂这套机制,就算把别人代码抄过去也心里没底。

看哪几块,怎么配合代码练

这套资料的核心脉络很清晰,建议先从开头的概述看起,别直接跳到具体芯片。概述部分会讲 net_device 结构体怎么注册、网络设备在内核里的注册注销流程,这是后续所有代码的地基。看完地基,接着去剖析虚拟网卡驱动,这部分是纯软件层面的演示,没有真实硬件的复杂时序干扰,最适合用来理解数据包的收发函数是怎么挂载到内核里的。把虚拟网卡彻底弄懂后,再去啃真实的 DM9000 网卡源码。看真实芯片驱动时,重点看它怎么处理硬件寄存器读写、中断响应以及内存映射,对比虚拟网卡,你能清楚看到硬件操作是怎么嵌入到内核标准框架里的。配合练习时,不要光对着视频发呆,务必在本地准备一份能编译通过的 Linux 内核源码树,讲到哪个结构体就去内核里搜一下它的定义和被调用的位置,自己把关键函数的调用流程画成图,这样才算把资料吃透。

学完能独立做到什么程度

这部分内容的基础门槛是,你得有 C 语言指针和结构体的扎实功底,并且之前写过最基础的 Linux 模块加载驱动,完全没接触过内核编程的人看这套源码分析会很吃力。只要你带着这些基础跟着资料走完,学完后你能独立完成几件具体的事:拿到一颗全新的以太网物理层芯片或 MAC 控制器,你能参照数据手册,把对应的探测、初始化、收包发包函数填到内核网络驱动的标准模板里,写出一个能跑起来的基础驱动;遇到现成的网卡驱动代码,你能脱离对原作者的依赖,自己理清它的初始化时序和数据流向,定位简单的网络通讯异常。它不会让你立刻成为内核网络协议栈专家,但足以应付日常嵌入式板卡底层开发中绝大部分以太网接口的移植和调试需求。

课程目录

课程目录5 集
  • 1 5.11.1.网络设备驱动概述 (28:01).mp4
  • 2 5.11.2.虚拟网卡驱动分析1 (23:09).mp4
  • 3 5.11.3.虚拟网卡驱动分析2 (22:41).mp4
  • 4 5.11.4.DM9000驱动源码分析1 (26:09).mp4
  • 5 5.11.5.DM9000驱动源码分析2 (26:02).mp4