cdev总结2018
顶峰云雪
安得倚天抽宝剑
展开
-
(3.1)一个按键所能涉及的:按键中断
/* AUTHOR: Pinus* Creat on : 2018-10-11* KERNEL : linux-4.4.145* BOARD : JZ2440(arm9 s3c2440)* REFS : 韦东山视频教程第二期*/概述 作为本系列的第三节第一部分,我们以实现一个按键中断讲述字符设备驱动中经常会涉及的种种,首先先介绍外部中断的实现; ...原创 2018-10-22 19:46:57 · 1901 阅读 · 0 评论 -
(6.2)USB前置概念
/* AUTHOR: Pinus* Creat on : 2018-11-4* KERNEL : linux-4.4.145* REFS : Linux USB驱动学习总结(二)---- USB设备驱动*/概述现象:把USB设备接到PC1. 右下角弹出"发现android phone"2. 跳出一个对话框,提示你安装驱动程序 问1. 既然还没有"驱动程序",...原创 2018-11-07 21:34:04 · 408 阅读 · 0 评论 -
(6.1)各种USB接口简介
/* AUTHOR: Pinus* Creat on : 2018-11-3* REFS : Type-C与Type-A、Type-B接口 Linux USB驱动学习总结(一)---- USB基本概念及驱动架构*/USB概念介绍USB,Universal Serial Bus(通用串行总线),是一个外部总线标准,用于规范电脑与外部设备的连接和通...原创 2018-11-07 21:15:49 · 36092 阅读 · 0 评论 -
(5)豪华套件触摸屏
/* AUTHOR: Pinus* Creat on : 2018-11-1* KERNEL : linux-4.4.145* BOARD : JZ2440(arm9 s3c2440)* REFS : 韦东山视频教程第二期 18.Llinux-触摸屏驱动(详解)*/概念这篇和 LCD采用相同方式记录,着重讲概念,希望大家在了解基础概念的基...原创 2018-11-02 20:52:37 · 245 阅读 · 0 评论 -
(4)高大上的LCD
/* AUTHOR: Pinus* Creat on : 2018-11-1* KERNEL : linux-4.4.145* BOARD : JZ2440(arm9 s3c2440)* REFS : 韦东山视频教程第二期S3C2440上LCD驱动(FrameBuffer)实例开发讲解*/概述 不要说我这取得名字low,我感觉吧,一个东西它能显示出来图...原创 2018-11-01 21:44:31 · 258 阅读 · 0 评论 -
(3.8)一个按键所能涉及的:内核按键标准驱动gpio-keys
/* AUTHOR: Pinus* Creat on : 2018-10-30* KERNEL : linux-4.4.145* BOARD : JZ2440(arm9 s3c2440)* REFS : 内核 gpio-keys.c Linux驱动子系统之输入子系统(6)-gpio-keys 47 使用linux内核源码里...原创 2018-10-30 21:21:56 · 2028 阅读 · 0 评论 -
(3.3)一个按键所能涉及的:异步通知机制
/* AUTHOR: Pinus* Creat on : 2018-10-24* KERNEL : linux-4.4.145* BOARD : JZ2440(arm9 s3c2440)* REFS : 韦东山视频教程第二期 linux异步通知机制 与 fcntl 函数使用详解 Linux驱动技术(四) _异步通知技术...原创 2018-10-24 21:57:57 · 276 阅读 · 0 评论 -
(3.7)一个按键所能涉及的:设备驱动分层分离的概念
/* AUTHOR: Pinus* Creat on : 2018-10-29* KERNEL : linux-4.4.145* BOARD : JZ2440(arm9 s3c2440)* REFS : 韦东山视频教程第二期 Linux设备驱动模型之platform(平台)总线详解 详解Linux2.6内核中基于pla...原创 2018-10-29 20:08:55 · 342 阅读 · 0 评论 -
(3.5)一个按键所能涉及的:定时器防抖动
/* AUTHOR: Pinus* Creat on : 2018-10-25* KERNEL : linux-4.4.145* BOARD : JZ2440(arm9 s3c2440)* REFS : 韦东山视频教程第二期 通过定时器完成防抖动的总结*/概述 除颤吗。。。能看的应该都懂为什么,单片机上不也是常用什么dela...原创 2018-10-26 17:10:22 · 830 阅读 · 0 评论 -
(3.2)一个按键所能涉及的:poll机制
/* AUTHOR: Pinus* Creat on : 2018-10-11* KERNEL : linux-4.4.145* BOARD : JZ2440(arm9 s3c2440)* REFS : 韦东山视频教程第二期*/概述 啥子事poll机制呢?直白来说,当你在应用程序中使用poll,程序就会在给定时间内进入沉睡状态等待某项资源,只回在两种情...原创 2018-10-23 20:02:09 · 660 阅读 · 0 评论 -
(3.4)一个按键所能涉及的:同步互斥阻塞
/* AUTHOR: Pinus* Creat on : 2018-10-25* KERNEL : linux-4.4.145* BOARD : JZ2440(arm9 s3c2440)* REFS : 韦东山视频教程第二期同步、异步、互斥、信号量、阻塞、非阻塞socket阻塞与非阻塞,同步与异步、I/O模型字符设备驱动同步之互斥阻塞*/概述(1)临界资源...原创 2018-10-25 21:41:20 · 186 阅读 · 0 评论 -
(2.3)file_operation 实现具体操作:思考二
【思考二;内核怎样创建设备,主设备号具体应用是什么呢?】major = register_chrdev(0, "leds_dev", &jz2440_leds_fops); //注册设备 告诉内核> 第一个参数是主设备号,0代表动态分配。第二个参数是设备的名字,第三个参数是文件操作指针。__register_chrdev(0, 0, 256, "leds_dev", &...原创 2018-10-21 10:52:23 · 314 阅读 · 0 评论 -
(2.4)file_operation 实现具体操作:思考三四
【思考三:为什么要创建类呢?】概念: 在刚开始写Linux设备驱动程序的时候,很多时候都是利用mknod命令手动创建设备节点,实际上Linux内核为我们提供了一组函数,可以用来在模块加载的时候自动在/dev目录下创建相应设备节点,并在卸载模块时删除该节点,当然前提条件是用户空间移植了udev。 内核中定义了struct class结构体,顾名思义,一个str...原创 2018-10-21 10:32:32 · 267 阅读 · 0 评论 -
(2.2)file_operation 实现具体操作:思考一
【思考一:内核是如何将app里的操作函数和驱动里的操作函数联系上的呢?】 参考: Linux 内核sys_open文件系统与设备操作流程分析 走马观花:Linux 系统调用 open 七日游 一般用户在应用程序里调用的 open, read, write 函数是 c 库的函数,这些函数会触发 swi val异常,从而引发系统调用,进入到内核空间,内核...原创 2018-10-21 10:22:52 · 496 阅读 · 0 评论 -
(2.1)file_operation 实现设具体操作:概述与实现
/* AUTHOR: Pinus* Creat on : 2018-10-11* KERNEL : linux-4.4.145* BOARD : JZ2440(arm9 s3c2440)* REFS : 韦东山视频教程第二期《LINUX内核源码情景分析》*/概述 Unix类系统将设备也看作是文件,通过操作文件的方式操作硬件。而操作文件的方式无非就是ope...原创 2018-10-21 10:08:59 · 1192 阅读 · 0 评论 -
(1) 设备驱动的最基本框架
/* AUTHOR: Pinus* Creat on : 2018-10-11* KERNEL : linux-4.4.145* BOARD : JZ2440(arm9 s3c2440)* REFS : 韦东山视频教程第二期《LINUX内核源码情景分析》*/设备驱动概述 计算机最基本的三个物质基础就是CPU、内存以及设备,设备驱动顾名思义,就是用来操作设...原创 2018-10-21 09:40:02 · 471 阅读 · 0 评论 -
设备驱动总结序言
不久前算是将韦东山第二期视频教程看完了,其中大多数的实验都做过,但其中由于Linux内核版本原因,韦老师教学用的是2.6,我下载的学习用的是4.4,当初年少轻狂啊。。。显然,内核中已经有很多东西发生了变化,学习时也难免囫囵吞枣。再加上本人记忆曲线下降的很快所以,想着在继续学习第三期视频进行项目实践之前,先把第二期涉及到的种种进行总结,力求知其然也知其所以然。巩固知识,造福来人。学习过程...原创 2018-10-21 09:35:34 · 146 阅读 · 0 评论 -
(3.6)一个按键所能涉及的:输入子系统
/* AUTHOR: Pinus* Creat on : 2018-10-28* KERNEL : linux-4.4.145* BOARD : JZ2440(arm9 s3c2440)* REFS : 韦东山视频教程第二期 linux驱动子系统之输入子系统(1) 我对linux驱动 输入子系统的理解 ...原创 2018-10-28 17:25:40 · 264 阅读 · 0 评论 -
(6.3)USB驱动程序框架
/* AUTHOR: Pinus* Creat on : 2018-11-5* KERNEL : linux-4.4.145* REFS : Linux USB驱动学习总结(二)---- USB设备驱动 chenliang0224的专栏 hub_thread usb hub驱动 ...原创 2018-11-07 21:54:04 · 1298 阅读 · 0 评论