linux驱动
中年润
致力于嵌入式和AI基础设施建设
展开
-
linux驱动篇-button-int-poll
本篇是linux下按键设备驱动,采用的中断法和poll机制,也是属于字符设备类的驱动,一起来动手吧。下面的话,老朋友可以跳过了直接从《需求描述》章节看起,新朋友可以试着看看。前言前言主要介绍了中年润写文章的目的,新朋友可以参考中年润其它文章来了解中年润的初衷。另外,之后的文章会大量借助流程图来表达中心思想,比较细节的步骤请大家参考中年润以前写过的文章。最近中美贸易战正酣,中年润也想尽自...原创 2019-05-26 23:46:57 · 465 阅读 · 0 评论 -
驱动专题:源码编写 17 IIC设备驱动及IIC总线驱动
汇总地址:https://blog.csdn.net/chichi123137/article/details/80946381IIC设备驱动第一种注册IIC设备的方法,i2c_board_info,i2c_new_deviceIIC设备驱动,设备侧代码#include <linux/kernel.h>#include <linux/module.h>...原创 2018-09-12 07:19:09 · 299 阅读 · 0 评论 -
驱动专题:源码编写 17 dm9000网卡设备驱动
汇总地址:https://blog.csdn.net/chichi123137/article/details/80946381dm9000网卡驱动/* dm9ks.c: Version 2.08 2007/02/12 A Davicom DM9000/DM9010 ISA NIC fast Ethernet driver for Linux. This...原创 2018-09-12 07:18:57 · 402 阅读 · 0 评论 -
驱动专题:源码编写 16 虚拟网卡设备驱动
汇总地址:https://blog.csdn.net/chichi123137/article/details/80946381虚拟网卡驱动/* * 参考 drivers\net\cs89x0.c */#include <linux/module.h>#include <linux/errno.h>#include <linux/netdevi...原创 2018-09-12 07:19:17 · 543 阅读 · 0 评论 -
驱动专题:源码编写 15 norflash设备驱动
汇总地址:https://blog.csdn.net/chichi123137/article/details/80946381norflash设备驱动/* * 参考 drivers\mtd\maps\physmap.c */#include <linux/module.h>#include <linux/types.h>#include <l...原创 2018-09-12 07:18:51 · 211 阅读 · 0 评论 -
驱动专题:源码编写 14 nandflash设备驱动
汇总地址:https://blog.csdn.net/chichi123137/article/details/80946381nandflash设备驱动/* 参考 * drivers\mtd\nand\s3c2410.c * drivers\mtd\nand\at91_nand.c */#include <linux/module.h>#include &l...原创 2018-09-08 10:13:29 · 245 阅读 · 0 评论 -
驱动专题:源码编写 13 块设备驱动
汇总地址:https://blog.csdn.net/chichi123137/article/details/80946381块设备驱动:/* 参考: * drivers\block\xd.c * drivers\block\z2ram.c */#include <linux/module.h>#include <linux/errno.h>#i...原创 2018-09-08 10:11:30 · 158 阅读 · 0 评论 -
驱动专题:源码编写 12 usb设备驱动
汇总地址:https://blog.csdn.net/chichi123137/article/details/80946381usb设备驱动/* * drivers\hid\usbhid\usbmouse.c */#include <linux/kernel.h>#include <linux/slab.h>#include <linux/m...原创 2018-09-08 10:09:39 · 292 阅读 · 0 评论 -
驱动专题:源码编写 11 touchscreen触摸屏驱动
汇总地址:https://blog.csdn.net/chichi123137/article/details/80946381touchscreen触摸屏驱动代码#include <linux/errno.h>#include <linux/kernel.h>#include <linux/module.h>#include <linux...原创 2018-09-08 10:07:29 · 581 阅读 · 0 评论 -
驱动专题:源码编写 10 lcd显示屏驱动
汇总地址:https://blog.csdn.net/chichi123137/article/details/80946381lcd显示屏驱动代码:#include <linux/module.h>#include <linux/kernel.h>#include <linux/errno.h>#include <linux/string...原创 2018-09-08 10:04:38 · 726 阅读 · 0 评论 -
驱动专题:源码编写 9 驱动架构分层分离体验
汇总地址:https://blog.csdn.net/chichi123137/article/details/80946381led_dev.c,主要提供资源#include <linux/module.h>#include <linux/version.h>#include <linux/init.h>#include <linux...原创 2018-09-08 10:02:00 · 164 阅读 · 0 评论 -
驱动专题:源码编写 8 输入子系统按键驱动及测试程序
汇总地址:https://blog.csdn.net/chichi123137/article/details/80946381简单按键驱动+输入子系统/* 参考drivers\input\keyboard\gpio_keys.c */#include <linux/module.h>#include <linux/version.h>#include...原创 2018-09-08 09:52:28 · 192 阅读 · 0 评论 -
驱动专题:源码编写 7 简单button驱动(延时消抖)及测试程序
汇总地址:https://blog.csdn.net/chichi123137/article/details/80946381简单按键驱动+延时消抖驱动代码如下:#include <linux/module.h>#include <linux/kernel.h>#include <linux/fs.h>#include <linux/...原创 2018-09-08 09:48:57 · 223 阅读 · 0 评论 -
驱动专题:源码编写 6 简单button驱动(中断法+异步通知+非阻塞操作模式)及测试程序
汇总地址:https://blog.csdn.net/chichi123137/article/details/80946381简单按键驱动+非阻塞操作模式驱动代码如下:#include <linux/module.h>#include <linux/kernel.h>#include <linux/fs.h>#include <lin...原创 2018-09-08 09:45:30 · 257 阅读 · 0 评论 -
驱动专题:源码编写 0 简单字符设备驱动及测试程序
汇总地址:https://blog.csdn.net/chichi123137/article/details/80946381简单字符设备驱动程序#include <linux/module.h>#include <linux/kernel.h>#include <linux/fs.h>#include <linux/init.h>...原创 2018-09-06 07:11:38 · 842 阅读 · 0 评论 -
驱动专题:源码编写 2 简单button按键设备驱动及测试程序
汇总地址:https://blog.csdn.net/chichi123137/article/details/80946381简单按键驱动源码如下:second_drv.c#include <linux/module.h>#include <linux/ioport.h>#include <linux/io.h>#include <lin...原创 2018-09-06 08:30:17 · 411 阅读 · 0 评论 -
驱动专题:源码编写 3 简单button驱动(中断法+休眠唤醒机制)及测试程序
汇总地址:https://blog.csdn.net/chichi123137/article/details/80946381简单按键驱动,采用中断法驱动程序如下,third_drv.c#include <linux/module.h>#include <linux/kernel.h>#include <linux/fs.h>#includ...原创 2018-09-07 08:19:58 · 278 阅读 · 0 评论 -
linux驱动篇-Button-中断法
本篇是linux下按键设备驱动,采用的中断法,也是属于字符设备类的驱动,一起来动手吧。下面的话,老朋友可以跳过了直接从《需求描述》章节看起,新朋友可以试着看看。前言在嵌入式行业,有很多从业者。我们工作的主旋律是拿开源代码,拿厂家代码,完成产品的功能,提升产品的性能,进而解决各种各样的问题。或者是维护一个模块或方向,一搞就是好几年。时间长了,中年润发现我们对从零开始编写驱动、...原创 2019-05-26 22:27:25 · 620 阅读 · 0 评论 -
linux驱动篇-Input-button
本篇是linux下input子系统下的按键(button/key)驱动,一起来动手吧。下面的话,老鸟可以跳过了直接从《需求描述》章节看起,新手可以试着看看。原创 2019-04-19 23:00:12 · 500 阅读 · 0 评论 -
linux驱动篇-Simple-char
Simple-char本篇是linux下一个简单的字符设备驱动,一起来动手吧。下面的话,老鸟可以跳过了直接从《需求描述》章节看起,新手可以试着看看。前言在嵌入式行业,有很多从业者。我们工作的主旋律是拿开源代码,拿厂家代码,完成产品的功能,提升产品的性能,进而解决各种各样的问题。或者是维护一个模块或方向,一搞就是好几年。时间长了,中年润发现我们对从零开始编写驱动、应用、算...原创 2019-04-19 22:47:28 · 478 阅读 · 0 评论 -
linux驱动篇-Led
Led本篇是linux下Led设备驱动,也是属于字符设备类的驱动,一起来动手吧。下面的话,老朋友可以跳过了直接从《需求描述》章节看起,新朋友可以试着看看。特别说明:本系列教程可以配套《韦东山视频教程二期》,是韦老师教程的有益补充。Csdn地址如下:https://blog.csdn.net/chichi123137/article/details/89636184前言在嵌入...原创 2019-05-02 00:06:37 · 3431 阅读 · 0 评论 -
linux驱动篇-Button-查询法
Button-查询法本篇是linux下按键设备驱动,采用查询法,也是属于字符设备类的驱动,一起来动手吧。下面的话,老朋友可以跳过了直接从《需求描述》章节看起,新朋友可以试着看看。特别说明:本系列教程可以配套《韦东山视频教程二期》,是韦老师教程的有益补充。Csdn地址如下:https://blog.csdn.net/chichi123137/article/details/89741...原创 2019-05-01 23:49:36 · 635 阅读 · 0 评论 -
linux驱动篇-touchscreen-完整版
Touchscreen本篇文章为触摸屏驱动完整版本,为的是给时间充裕的同学详细讲解。如要时间有限可以看精简版,传送门在下面。https://blog.csdn.net/chichi123137/article/details/89256532前言在嵌入式行业,有很多从业者。我们工作的主旋律是拿开源代码,拿厂家代码,完成产品的功能,提升产品的性能,进而解决各种各样的问题。或者是维护一...原创 2019-04-12 20:50:48 · 5069 阅读 · 5 评论 -
linux驱动篇-touchscreen-精简版
Touchscreen本篇文章为触摸屏精简版本,为的是省去大家的时间,快速知道触摸屏驱动的基本编写步骤。如要看完整版,传送门在下面。https://blog.csdn.net/chichi123137/article/details/89256978前言在嵌入式行业,有很多从业者。我们工作的主旋律是拿开源代码,拿厂家代码,完成产品的功能,提升产品的性能,进而解决各种各样的问题。或者...原创 2019-04-12 20:33:05 · 1812 阅读 · 0 评论 -
公众号readme
前言在嵌入式行业,有很多从业者。我们工作的主旋律是拿开源代码,拿厂家代码,完成产品的功能,提升产品的性能,进而解决各种各样的问题。或者是维护一个模块或方向,一搞就是好几年。时间长了,中年润发现我们对从零开始编写驱动、应用、算法、系统、协议、文件系统等缺乏经验。没有该有的广度和深度。中年润也是这样,工作了很多年,都是针对某个问题点修修补补或者某个模块的局部删删改改。很少有机会去独自从零...原创 2019-03-31 13:55:47 · 292 阅读 · 0 评论 -
linux驱动篇-LCD
前言在嵌入式行业,有很多从业者。我们工作的主旋律是拿开源代码,拿厂家代码,完成产品的功能,提升产品的性能,进而解决各种各样的问题。或者是维护一个模块或方向,一搞就是好几年。时间长了,中年润发现我们对从零开始编写驱动、应用、算法、系统、协议、文件系统等缺乏经验。没有该有的广度和深度。中年润也是这样,工作了很多年,都是针对某个问题点修修补补或者某个模块的局部删删改改。很少有机会去独自从零开始编...原创 2019-03-31 13:49:57 · 1569 阅读 · 0 评论 -
linux驱动篇-usbmouse
Usbmouse-key前言在嵌入式行业,有很多从业者。我们工作的主旋律是拿开源代码,拿厂家代码,完成产品的功能,提升产品的性能,进而解决各种各样的问题。或者是主攻一个模块或方向,一搞就是好几年。时间长了,笔者发现我们对从零开始编写驱动、应用、算法、系统、协议、文件系统等缺乏经验。没有该有的广度和深度。笔者也是这样,工作了很多年,都是针对某个问题点修修补补或者某个模块的局部删删改...原创 2019-03-17 10:01:01 · 984 阅读 · 1 评论 -
linux驱动篇-platformbus
Platformbus前言在嵌入式行业,有很多从业者。我们工作的主旋律是拿开源代码,拿厂家代码,完成产品的功能,提升产品的性能,进而解决各种各样的问题。或者是维护一个模块或方向,一搞就是好几年。时间长了,笔者发现我们对从零开始编写驱动、应用、算法、系统、协议、文件系统等缺乏经验。没有该有的广度和深度。笔者也是这样,工作了很多年,都是针对某个问题点修修补补或者某个模块的局部删删改改...原创 2019-03-17 09:53:27 · 589 阅读 · 0 评论 -
驱动专题:源码编写 5 简单button驱动(中断法+异步通知机制)及测试程序
汇总地址:https://blog.csdn.net/chichi123137/article/details/80946381简单按键驱动+异步通知机制#include <linux/module.h>#include <linux/kernel.h>#include <linux/fs.h>#include <linux/init.h&...原创 2018-09-07 08:31:25 · 247 阅读 · 0 评论 -
驱动专题:源码编写 4 简单button驱动(中断法+poll机制)及测试程序
汇总地址:https://blog.csdn.net/chichi123137/article/details/80946381简单按键驱动程序+poll机制#include <linux/module.h>#include <linux/kernel.h>#include <linux/fs.h>#include <linux/init....原创 2018-09-07 08:27:18 · 257 阅读 · 0 评论 -
驱动专题:源码编写 1 led设备驱动及测试程序
汇总地址:https://blog.csdn.net/chichi123137/article/details/80946381#include <linux/module.h>#include <linux/ioport.h>#include <linux/io.h>#include <linux/platform_device.h>...原创 2018-09-05 07:34:31 · 1224 阅读 · 0 评论 -
驱动专题:第五章MTD及Flash驱动 4.Norflash驱动
嵌入式Linux——nor flash (1):硬件介绍声明:本文章是学完韦东山老师的教学视频后看过一些文章后所写,在看文章时我会将一些可能重要的知识点复制下来,所以可能会抄到您文章中的一些内容,如果您有什么意见,请同我讲出我会修改或删除。而如果这篇文章对您有帮助,那是我的荣幸。同时我看到网上有一些很好的写nor驱动的文章,但是我发现这些文章中对于nor的硬件描述以及nor与开发板的联系上并不是说...转载 2018-07-08 00:30:37 · 1863 阅读 · 0 评论 -
驱动专题:第四章 IIC驱动 4. IIC协议/裸驱/adapter驱动程序分析
开发板:mini2440内核 :linux2.6.32.2参考 :韦东山毕业班I2C视频教程1、i2c协议简要分析 i2c中线是一种由 PHILIPS 公司开发的串行总线,用于连接微控制器及其外围设备,它具有以下特点。 1、只有两条总线线路:一条串行数据线SDA,一条串行时钟线SCL。 2、每个连接到总线的器件都可以使用软件根据它的唯一的地址来确定。 ...转载 2018-07-07 21:59:35 · 597 阅读 · 0 评论 -
驱动专题:Linux驱动大汇总
驱动知识架构图驱动专题:第一章驱动框架1. Linux 设备驱动总线模型2. Linux设备驱动之Kobject/Kset3. Linux设备驱动之Kobject/Kset24. Linux设备模型之Class5. Linux Platform devices 平台设备驱动 驱动专题:第二章Uart及tty终端设备1.基本时序3.Linux下的tty1...原创 2018-07-06 21:17:50 · 990 阅读 · 0 评论 -
驱动专题:第一章驱动框架 3. Linux设备驱动之Kobject/Kset2
LDD3中说,Kobject的作用为: 1、sysfs 表述:在 sysfs 中出现的每个对象都对应一个 kobject, 它和内核交互来创建它的可见表述。 2、热插拔事件处理 :kobject 子系统将产生的热插拔事件通知用户空间。 3、数据结构关联:整体来看, 设备模型是一个极端复杂的数据结构,通过其间的大量链接而构成一个多层次的体系结构。kobject 实现了该结构并将其聚...转载 2018-07-06 21:12:12 · 295 阅读 · 0 评论 -
驱动专题:第一章驱动框架 2. Linux设备驱动之Kobject/Kset
LDD3中说,Kobject的作用为: 1、sysfs 表述:在 sysfs 中出现的每个对象都对应一个 kobject, 它和内核交互来创建它的可见表述。 2、热插拔事件处理 :kobject 子系统将产生的热插拔事件通知用户空间。 3、数据结构关联:整体来看, 设备模型是一个极端复杂的数据结构,通过其间的大量链接而构成一个多层次的体系结构。kobject 实现了该结构并将其聚...转载 2018-07-06 20:59:58 · 229 阅读 · 0 评论 -
驱动专题:第一章驱动框架 1. Linux 设备驱动总线模型
尽管LDD3中说对多数程序员掌握设备驱动模型不是必要的,但对于嵌入式Linux的底层程序员而言,对设备驱动模型的学习非常重要。 Linux设备模型的目的:为内核建立一个统一的设备模型,从而又一个对系统结构的一般性抽象描述。换句话说,Linux设备模型提取了设备操作的共同属性,进行抽象,并将这部分共同的属性在内核中实现,而为需要新添加设备或驱动提供一般性的统一接口,这使得驱动程序的开发变得更简...转载 2018-07-06 20:53:36 · 387 阅读 · 0 评论 -
驱动专题:第四章MTD及Flash驱动 3. nandflash 详细硬件特性
【详解】如何编写Linux下Nand Flash驱动版本:v2.2.1Crifan Li摘要本文先解释了Nand Flash相关的一些名词,再从Flash硬件机制开始,介绍到Nand Flash的常见的物理特性,且深入介绍了Nand Flash的一些高级功能,然后开始介绍Linux下面和Nand Flash相关的软件架构MTD的相关知识,最后介绍了在Linux的MTD驱动框架下,如何实现Nand ...转载 2018-07-06 01:33:08 · 972 阅读 · 0 评论 -
驱动专题:第零章 驱动知识架构图片
第一张图为linux驱动整体架构图原创 2018-07-06 20:37:50 · 312 阅读 · 0 评论 -
驱动专题:第六章块设备驱动 5.块设备驱动参考文章
基本概念 块设备(blockdevice)--- 是一种具有一定结构的随机存取设备,对这种设备的读写是按块进行的,他使用缓冲区来存放暂时的数据,待条件成熟后,从缓存一次性写入设备或者从设备一次性读到缓冲区。字符设备(Character device)---是一个顺序的数据流设备,对这种设备的读写是按字符进行的,而且这些字符是连续地形成一个数据流。他不具备缓冲区,所以对这种设备的读写是实时的。 扇...转载 2018-07-10 23:53:17 · 219 阅读 · 0 评论