
linux device driver
文章平均质量分 80
恰冯同学年少
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Linux kernel简单驱动模型和Makefile文件
目录: 1:hello word驱动 2:Makefile的分类 3:外部模块编译 4:内部模块编译 5:总结 正文: 1:hello word驱动代码 2:Makefile的分类 Kernel Makefile kernel Makefile位于内核源码的顶层目录,也叫TOP Kernel,编译整个内核或者模块时,首先被读取,配置整个内核的环境变量; Kbuild原创 2016-08-11 17:00:30 · 784 阅读 · 0 评论 -
输入子系统(2):代码分析
1:概述 上一篇文章对input子系统中的数据结构做了总结,本篇通过对代码的分析,总结输入子系统的整体架构;本文中所涉及的文件有:input.c和evdev.c文件; input.c:是输入子系统的核心层,提供了一个input_dev设备注册的方法,以及input_handler处理层的注册方法,并且注册了input字符设备节点; evdev.c:注册了input_handler,实现具体的原创 2016-11-29 23:27:54 · 881 阅读 · 0 评论 -
输入子系统(1):数据结构总结
1:概述 输入子系统在linux内核中使用广泛,按键,鼠标,sensor类,touch等驱动都会用到输入子系统。输入子系统的结构分为以下三层: 1.1:设备驱动层 这一层需要用户在设备驱动中去实现,调用核心层的函数接口,完成输入设备的注册和并将发生的事件上报给子系统核心层; 1.2:输入子系统核心层 为驱动层和事件处理层提供函数接口,并且注册input字符设备,主设备号是13,次原创 2016-11-23 00:54:26 · 1226 阅读 · 0 评论 -
输入子系统(3):按键驱动实现
1:概述 按键驱动实现的过程,主要完成:input_dev的申请和注册,按键中断的实现,中断底半部的实现,在中断底半部调用事件上报函数,完成按键键值的上报;如果增加按键防抖,需要实现一个内核定时器。本文主要分析的是内核中的gpio_keys.c的文件,这是内核提供的参考,我们就借鉴这个文件,来实现我们的按键驱动,首先,看看内核中已经实现的和按键驱动有关的数据结构; 2:和按键相关的数据结构原创 2016-12-01 00:25:13 · 2264 阅读 · 0 评论 -
简单led驱动(未使用led子系统)
1:概述 2:交叉编译环境搭建 3:编写驱动 4:测试驱动 5:总结 1:概述 1.1:代码基于exynos 4412平台,android 4.4系统,为了提高代码的移植性,将led驱动挂在platform虚拟总线下,自动建立设备节点,创建节点属性,并且gpio操作全部采用标准的gpio操作; 1.2:代码参考led子系统,使用了led子系统的一些数据结构; 2原创 2016-12-02 13:53:34 · 700 阅读 · 0 评论 -
字符设备驱动
1:本文实现简单的字符设备的驱动,并且提供两种访问设备资源的两种方法:一是传统的利用文件接口来访问,二是利用devfs文件系统来访问; 2:首先来看hello.h文件,其中实现了用户自定义的数据结构体 #include #include struct hello_dev { int val; /*共用的设备资源,4字节数据*/ struct semapho原创 2016-11-22 14:36:11 · 649 阅读 · 0 评论