- 博客(22)
- 收藏
- 关注
原创 2.输入系统驱动(3)-input内核级驱动设计
1 输入子系统模型解析1.1 为什么需要输入子系统1.2 输入子系统模型介绍1.3 输入子系统案例分析输入型设备驱动:1 初始化1.1 分配input_dev结构 input_allocate_device1.2 申明可能上报的事件类型 set_bit1.3 如果上报的是按键,申明可能上报的键编号1.4 注册输入型设备 input_register_de
2017-01-11 01:25:23
284
原创 11.LED驱动程序设计(2)-LED驱动程序设计
#include #include #include #include #include #include #include "led.h"#define LEDCON 0x7f008800#define LEDDAT 0x7f008808unsigned int *led_config; unsigned int *led_data;
2017-01-05 01:47:49
421
原创 11.LED驱动程序设计(1)-字符设备控制
1.设备控制理论1.1 作用大部分驱 动程 序除了需要提供 读写设备 的 能 力 外, 还需要具 备 控制设备的 能 力 。 比如: 改变波特率 1.2 应用程序接口在用 户空间 ,使用ioctl 系统调 用来控制设备, 原型如下:int ioctl(int fd,unsigned long cmd,...)fd: 要 要 控制的设备 文 件 描 述符cmd:
2017-01-05 00:42:50
432
原创 13.总线设备驱动模型(2)-平台总线设备设计
平台总线(Platform bus) 是linux2.6内 内 核加 入的 一种虚拟 总线,其 优势 在 于采 用 了总线的 模型对 设备 与驱 动 进行了管理 , 这总线的 模型对 设备 与驱 动 进行了管理 , 这样提高了 程 序 的 可移植性 。
2017-01-04 02:34:31
201
原创 13.总线设备驱动模型(1)-总线设备驱动模型
总线在 Linux 内 内 核中, 总线由 由 bus_type 结构表示,定义在 在 struct bus_type {const char *name; /* 总线 名称*/int (*match) (struct device *dev, struct device_driver *drv); /* 驱动 与 设备的 匹配函数*/………}int (*mat
2017-01-04 01:15:55
243
转载 Linux下的压缩zip,解压缩unzip命令详解及实例
原文地址:http://www.cnblogs.com/zdz8207/p/3765604.htmlLinux下的压缩解压缩命令详解及实例实例:压缩服务器上当前目录的内容为xxx.zip文件zip -r xxx.zip ./*解压zip文件到当前目录unzip filename.zip===========================
2016-12-15 01:19:13
329
转载 如何将vim打造成Linux下的source insight
原文地址:http://www.cnblogs.com/longshike2010/archive/2016/01/06/5104240.html众所周知,windows下的source insight是阅读项目代码的神器,其神奇之处在于可以根据当前鼠标所指的函数名或者变量,来进行全局搜索该函数或变量的定义,而且还会显示出哪些文件中同样含有该函数定义,另外可以显示当前文
2016-12-15 01:10:57
321
转载 字符设备控制
原文地址:http://blog.youkuaiyun.com/u011012049/article/details/48088149大部分驱动程序除了读写功能外,还需要具备控制设备的能力,比如对于串口,需要具备修改波特率的功能。 在用户空间,使用ioctl()函数作为系统调用来控制设备原型:int ioctl(int fd,unsigned long cmd,...)头文件:功能:字
2016-12-13 01:13:41
215
转载 10.字符设备驱动模型(1)-使用字符驱动程序
原文地址:http://blog.youkuaiyun.com/u011012049/article/details/48060505当驱动程序已经编写好时,应用程序怎么利用该驱动程序去访问设备呢? 当驱动程序已经编写好,则需要对其进行编译以及安装。在Linux系统中,驱动程序通常采用内核模块的程序结构来进行编码。因此,编译/安装一个驱动程序,其实质就是编译/安装一个内核模块。当编
2016-12-13 01:11:27
499
原创 9.Linux驱动开发前奏(1)-驱动开发概述
原文地址:http://blog.youkuaiyun.com/u011012049/article/details/48060337设备驱动按照设备的功能来分类,可以分为三类: ①字符设备 ②块设备 ③网络接口字符设备是一种按字节来访问的设备,字符驱动则负责驱动字符设备,这样的驱动通常实现 open, close, read和write 系统调用。例如:串口,LED,按键
2016-12-13 01:02:59
258
转载 10.字符设备驱动模型(2)-字符设备驱动模型
目录(?)[+]在Linux系统中,一般来说,驱动的编程模型如下:驱动初始化驱动初始化中涉及到一个设备描述结构的概念。在任何一种驱动模型中,设备都会用内核中的一种结构来描述,这种结构成为设备描述结构。字符设备在内核中使用struct cdev这种结构来描述。struct cdev { struct kobject kobj; struc
2016-12-08 02:40:38
232
原创 9.Linux驱动开发前奏(2)-硬件访问技术
驱动程序控制设备,主要是通过访问设备内的寄存器来达到控制目的。因此访问硬件的实质就是访问与该硬件相关的寄存器。 访问流程为:地址映射:在Linux系统中,无论是内核程序还是应用程序,都只能使用虚拟地址,而芯片手册中给出的硬件寄存器地址或者RAM地址则是物理地址,无法直接使用。因此,我们读写寄存器的第一步就是将它的物理地址映射为虚拟地址。地址映射的方法有两种,一种是动态映
2016-12-08 02:04:43
318
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人