
LInux驱动
DEEP_SK
嵌入式学习者
展开
-
字符设备驱动
通常的字符设备驱动:①确定主设备号;②构造file_opertions结构体③注册字符设备registe_chrdev(组设备号,name,0)④入口⑤出口之前:以主设备号为下标,在chrdevs里找到之前注册的file_operations只能有255个字符设备驱动现在:(2.6内核)以主设备号和次设备号来找到file_operations共有2的12次方乘以2的20次方个驱动...原创 2019-06-05 10:51:12 · 195 阅读 · 0 评论 -
usb驱动(4)
usbmouse_as_key.c/* * drivers\hid\usbhid\usbmouse.c */#include <linux/kernel.h>#include <linux/slab.h>#include <linux/module.h>#include <linux/init.h>#include <linux...原创 2019-06-28 08:28:01 · 249 阅读 · 0 评论 -
usb驱动(3)
usbmouse_as_key.c/* * drivers\hid\usbhid\usbmouse.c */#include <linux/kernel.h>#include <linux/slab.h>#include <linux/module.h>#include <linux/init.h>#include...原创 2019-06-28 08:25:33 · 101 阅读 · 0 评论 -
usb驱动(2)
usbouse_as_key.c/* * drivers\hid\usbhid\usbmouse.c */#include <linux/kernel.h>#include <linux/slab.h>#include <linux/module.h>#include <linux/init.h>#include ...原创 2019-06-28 08:23:58 · 95 阅读 · 0 评论 -
usb驱动(1)
usbmouse_as_key.c/* * drivers\hid\usbhid\usbmouse.c */#include <linux/kernel.h>#include <linux/slab.h>#include <linux/module.h>#include <linux/init.h>#include...原创 2019-06-28 08:22:35 · 91 阅读 · 0 评论 -
触摸屏驱动(8)
s3c_ts.c#include <linux/errno.h>#include <linux/kernel.h>#include <linux/module.h>#include <linux/slab.h>#include <linux/input.h>#include <linux/init.h>#incl...原创 2019-06-28 08:19:14 · 79 阅读 · 0 评论 -
触摸屏驱动(7)
s3c_ts.c#include <linux/errno.h>#include <linux/kernel.h>#include <linux/module.h>#include <linux/slab.h>#include <linux/input.h>#include <linux/init.h>#incl...原创 2019-06-28 08:16:48 · 91 阅读 · 0 评论 -
触摸屏驱动(6)
s3c_ts.c#include <linux/errno.h>#include <linux/kernel.h>#include <linux/module.h>#include <linux/slab.h>#include <linux/input.h>#include <linux/init.h>#incl...原创 2019-06-28 08:15:22 · 221 阅读 · 0 评论 -
触摸屏驱动(5)
s3c_ts.c#include <linux/errno.h>#include <linux/kernel.h>#include <linux/module.h>#include <linux/slab.h>#include <linux/input.h>#include <linux/init.h>#incl...原创 2019-06-28 08:14:22 · 424 阅读 · 0 评论 -
块设备驱动(1)
ramblock.c/* 参考: * drivers\block\xd.c * drivers\block\z2ram.c */#include <linux/module.h>#include <linux/errno.h>#include <linux/interrupt.h>#include <linux...原创 2019-06-28 08:30:53 · 111 阅读 · 0 评论 -
块设备驱动(2)
ramblock.c/* 参考: * drivers\block\xd.c * drivers\block\z2ram.c */#include <linux/module.h>#include <linux/errno.h>#include <linux/interrupt.h>#include <linux/mm.h>#incl...原创 2019-06-28 08:33:02 · 95 阅读 · 0 评论 -
button.c
#include <linux/module.h>#include <linux/kernel.h>#include <linux/fs.h>#include <linux/init.h>#include <linux/delay.h>#include <linux/irq.h>#include <asm/u...原创 2019-07-25 15:42:57 · 174 阅读 · 0 评论 -
sixth_drv
#include <linux/module.h>#include <linux/kernel.h>#include <linux/fs.h>#include <linux/init.h>#include <linux/delay.h>#include <linux/irq.h>#include <asm/u...原创 2019-07-25 15:38:51 · 109 阅读 · 0 评论 -
fifth_drv
#include <linux/module.h>#include <linux/kernel.h>#include <linux/fs.h>#include <linux/init.h>#include <linux/delay.h>#include <linux/irq.h>#include <asm/u...原创 2019-07-25 15:36:16 · 147 阅读 · 0 评论 -
force_drv
#include <linux/module.h>#include <linux/kernel.h>#include <linux/fs.h>#include <linux/init.h>#include <linux/delay.h>#include <linux/irq.h>#include <asm/u...原创 2019-07-25 15:33:03 · 120 阅读 · 0 评论 -
third_drv
#include <linux/module.h>#include <linux/kernel.h>#include <linux/fs.h>#include <linux/init.h>#include <linux/delay.h>#include <linux/irq.h>#include <asm/u...原创 2019-07-25 15:30:51 · 186 阅读 · 0 评论 -
second_drv
#include <linux/module.h>#include <linux/kernel.h>#include <linux/fs.h>#include <linux/init.h>#include <linux/delay.h>#include <asm/uaccess.h>#include <asm...原创 2019-07-25 15:28:37 · 245 阅读 · 0 评论 -
first_drv
#include <linux/module.h>#include <linux/kernel.h>#include <linux/fs.h>#include <linux/init.h>#include <linux/delay.h>#include <asm/uaccess.h>#include <asm...原创 2019-07-25 15:27:05 · 125 阅读 · 0 评论 -
触摸屏驱动(4)
s3c_ts.c#include <linux/errno.h>#include <linux/kernel.h>#include <linux/module.h>#include <linux/slab.h>#include <linux/input.h>#include <linux/init.h>#incl...原创 2019-06-28 08:13:18 · 141 阅读 · 0 评论 -
触摸屏驱动(3)
s3c_ts.c#include <linux/errno.h>#include <linux/kernel.h>#include <linux/module.h>#include <linux/slab.h>#include <linux/input.h>#include <linux/init.h>#incl...原创 2019-06-27 13:31:58 · 116 阅读 · 0 评论 -
uevent
class_device_create class_device_register class_device_add kobject_uevent(&class_dev->kobj, KOBJ_ADD); kobject_uevent_env(kobj, action, NULL); // action_string = "add"; acti...原创 2019-06-11 10:00:01 · 295 阅读 · 0 评论 -
DMA(3)
#include <linux/module.h>#include <linux/kernel.h>#include <linux/fs.h>#include <linux/init.h>#include <linux/delay.h>#include <linux/irq.h>#include <asm/u...原创 2019-06-11 09:56:56 · 265 阅读 · 0 评论 -
DMA(2)
#include <linux/module.h>#include <linux/kernel.h>#include <linux/fs.h>#include <linux/init.h>#include <linux/delay.h>#include <linux/irq.h>#include <asm/u...原创 2019-06-11 09:54:21 · 150 阅读 · 0 评论 -
DMA(1)
#include <linux/module.h>#include <linux/kernel.h>#include <linux/fs.h>#include <linux/init.h>#include <linux/delay.h>#include <linux/irq.h>#include <asm/u...原创 2019-06-10 18:25:07 · 112 阅读 · 0 评论 -
自己写bootloader
不使用icatch:start.S#define S3C2440_MPLL_200MHZ ((0x5c<<12)|(0x01<<4)|(0x02))#define MEM_CTL_BASE 0x48000000.text.global _start_start:/* 1. 关看门狗 */ ldr r0, =0x53000000 mov r1...原创 2019-06-20 14:16:48 · 201 阅读 · 0 评论 -
DMA(Direct Memory Access)驱动
cpu同一时间只能做一件事DMA:①把源告诉DMA②把目的告诉DMA③把size告诉DMA④设置DMA参数地址递增递减不变⑤启动DMA手工启动外部启动原创 2019-06-05 20:09:57 · 373 阅读 · 0 评论 -
声卡驱动UDA1341与wm8976
硬件:音频编解码芯片UDA1341IIS接口:只传声音数据控制接口:UDA1341:L3接口WM8976:IIC/3线接口L3接口用到3条线:L3MODE: 0 地址模式 1 数据模式L3CLK: 每一个CLK传1位L3DAT: 线上是地址 线上是数据其驱动框架:参考代码:sound\soc\s3...原创 2019-06-05 13:38:47 · 607 阅读 · 0 评论 -
RTC驱动程序
RTC实时时钟:遵循字符设备驱动(2)s3c_rtc_initplatform_driver_registers3c_rtc_probertc_device_register(“s3c”, &pdev->dev, &s3c_rtcops, THIS_MODULE)rtc_dev_preparecdev_init(&rtc->char_dev, &am...转载 2019-06-05 11:20:23 · 2903 阅读 · 0 评论 -
使用定时器实现按键防抖动
button.c#include <linux/module.h>#include <linux/kernel.h>#include <linux/fs.h>#include <linux/init.h>#include <linux/delay.h>#include <linux/irq.h>#include ...原创 2019-06-27 10:49:08 · 538 阅读 · 0 评论 -
输入子系统驱动
buttons.c/* 参考drivers\input\keyboard\gpio_keys.c */#include <linux/module.h>#include <linux/version.h>#include <linux/init.h>#include <linux/fs.h>#include <linux/inter...原创 2019-06-27 10:52:30 · 155 阅读 · 0 评论 -
触摸屏驱动(2)
s3c_ts.c#include <linux/errno.h>#include <linux/kernel.h>#include <linux/module.h>#include <linux/slab.h>#include <linux/input.h>#include <linux/init.h>#incl...原创 2019-06-27 13:30:20 · 214 阅读 · 0 评论 -
触摸屏驱动
s3c_ts.c#include <linux/errno.h>#include <linux/kernel.h>#include <linux/module.h>#include <linux/slab.h>#include <linux/input.h>#include <linux/init.h>#incl...原创 2019-06-27 13:28:50 · 413 阅读 · 0 评论 -
LCD驱动(4)
lcd.c#include <linux/module.h>#include <linux/kernel.h>#include <linux/errno.h>#include <linux/string.h>#include <linux/mm.h>#include <linux/slab.h>#include ...原创 2019-06-27 13:27:11 · 95 阅读 · 0 评论 -
LCDq驱动(3)
lcd.c#include <linux/module.h>#include <linux/kernel.h>#include <linux/errno.h>#include <linux/string.h>#include <linux/mm.h>#include <linux/slab.h>#include ...原创 2019-06-27 13:23:56 · 161 阅读 · 0 评论 -
LCD驱动(2)
lcd.c#include <linux/module.h>#include <linux/kernel.h>#include <linux/errno.h>#include <linux/string.h>#include <linux/mm.h>#include <linux/slab.h>#include ...原创 2019-06-27 13:21:15 · 283 阅读 · 0 评论 -
LCD驱动(1)
lcd.c#include <linux/module.h>#include <linux/kernel.h>#include <linux/errno.h>#include <linux/string.h>#include <linux/mm.h>#include <linux/slab.h>#include ...原创 2019-06-27 13:19:35 · 126 阅读 · 0 评论 -
总线设备驱动模型
led_drv.c/* 分配/设置/注册一个platform_driver */#include <linux/module.h>#include <linux/version.h>#include <linux/init.h>#include <linux/fs.h>#include <linux/interrupt.h>...原创 2019-06-27 10:57:52 · 75 阅读 · 0 评论 -
buttons_input
/* 参考drivers\input\keyboard\gpio_keys.c */#include <linux/module.h>#include <linux/version.h>#include <linux/init.h>#include <linux/fs.h>#include <linux/interrupt.h>...原创 2019-07-25 15:44:45 · 122 阅读 · 0 评论