linux加载/卸载驱动有两种方法。 1.modprobe 注:在使用这个命令加载模块前先使用depmod -a命令生成modules.dep文件,该文件位于/lib/modules/$(uname -r)目录下; modprobe命令智能地向内核中加载模块或者从内核中移除模块,可载入指定的个别模块 ...
分类:
系统相关 时间:
2018-06-27 23:57:23
阅读次数:
339
作为Linux开发爱好者,从事linux 开发有两年多时间。做过bsp移植,熟悉u-boot代码执行流程;看过几遍《linux 设备驱动程序开发》,分析过kernel启动流程,写过驱动,分析过网卡驱动,制作过文件系统。但,仍无法对kernel有全局认识。为了更清晰的展示kernel概念,结构,实现, ...
分类:
系统相关 时间:
2018-06-23 14:27:20
阅读次数:
179
《ifconfig源码分析之与内核交互数据》本文档的Copyleft归rosetta所有,使用GPL发布,可以自由拷贝、转载,转载时请保持文档的完整性。参考资料:《Linux设备驱动程序 第三版》,scull源码,Linux内核源码来源:http://blog.csdn.net/rosetta/ar ...
分类:
其他好文 时间:
2018-05-11 13:49:00
阅读次数:
215
Linux驱动框架分析(一) 事实上,Linux的设备驱动都遵循一个惯例——表征驱动程序(用driver更贴切一些,应该称为驱动器比较好吧)的结构体,结构体里面应该包含了驱动程序所需要的所有资源。用术语来说,就是这个驱动器对象所拥有的属性及成员。由于Linux的内核用c来编写,所以我们也按照这种结构 ...
分类:
系统相关 时间:
2018-03-17 15:24:08
阅读次数:
210
<设备驱动模型> 注:几乎所有的设备结构体都包含"strcut kobject kobj"和"srtuct list_head list"该结构体。 struct kobject kobj: 该结构体用于构建Linux设备驱动模型的模型建立 struct list_head { struct lis ...
分类:
系统相关 时间:
2018-03-17 15:16:40
阅读次数:
187
转自:http://blog.chinaunix.net/uid-23769728-id-3080134.html RCU的设计思想比较明确,通过新老指针替换的方式来实现免锁方式的共享保护。但是具体到代码的层面,理解起来多少还是会有些困难。在《深入Linux设备驱动程序内核机制》第4章中,已经非常明 ...
分类:
系统相关 时间:
2018-03-11 00:21:01
阅读次数:
198
自古以来,学习一门新编程语言的第一步就是写一个打印“hello world”的程序(可以看《hello world 集中营》这个帖子供罗列了300个“hello world”程序例子)在本文中,我们将用同样的方式学习如何编写一个简单的linux内核模块和设备驱动程序。我将学习到如何在内核模式下以三种 ...
分类:
系统相关 时间:
2018-03-03 23:26:33
阅读次数:
276
1. 基本概念: linux设备驱动开发详解(宋宝华): 字符设备与块设备 I/O 操作的不同如下。 (1)块设备只能以块为单位接受输入和返回输出,而字符设备则以字节为单位。 大多数设备是字符设备,因为它们不需要缓冲而且不以固定块大小进行操作。 (2)块设备对于 I/O 请求有对应的缓冲区,因此它们 ...
分类:
系统相关 时间:
2018-03-03 18:22:30
阅读次数:
264
2017-2018-1 20155317 实验四 外设驱动程序设计 一、学习笔记: 本章内容:Linux设备驱动的基本概念;Linux设备驱动程序的基本功能;linux设备驱动的运作过程;常见设备驱动接口函数;掌握LCD设备驱动程序编写步骤;掌握键盘设备驱动程序编写步骤 二、实验四外设驱动程序设计 ...
分类:
其他好文 时间:
2017-12-03 18:12:04
阅读次数:
157
2017 2018 1 20155302 实验四 外设驱动程序设计 任务一 ?学习资源中全课中的“hqyj.嵌入式Linux应用程序开发标准教程.pdf”中的第十一章 ?提交康奈尔笔记的照片(可以多张) 完成情况: 第十一章主要讲述了在Linux的内核空间的嵌入式Linux设备驱动的开发。 Linu ...
分类:
其他好文 时间:
2017-12-02 16:23:33
阅读次数:
167