
LINUX设备驱动实战
蜗蜗前行
嵌入式软件
展开
-
LINUX USB驱动(4)-鼠标驱动实例
1怎么写USB设备驱动程序?1.1分配/设置USB_driver结构体 .id_table .probe .disconnect 1.2.注册2.实例代码*参考:\itop4412_kernel_3.0\drivers\hid\usbhid\Usbmouse.c*/#include <linux/kernel.h>#include <linux/slab.h>#include <li原创 2017-02-13 11:25:24 · 629 阅读 · 0 评论 -
Linux驱动之I2C设备驱动完全解析
上一节介绍了I2C的相关协议,本节主要讲I2C的设备驱动的创建 在内核iTop4412_Kernel_3.0\Documentation\i2c\instantiating-devices这个文档介绍了4种创建I2C设备的方法 1设备的4种构建方法 1.1定义一个i2c_board_info,里面有名字,地址 然后i2c_register_board_info(busnum,……)(把他们放原创 2017-02-11 10:47:17 · 5146 阅读 · 1 评论 -
iTop4412之DS18B20驱动开发
执行序列 通过单线总线端口访问 DS18B20 的协议如下: 步骤1. 初始化 步骤2. ROM 操作指令 步骤3. DS18B20 功能指令 步骤1. 初始化 主机首先发出一个480-960微秒的低电平脉冲,然后释放总线变为高电平,并在随后的480微秒时间内对总线进行检测,如果有低电平出现说明总线上有器件已做出应答,若无低电平出现一直都是高电平说明总线上无器件应答 作为从器件的D原创 2017-01-15 14:24:55 · 3556 阅读 · 0 评论 -
exynos4412开发板LED驱动程序
本文将介绍在EXYNOS4412平台上实现对LED灯开关的控制首先定义命令在led.h文件中#define LED_MAGIC 'L'#define LED_ON _IO(LED_MAGIC,1)#define LED_OFF _IO(LED_MAGIC,0) LED2对应控制寄存器为GPL2 LED3对应控制寄存器为GPK1原创 2016-08-03 13:55:13 · 4193 阅读 · 0 评论 -
字符设备驱动代码完整分析
1.编译、安装驱动程序 linux系统中,驱动程序通常采用内核模块的程序结构来进行编码。因此编译、安装驱动程序实质是编译、安装内核模块memdev.c#include <linux/module.h>#include <linux/fs.h>#include <linux/init.h>#include <linux/cdev.h>#include <asm/uaccess.h>int原创 2016-08-03 11:15:39 · 2967 阅读 · 0 评论 -
linux驱动之DMA驱动
DMA是一种无需CPU的参加就可以让外设与系统内存之间进行双向数据传输的硬件机制。它可以使系统CPU从实际的I/O数据传输过程中摆脱出来,大大提高系统的吞吐率,并且在传输期间,CPU还可以并发执行其他任务。#include<linux/module.h>#include<linux/kernel.h>#include<linux/fs.h>#include<linux/init.h>#inc原创 2017-06-06 15:14:31 · 1177 阅读 · 1 评论