【linux驱动】
文章平均质量分 78
loe
专注linux
展开
-
LINUX软中断-ksoftirqd
ksoftirqd原创 2023-01-20 15:50:59 · 4620 阅读 · 0 评论 -
LINUX软中断-softirq
linux软中断原创 2023-01-17 17:41:26 · 1971 阅读 · 0 评论 -
浅谈ioremap,vmalloc,mmap三者之间的实现&区别
linux mmap&ioremap原创 2022-12-15 00:48:11 · 2735 阅读 · 0 评论 -
应用层reboot后的大体流程
reboot原创 2022-06-15 13:38:24 · 238 阅读 · 0 评论 -
利用WARN_ONCE调查fbmem.c的调用关系
WARN_ONCE感觉真是神奇,可以打印函数的调用关系,很是牛逼,fbmem.c是显示驱动的统合管理模块,所以想了解下它的open,read,write函数的调用关系。首先看一下加入的地方(注意WARN_ONCE 指定 打印出用 EXPORT_SYMBOL定义的函数)。diff --git a/drivers/video/fbdev/core/fbmem.c b/drivers/video/fbdev/core/fbmem.cindex 76c1ad9..3e55ffc 100644--- a/dr原创 2021-04-02 11:58:20 · 931 阅读 · 0 评论 -
浅谈内核的module模块
浅谈内核的module模块以前一直不知道 linux 驱动的 .ko 到底是个什么,有什么用,所以简单的分析一下。ko文件如何形成,它是什么格式?首先随便写个 helloworld 驱动,make V=1 打开详细编译log查看(我的这里是 kobj.ko)取出关键的部分:gcc -DKBUILD_MODNAME='"kobj"' -DMODULE -c -o /home/mxg/workSpace/Intermals_of_Linux_device_driver/chap09/kobj/kob原创 2021-03-31 13:39:49 · 736 阅读 · 0 评论 -
USB设备驱动一
usb设备驱动真的很复杂,涉及到的usb设备不同,其设备框架也不同,usb驱动系类主要讲解usb串口驱动(usb-serial),力争面面俱到原创 2017-04-25 22:10:34 · 620 阅读 · 0 评论 -
串口驱动程序分析
版权声明:本文为博主原创文章,未经博主允许不得转载。[cpp] view plain copy//串口驱动程序分析 (1),串口写数据 当用户层调用write()函数,就对应调用/driver/char/tty_io.c里面的tty_write() tty_write() ---> do_tty转载 2017-04-25 17:05:40 · 1238 阅读 · 0 评论 -
关于/dev/console的个人理解
嵌入式开发里, 首先需要配置一个串口,用于打印printk信息到控制台,以2440为例 这里的/dev/console(设备号 5, 1),就是控制台,用于printk信息输出到的设备, 但是呢, /dev/console是个虚拟设备, 他需要映射到真正的tty设备, 比如2440,会映射到 ttySAC0 arm335x,会映射到ttyO0,所以内核为了统一方便,就统称命名为/dev/c原创 2017-03-12 20:00:58 · 16577 阅读 · 0 评论 -
设备模型七(class)
前言 对于class来说,应用场合是非常多的,但是网上关于其讲解是非常少的,所以这篇要好好讲解这个class什么是class class,即类, 其实跟它的名字一样, 把类似的设备(有共同的属性)归结成一个类,比如tty,在这里,我们举一个小例子,从结果还分析, 什么是class 我们可以看到 xx_dev1—->xx_dev4这里有4个设备,这4个设备,都属于类xx_class原创 2017-03-15 11:53:59 · 807 阅读 · 0 评论 -
设备模型六(bus, device, driver)
前言 前面讨论已经知道, kset, kobject相当于c++中的基类,会有上层容器去继承他们,c语言里面的继承也就是包含其数据结构的意思,而bus(总线), device(设备),驱动(驱动), 他们三个壮汉继承了他们,从而引出了设备模型的高级部分,这里我们要搞明白以下几点 1.bus, device, driver的数据结构 2.三者间的关系 3.device与driver间的绑定原创 2017-03-14 14:51:33 · 1544 阅读 · 0 评论 -
设备模型五(实例代码)
前言 这篇主要是对前四章的总结 本例子参考<<深入linux设备驱动内核机制>> 例子真好, 我在此之上有添加了一些#include <linux/init.h>#include <linux/module.h>#include <linux/kernel.h>#include <linux/kobject.h>#include <linux/sysfs.h>#include <l原创 2017-03-09 16:16:46 · 489 阅读 · 0 评论 -
设备模型四(uevent)
前言原创 2017-03-09 13:01:20 · 723 阅读 · 0 评论 -
设备模型三(潜谈sysfs)
前言 引出一个问题:假设 /sys/a/b/xx, xx是kobj b的属性文件, 当对xx进行写操作时,即echo ‘1’ > /sys/a/b/xx 实际上,调用了kobj b的ktype中定义的接口函数, 这一系列的流程涉及到 1.属性文件的创建函数 sysfs_create_file 2.sysfs的挂载 3.sysfs的读写操作 下面就围绕上面三点展开讨论sysfs的挂载原创 2017-03-08 15:22:34 · 572 阅读 · 0 评论 -
usb设备的probe全过程
版权声明:本文为博主原创文章,未经博主允许不得转载。本文将详细讲述2.6.22下的一个USB设备插上Linux系统的PC后是如何一步一步调到我们的usb设备驱动的probe函数的, 我们知道我们的USB驱动的probe函数中的一个参数是interface结构, 因此一般来说, 一个USB设备中的任何一个接口都应该有对应的一个驱动程序,当然也有例外(如cdc-acm).我们知道US转载 2017-03-18 11:18:48 · 827 阅读 · 0 评论 -
设备模型二(Kobject, Kset)
前言 设备模型的讨论基于 linux 3.2.0内核版本,其实变动都不大Kobject, kset基本概念 一般来说应该这么理解,整个linux 的设备模型是一个OO 的体系结构,总线、设备和驱动 都是其中鲜活存在的对象,kobject 是它们的基类,所实现的只是一些公共的接口,它与sysfs文件系统紧密关联,每个在内核中注册的kobject对象都对应于sysfs文件系统中的一个目录。Kob原创 2017-03-08 11:29:37 · 606 阅读 · 0 评论 -
设备模型一(基本概念)
前言 设备驱动模型研究好一阵子了,但是很快就忘了,不得不重新再研究,打算记录下来,设备驱动模型系列打算参考wowo科技系列的文章(http://www.wowotech.net/linux_kenrel/13.html)以及自己的理解讲诉一下,开篇的话引入wowo关于驱动模型的第一篇(写的太好,没办法) Linux支持世界上几乎所有的、不同功能的硬件设备(这是Linux的优点),导致Linux内原创 2017-03-08 10:30:21 · 2595 阅读 · 0 评论 -
linux platform 设备驱动之 match 自动匹配
权声明:本文为博主原创文章,未经博主允许不得转载。[cpp] view plain copy"font-size:14px;">struct platform_device { // linux/platform_device.h const char * name; int id; s转载 2017-01-17 11:04:56 · 1370 阅读 · 0 评论