随笔分类 - Linux driver
摘要:原文:scatterlist && DMA DMA是一种无须CPU的参与就可以让外设与系统内存之间进行双向数据传输的硬件机制。使用DMA可以是系统CPU从实际的IO数据传输过程中摆脱出来,从而大大提 供系统的吞吐率。DMA方式的数据传输由DMA控制器(DMAC)控制,在传输期间,CPU可以并发地执行
阅读全文
摘要:原文地址: bio 与块设备驱动 系统中能够随机访问固定大小数据片(chunk)的设备被称作块设备,这些数据片就称作块。块设备文件都是以安装文件系统的方式使用,此也是块设备通常的访问方式。块设备的访问方式是随机的,也就是可以在访问设备时,随意的从一个位置跳转到另一个位置。块设备的访问位置必须能够在介
阅读全文
摘要:原文地址:Linux设备驱动--块设备(一)之概念和框架 基本概念 块设备(blockdevice) 是一种具有一定结构的随机存取设备,对这种设备的读写是按块进行的,他使用缓冲区来存放暂时的数据,待条件成熟后,从缓存一次性写入设备或者从设备一次性读到缓冲区。 字符设备(Character devic
阅读全文
摘要:设备驱动程序大概可分为两种: 内核驱动程序及用户空间驱动程序。l 内核驱动程序是内核空间实现的驱动程序,它使用内核资源,内核栈。它包括可加载的内核驱动模块。在这里我想主要说说用户空间驱动程序的编写。l 用户空间驱动程序就是指在用户空间实现的驱动程序。可以认为,它跟普通的用户程序没有什么两样,它使用用...
阅读全文
摘要:l 什么是内核模块?1. 内核模块是一种没有经过链接,不能独立运行的目标文件,实在内核空间中运行的程序。经过链接装载到内核里面成为内核的一部分,可以访问内核的公用符号(函数和变量)2. 内核模块可以让操作系统内核在需要时载入和执行,在不需要的时候由操作系统卸载。它们扩展了操作系统内核的功能却不需要重...
阅读全文
摘要:一. 摘要这篇文章主要介绍了Linux内核模块的相关概念,以及简单的模块开发过程。主要从模块开发中的常用指令、内核模块程序的结构、模块使用计数以及模块的编译等角度对内核模块进行介绍。在Linux系统开发过程中,以模块的形式开发其重要性不言自明,而在嵌入式设备驱动开发中将驱动程序以模块的形式发布,更是...
阅读全文
摘要:深入浅出:Linux设备驱动之字符设备驱动一、linux系统将设备分为3类:字符设备、块设备、网络设备。使用驱动程序:字符设备:是指只能一个字节一个字节读写的设备,不能随机读取设备内存中的某一数据,读取数据需要按照先后数据。字符设备是面向流的设备,常见的字符设备有鼠标、键盘、串口、控制台和LED设备...
阅读全文

浙公网安备 33010602011771号