Linux设备驱动开发详解:基于最新的Linux 4.0内核 Linux内核自其诞生以来,就不断地进化和升级,以适应硬件技术的发展和用户需求的变化。本书《Linux设备驱动开发详解:基于最新的Linux 4.0内核》针对Linux操作系统中的一个重要组成部分——设备驱动进行了深入探讨。在4.0版本的Linux内核发布之际,作者宋宝华对这一重要内核版本中的设备驱动开发技术进行了详细解析。 Linux 4.0内核相较于之前的版本,在多方面进行了优化和改进。它对硬件的支持更加广泛,性能也得到了提升,尤其是在并行处理和内存管理上。本书以这个内核版本为基准,详细介绍了Linux设备驱动的架构、开发方法和编程技术。内容覆盖了字符设备驱动、块设备驱动、网络设备驱动以及USB设备驱动等多种类型,同时对现代Linux驱动开发中不可或缺的并发控制、内存管理、中断处理等内容也有深入讲解。 作者在书中强调了模块化编程的概念,这是因为Linux内核采用的就是模块化的设计思想,通过加载和卸载模块的方式动态管理硬件设备。模块化使得内核可以更加轻量化,同时也提高了系统的可扩展性和稳定性。书中对如何编写可加载的内核模块进行了指导,并且介绍了模块在内核中的注册机制。 针对设备驱动开发中常见的并发控制问题,书中详细阐述了锁的使用、原子操作和无锁编程等技术。并发控制是保证数据一致性和系统稳定性的重要手段,在多处理器系统和中断驱动的场景中尤为重要。作者还讲解了内核中并发控制的高级话题,比如读写锁、顺序锁等。 内存管理是设备驱动开发中另一个核心议题,尤其是在内核空间和用户空间之间传输数据时。作者宋宝华在书中介绍了Linux内核提供的内存分配和释放接口,以及如何安全有效地进行内存操作。同时,书中也不乏对内存池和大页内存使用的讨论。 Linux作为一个以网络为核心的操作系统,对网络设备的支持自然不会缺少。作者花了相当的篇幅讲解网络子系统的架构以及网络设备驱动的开发。内容涵盖了网络接口的注册和注销、数据包的接收和发送机制等。 在硬件接口方面,USB设备因其广泛的使用成为了本书的重点内容之一。宋宝华详细介绍了USB设备的工作原理、USB驱动的结构和USB核心API的使用。此外,对于现代硬件设备中常见的电源管理和热插拔机制也有相应的章节进行讲解。 除了上述内容外,本书还对Linux内核调试技术进行了介绍,这是开发者在开发过程中不可或缺的一部分。作者分享了使用printk、kgdb等工具进行内核调试的经验和技巧。 《Linux设备驱动开发详解:基于最新的Linux 4.0内核》是一本全面覆盖Linux 4.0内核下设备驱动开发的参考资料。无论对于初学者还是有一定基础的开发者,书中丰富的实例和深入的分析都能提供实质性的帮助。
2025-12-01 20:28:48 59.63MB Linux
1
15.6 绘制三维流场剖面图 三维流场图(矢量图、散点图、流线图等)的处理方法和二维数据处理方法基本相同。 TECPLOT 中还有针对三维数据的特殊绘图格式——剖面图。剖面图可以用来观察流场内部 数据变化,所以也是经常使用的后处理工具。剖面图分三种类型:第一种是根据数值大小 进行的剖切,称为数值剖切(Value-Blanking);第二种是根据有序数据在 X、Y、Z 方向上 的序列号 IJK 的取值范围进行的剖切,称为 IJK 剖切(IJK-Blanking);第三种是根据图形 到屏幕之间的距离进行的剖切,称为深度剖切(Depth-Blanking)。 剖面图的制作是在 Style(风格)菜单中进行的。这里以 TECPLOT 提供的示例文件 ijkortho.plt 为例逐个进行讲解。示例文件 ijkortho.plt 位于 TECPLOT 的安装目录 TEC90 下, 路径为 Demo/plt/ijkortho.plt。首先加载 ijkortho.plt 文件,然后取消对 Mesh(网格)的选择, 并选择 Contour(等值线),然后将 V5:E 设为显示变量,结果如图 15-21 所示。 图 15-21 示例文件 ijkortho.plt 的等值线图 1. 数值剖切(Value-Blanking) 数值剖切将剖切范围与某个变量相联系,根据变量的变化范围确定剖切区域。数值剖切 的设置是在 Value-Blanking(数值剖切)窗口中进行的。执行下列菜单操作,打开这个窗口, 如图 15-22 所示: Style -> Value Blanking 首先,选中 Include Value Blanking(包含数值剖切)选项,表示在图形显示中将使用数 值剖切。
2025-11-21 09:15:42 7.71MB fluent
1
《Linux设备驱动开发详解-基于最新的Linux4.0内核》是一本深入探讨Linux设备驱动程序开发的专业书籍,其源码提供了丰富的实践示例,帮助读者理解如何在Linux操作系统下编写和调试驱动程序。该书涵盖了从基础概念到高级技术的全面知识,包括内核接口、I/O操作、中断处理、DMA、字符设备、块设备、网络设备等多种类型的驱动程序开发。 Linux内核是操作系统的核心,负责管理硬件资源和提供系统服务。设备驱动则是连接硬件和内核的桥梁,它使内核能够控制和管理硬件设备。在Linux4.0内核版本中,设备驱动模型进行了许多改进,比如引入了统一的设备模型(UDEV),使得设备管理更加灵活和自动化。 驱动开发首先需要理解Linux设备模型,包括总线、设备、驱动的抽象概念。书中会介绍如何注册和注销设备,以及如何匹配设备和驱动。此外,还会讲解设备文件的创建和操作,如通过`open()`, `read()`, `write()`等系统调用来与用户空间交互。 对于I/O操作,书中会涉及中断处理机制,包括中断请求(IRQ)的注册和处理,以及中断共享和中断下半部的概念。中断是设备向处理器发送的信号,表明有数据或事件需要处理。中断下半部则用于在中断处理程序执行完毕后,非抢占环境下完成剩余的工作。 DMA(直接内存访问)是一种提高数据传输效率的技术,允许设备直接读写内存,而不需CPU介入。书中会解释如何配置和管理DMA,以及如何解决DMA冲突问题。 字符设备和块设备驱动是驱动开发的两个重要方面。字符设备通常用于提供连续的数据流,如串口或键盘;块设备则处理离散的、块状的数据,如硬盘。开发这些驱动时,需要理解和实现对应的设备文件操作函数,如`read()`, `write()`, `open()`, `close()`等。 网络设备驱动涉及到网络协议栈的交互,包括数据包的接收和发送,以及网络配置和状态管理。理解网络设备驱动,需要熟悉网络层、数据链路层和物理层的概念,以及如何使用`net_device`结构体来表示网络设备。 除了这些基础知识,书中可能还涵盖了其他主题,如PCI设备驱动、USB设备驱动、设备树配置等。通过学习和分析源码,读者不仅可以掌握Linux设备驱动开发的基本技能,还能了解到最新的内核特性和技术趋势。 《Linux设备驱动开发详解-基于最新的Linux4.0内核》的源码提供了丰富的实践案例,是学习Linux驱动开发的宝贵资源。读者可以通过阅读和实践这些代码,深入了解Linux内核工作机制,提高驱动程序设计和调试的能力。
2024-08-11 15:01:28 24.56MB linux 设备驱动
1
宋宝华_精通LINUX设备驱动开发,绝对实用的好书
2023-12-28 11:23:01 10.75MB LINUX 设备驱动开发
1
《Linux设备驱动开发详解》中文版 本书是学习Linux Driver 经典书籍
2023-09-14 10:05:02 57.46MB Linux设备驱动开发详解
1
《嵌入式Linux网络设备驱动开发》PDF课件.pdf《嵌入式Linux网络设备驱动开发》PDF课件.pdf
2023-04-05 01:49:16 518KB 嵌入式 Linux 网络设备 驱动开发
1
第1章 嵌入式系统与驱动程序 1  本章目标 1  1.1 嵌入式系统概述 1   1.1.1 嵌入式系统的概念 1   1.1.2 嵌入式系统的特点 2   1.1.3 嵌入式系统的体系结构 2  1.2 嵌入式处理器介绍 4   1.2.1 嵌入式处理器分类 4   1.2.2 ARM概述 5   1.2.3 ARM系列芯片简介 5  1.3 嵌入式操作系统介绍 7   1.3.1 主流嵌入式操作系统 7   1.3.2 嵌入式系统的发展状况 8   1.3.3 嵌入式Linux介绍 8   1.3.4 嵌入式系统开发环境的建立 9   1.3.5 嵌入式软件开发 10  1.4 嵌入式Linux驱动程序 12   1.4.1 嵌入式Linux的内核空间和用户空间 12   1.4.2 嵌入式Linux的文件系统 12   1.4.3 嵌入式Linux的设备管理 14 .  1.4.4 嵌入式Linux的驱动程序 16  1.5 知识索引 20  1.6 思考与练习 21 第2章 简单的字符设备驱动程序 23  本章目标 23  2.1 嵌入式Linux字符设备的驱动程序结构 23   2.1.1 嵌入式Linux驱动程序常用的头文件 24   2.1.2 File_operations结构体 24   2.1.3 字符设备驱动程序的入口 25   2.1.4 驱动程序的设备注册 26  2.2 设备驱动程序中的具体问题 27   2.2.1 I/O端口 28   2.2.2 内存操作 29   2.2.3 中断处理 29  2.3 LED的驱动程序实例及测试 30   2.3.1 LED I/O端口设置 30   2.3.2 LED硬件电路设计 32   2.3.3 LED驱动程序设计 33   2.3.4 LED测试程序设计 36  2.4 嵌入式Linux中断处理驱动程序及测试 37   2.4.1 中断处理过程 37   2.4.2 中断向量表 39   2.4.3 中断的处理模式 39   2.4.4 中断的优先级 40   2.4.5 中断的嵌套 40   2.4.6 中断源的扩展 40   2.4.7 中断控制寄存器的设置 41  2.5 按键中断的驱动程序实例 45   2.5.1 按键中断的电路设计 45   2.5.2 按键中断的驱动程序设计 45  2.6 知识索引 48  2.7 思考与练习 49 第3章 数字显示驱动程序 50  本章目标 50  3.1 数字显示器 50   3.1.1 数码管简介 50   3.1.2 数码管的分类 51   3.1.3 数码管显示原理 51  3.2 数码管显示电路的硬件设计 52   3.2.1 译码器的使用 52   3.2.2 数码管的驱动方式 53   3.2.3 串/并变换的译码设计 55  3.3 数码管驱动程序实例 56   3.3.1 驱动程序的初始化和卸载模块 56   3.3.2 文件操作结构模块 57   3.3.3 数码管的打开模块 57   3.3.4 数码管的读写模块 58   3.3.5 数码管的I/O控制模块 58   3.3.6 数码管的退出模块 58   3.3.7 驱动程序的模块加载和卸载 59  3.4 数码管显示电路测试程序设计 60   3.4.1 数码管测试设计 60   3.4.2 数码管测试程序 60   3.4.3 数码管测试效果 61  3.5 知识索引 61  3.6 思考与练习 62 第4章 键盘驱动程序 63  本章目标 63  4.1 键盘接口概述 63   4.1.1 键盘的分类 63   4.1.2 键盘的防抖 65   4.1.3 键盘的扫描 65   4.1.4 键盘的缓冲算法 67  4.2 键盘的驱动设计实例 67   4.2.1 锁存器和缓冲器扩展键盘 67   4.2.2 锁存器和缓冲器的接口 68   4.2.3 锁存器和缓冲器扩展键盘驱动程序设计 69   4.2.4 锁存器和缓冲器扩展键盘测试程序设计 71  4.3 智能控制芯片HD7279扩展键盘 72   4.3.1 HD7279的电路设计 72   4.3.2 HD7279的指令介绍 73   4.3.3 HD7279的串行接口 74   4.3.4 HD7279的驱动程序设计 75   4.3.5 HD7279的测试程序设计 84  4.4 知识索引 85  4.5 思考与练习 85 第5章 A/D驱动程序 86  本章目标 86  5.1 A/D转换的过程 86   5.1.1 采样和保持 86   5.1.2 量化和编码 88   5.1.3 ADC的分类 89  5.2 A/D转换器的基本原理 89   5.2.1 逐次逼近型A/D转换器 89   5.2.2 双积分型A/D转换器 90   5.2.3 V/F和F/V型转换器 93   5.2.4 其他A/D转换器 95  5.3 A/D转换器接口技术 97   5.3.1 ADC的主要参数及意义 97   5.3.2 ADC的电路选择方法 98   5.3.3 ADC实际应用中的问题 99  5.4 S3C2410 A/D转换驱动设计实例 99   5.4.1 S3C2410的A/D转换电路 99   5.4.2 S3C2410X的A/D转换控制寄存器 100   5.4.3 S3C2410X的A/D转换数据寄存器 101   5.4.4 S3C2410X中A/D转换驱动程序的设计 102   5.4.5 S3C2410X中A/D转换测试程序的设计 105  5.5 知识索引 106  5.6 思考与练习 107 第6章 D/A驱动程序 108  本章目标 108  6.1 D/A的原理介绍 108   6.1.1 D/A转换的概念及基本原理 108   6.1.2 电子模拟开关 109   6.1.3 D/A转换器的基本结构 110   6.1.4 D/A转换的静态参数 114   6.1.5 D/A转换的动态参数 115  6.2 D/A转换的硬件电路设计 116   6.2.1 D/A转换的接口技术 116   6.2.2 D/A转换芯片介绍 117   6.2.3 D/A转换的电路设计 118  6.3 D/A转换器的驱动程序实例 118   6.3.1 D/A驱动程序中的宏定义 118   6.3.2 D/A的模块加载 118   6.3.3 D/A转换器的文件操作模块 119   6.3.4 D/A转换器的读写控制模块 120   6.3.5 D/A转换器的打开、退出模块 120  6.4 测试程序的设计 120   6.4.1 D/A测试程序中的宏定义 121   6.4.2 D/A测试程序的主函数 121   6.4.3 D/A测试程序中的功能函数 122   6.4.4 D/A测试程序中的功能打印函数 123   6.4.5 D/A测试程序中的波形生成函数 123   6.4.6 D/A测试程序的效果 124  6.5 知识索引 125  6.6 思考与练习 125 第7章 LCD驱动程序 126  本章目标 126  7.1 LCD显示器概述 126   7.1.1 液晶 126   7.1.2 LCD显示屏的背光 127   7.1.3 LCD显示器的分类 127   7.1.4 LCD的显示原理 127   7.1.5 LCD的驱动方式 130   7.1.6 LCD的常用指标 131  7.2 LCD的显示接口 131   7.2.1 灰度STN的时序 132   7.2.2 彩色STN的时序 133   7.2.3 TFT的时序 134  7.3 嵌入式处理器的LCD控制器 136   7.3.1 LCD控制器 136   7.3.2 LCD控制器的设置 137   7.3.3 LCD的字符显示缓存 139  7.4 LCD的驱动程序设计 140   7.4.1 LCD驱动程序相关的宏定义 140   7.4.2 LCD驱动程序的底层操作函数 142   7.4.3 LCD驱动程序提供的API 145   7.4.4 LCD驱动程序的模块化加载 151   7.4.5 LCD的测试程序 152  7.5 基于Framebuffer的LCD驱动程序实例 155   7.5.1 Framebuffer概述 155   7.5.2 LCD的电路连接 155   7.5.3 Framebuffer设备驱动程序的结构 156   7.5.4 Framebuffer设备驱动程序的设计 159   7.5.5 Framebuffer设备测试程序的设计 164   7.5.6 嵌入式Linux常用的GUI 166  7.6 知识索引 166  7.7 思考与练习 167 第8章 触摸屏驱动程序 168  本章目标 168  8.1 触摸屏概述 168  8.2 触摸屏的分类 168   8.2.1 电阻技术触摸屏 168   8.2.2 表面声波技术触摸屏 169   8.2.3 电容电感技术触摸屏 170   8.2.4 红外线技术触摸屏 170  8.3 触摸屏的特性 171   8.3.1 透明度和色彩失真 171   8.3.2 反光性 171   8.3.3 清晰度 171   8.3.4 漂移 172   8.3.5 检测和定位 172  8.4 触摸屏的硬件电路设计 172   8.4.1 电阻式触摸屏的电路原理 172   8.4.2 电阻式触摸屏原点的定位 173   8.4.3 电阻式触摸屏的电路连接 174  8.5 触摸屏的驱动程序实例 176   8.5.1 触摸屏接口的模式 176   8.5.2 A/D转换和触摸屏寄存器的设置 177   8.5.3 触摸屏的坐标 179   8.5.4 触摸屏的电路连接 180   8.5.5 触摸屏的驱动程序接口 181  8.6 测试程序的设计 182   8.6.1 触摸屏的数据定义 183   8.6.2 触摸屏的数据处理 183   8.6.3 触摸屏的运行测试 185  8.7 知识索引 186  8.8 思考与练习 187 第9章 CAN总线驱动程序 188  本章目标 188  9.1 CAN总线接口设计 188   9.1.1 CAN总线概述 188   9.1.2 CAN的工作特点及主要优点 189   9.1.3 CAN总线的电气特征和MAC帧结构 189  9.2 嵌入式处理器上CAN总线接口的扩展 190   9.2.1 SJA1000简介 190   9.2.2 SJA1000扩展 191  9.3 SJA1000扩展CAN总线接口的设计 192   9.3.1 CAN 控制器SJA1000的操作模式 192   9.3.2 CAN控制器SJA1000的特征功能 193   9.3.3 CAN 控制器SJA1000的Basic CAN模式设置 194  9.4 SJA1000扩展CAN总线接口的通信 196   9.4.1 通过CAN总线建立通信的步骤 196   9.4.2 SJA1000的初始化 196   9.4.3 驱动程序的结构设计 198   9.4.4 驱动程序init、exit、open、close函数的实现 200   9.4.5 驱动程序read、write函数的实现 201   9.4.6 驱动程序interrupt、ioctl函数实现 202   9.4.7 测试程序的编写 202  9.5 驱动程序的加载 204  9.6 知识索引 204  9.7 思考与练习 205 第10章 IIC总线驱动程序 206  本章目标 206  10.1 IIC总线概述 206   10.1.1 IIC总线介绍 206   10.1.2 IIC总线引入的原因 206   10.1.3 IIC总线的特点 206   10.1.4 IIC总线的基本结构 207   10.1.5 IIC总线的术语 207   10.1.6 IIC总线的工作 208   10.1.7 IIC总线的竞争仲裁 209   10.1.8 IIC总线的工作流程 210  10.2 嵌入式处理器的IIC接口 211   10.2.1 IIC总线控制寄存器 212   10.2.2 IIC总线控制/状态寄存器 213   10.2.3 IIC总线地址寄存器 214   10.2.4 IIC总线移位数据寄存器 214   10.2.5 S3C2410中与IIC对应的I/O端口 215  10.3 基于IIC的键盘芯片应用 216   10.3.1 ZLG7290的功能 217   10.3.2 ZLG7290的控制方式 218   10.3.3 ZLG7290的寄存器 218   10.3.4 ZLG7290的通信接口 219   10.3.5 ZLG7290的指令介绍 219  10.4 IIC总线驱动程序实例 221   10.4.1 ZLG7290的电路连接 221   10.4.2 ZLG7290的通信流程 223   10.4.3 ZLG7290驱动中变量的定义 225   10.4.4 ZLG7290驱动中实时时钟的改变 226   10.4.5 ZLG7290和IIC寄存器的初始化 227   10.4.6 ZLG7290驱动程序的模块化 228   10.4.7 ZLG7290的文件操作结构 228  10.5 IIC总线的测试程序 230  10.6 知识索引 231  10.7 思考与练习 231 第11章 音频总线驱动程序 232  本章目标 232  11.1 音频总线接口概述 232   11.1.1 音频的采样精度 233   11.1.2 音频编码 233  11.2 IIS音频总线接口 233   11.2.1 IIS总线的物理连接 233   11.2.2 IIS的总线协议 234   11.2.3 IIS总线的硬件设计 235   11.2.4 IIS总线的寄存器 236  11.3 AC97音频总线接口 239  11.4 IIS总线的驱动程序设计 240   11.4.1 音频设备基础知识 240   11.4.2 音频设备文件 241   11.4.3 WAV声音文件 243   11.4.4 音频设备和驱动程序的通信 243   11.4.5 设备的初始化和加载 244   11.4.6 DMA的操作和宏定义 246   11.4.7 audio设备文件的操作 248   11.4.8 mixer设备文件的操作 260  11.5 音频驱动程序的测试 262  11.6 知识索引 262  11.7 思考与练习 263 第12章 IDE接口驱动程序 264  本章目标 264  12.1 IDE接口概述 264   12.1.1 硬盘知识介绍 264   12.1.2 IDE接口标准 267   12.1.3 IDE接口的传输模式 269   12.1.4 IDE接口寄存器 269  12.2 IDE接口驱动程序的移植 271   12.2.1 嵌入式Linux下IDE驱动程序接口 271   12.2.2 嵌入式Linux下IDE驱动程序 272   12.2.3 IDE硬盘的读/写操作 274  12.3 IDE驱动程序测试 282   12.3.1 磁盘文件系统简介 283   12.3.2 IDE分区测试 283  12.4 知识索引 285  12.5 思考与练习 285 第13章 闪存芯片的驱动程序 286  本章目标 286  13.1 闪存芯片概述 286   13.1.1 闪存芯片的物理特性 286   13.1.2 嵌入式文件系统概述 289   13.1.3 MTD体系介绍 289   13.1.4 Flash专有名词 291  13.2 NAND Flash 291   13.2.1 NAND Flash的结构 291   13.2.2 NAND Flash的操作 292   13.2.3 NAND Flash控制器 294   13.2.4 NAND Flash的时序 296   13.2.5 NAND Flash的驱动程序实例 297  13.3 NOR Flash 301   13.3.1 NOR Flash的结构 301   13.3.2 NOR Flash的操作 302   13.3.3 NOR Flash的驱动程序实例 303  13.4 基于闪存的文件系统 307  13.5 知识索引 309  13.6 思考与练习 310 第14章 USB 设备驱动程序 311  本章目标 311  14.1 USB接口概述 311   14.1.1 USB系统 311   14.1.2 USB的电气特性 312   14.1.3 USB总线的拓扑结构 313   14.1.4 USB的通信协议 313  14.2 嵌入式系统中USB的使用 315   14.2.1 OHCI概述 315   14.2.2 Host接口硬件设计 316  14.3 嵌入式系统中USB设备的驱动程序设计 316   14.3.1 USB设备驱动程序的分类 316   14.3.2 USB驱动的骨架程序 317   14.3.3 设备端USB驱动程序 327   14.3.4 USB键盘飞梭的驱动程序 327  14.4 USB驱动程序测试 331   14.4.1 热插拔 331   14.4.2 利用hotplug脚本实现设备的自动加载 332  14.5 知识索引 333  14.6 思考与练习 334 第15章 串口驱动程序 335  本章目标 335  15.1 串口概述 335   15.1.1 同步串口的传输标准 335   15.1.2 异步串口的传输标准 336   15.1.3 串口的物理层标准 336   15.1.4 串口的电平逻辑转换 341  15.2 嵌入式处理器串口控制器 342   15.2.1 嵌入式系统中常用的UART控制器 342   15.2.2 S3C2410中的UART控制器 342  15.3 嵌入式Linux串口驱动程序设计 346   15.3.1 异步串口的工作流程 346   15.3.2 串口的驱动程序结构 347   15.3.3 串口驱动程序的注册 349   15.3.4 ops中的串口操作函数 351   15.3.5 串口驱动中与控制台有关的函数 360  15.4 嵌入式Linux串口的应用程序设计 360   15.4.1 串口编程需要用到的头文件 360   15.4.2 串口的终端函数 361   15.4.3 RS-485和RS-232的通信 363  15.5 基于串口的GPRS应用实例 366   15.5.1 GPRS简介 366   15.5.2 GPRS的电路设计 367   15.5.3 GPRS的程序分析 368  15.6 基于串口的GPS应用实例 371   15.6.1 GPS简介 371   15.6.2 GPS应用程序设计 371  15.7 知识索引 375  15.8 思考与练习 376 第16章 网络设备驱动程序 377  本章目标 377  16.1 以太网概述 377   16.1.1 以太网的连接 377   16.1.2 以太网的工作原理 378   16.1.3 以太网的帧结构 379   16.1.4 TCP/IP网络协议 381   16.1.5 嵌入式系统中常用的网络协议 382  16.2 嵌入式处理器的以太网接口 383   16.2.1 带有MAC层控制协议的处理器 383   16.2.2 通过以太网芯片扩展网络接口 384  16.3 以太网驱动程序体系结构 385   16.3.1 网络驱动程序的结构 385   16.3.2 网络设备初始化 386   16.3.3 数据包的发送与接收 386   16.3.4 网络设备的加载方式 387   16.3.5 常用的系统支持 388  16.4 网卡驱动程序实例 392   16.4.1 NE2000的内核支持 392   16.4.2 网络接口的初始化 392   16.4.3 网络接口设备的打开和关闭 393   16.4.4 数据包发送和接收 394   16.4.5 网络驱动程序的基本操作 394   16.4.6 编写嵌入式Linux网络驱动程序中需要注意的问题 398  16.5 网络驱动程序的测试 399   16.5.1 嵌入式Linux的网络配置 400   16.5.2 NFS文件系统 401   16.5.3 socket编程 403   16.5.4 socket编程实例 405  16.6 知识索引 415  16.7 思考与练习 416
2023-03-28 13:44:40 18.69MB 华清远见 驱动 linux 嵌入式
1
RTEMS的bsp_howto文档的原创翻译。
2023-03-06 11:16:46 961KB RTEMS bsp_howto 翻译
1
Linux设备驱动开发.ppt
2023-01-25 17:31:38 586KB Linux设备驱动开发
1
传统的8/16位微控制器由于速度慢、功耗大且实现Internet协议困难,已经不能满足大量信息管理的需要。提出一种基于ARM920T和Linux的嵌入式通信控制系统,介绍了系统架构和在工业系统的应用。论述了用动态模块加载法和静态编译进内核法开发系统外扩设备控制器局域网(CAN)总线以及RS-422/RS-485总线驱动程序的流程,分析了驱动的调试方法;对开发嵌入式系统驱动程序的2种方法作了对比。
2022-12-08 08:56:24 1.08MB 嵌入式系统 ARM Linux 驱动
1