
linux-driver
文章平均质量分 71
qq_22340085
这个作者很懒,什么都没留下…
展开
-
gpio-button-hotplug.c 分析
/* * GPIO Button Hotplug driver * * Copyright (C) 2012 Felix Fietkau <nbd@openwrt.org> * Copyright (C) 2008-2010 Gabor Juhos <juhosg@openwrt.org> * * Based on the diag.c - GPIO interface driv翻译 2017-03-07 11:18:38 · 2164 阅读 · 0 评论 -
linux 驱动中几个驱动注册的实体函数
misc_register() 调用device_create_with_groups()(新内核, 旧的为device_create()) 函数进行注册,int misc_register(struct miscdevice * misc){ dev_t dev; int err = 0; bool is_dynamic = (misc->minor == MISC_DY原创 2017-08-15 10:47:03 · 2393 阅读 · 0 评论 -
两个字符驱动实例second 及 globalfifo
second.c原创 2017-08-15 10:54:40 · 252 阅读 · 0 评论 -
驱动基本知识
## 1. 用户空间与内核空间 ## 用户空间:应用程序运行的空间,有独立的地址映射,虚拟地址中大栈空间,发生段错误无害, 内核空间:内核程序运行的空间,有独立的地址映射,虚拟地址中小栈空间,发生段错误可能到时系统无法正常运行,用户空间和内核空间拥有独立的内存空间,用户空间数据与内核空间数据不能直接交互,不能直接相互引用,必须使用像copy_to_user 及 copy_from_user类似的原创 2017-10-18 13:44:21 · 270 阅读 · 0 评论 -
llinux 驱动——字符驱动
一、基本概念 主设备号与次设备号: 可以理解为主设备号对应一个驱动程序,次设备号对应一个设备。二、重要的数据结构 struct file_operations : 文件操作 可参考: http://blog.youkuaiyun.com/sunsea1026/article/details/6586143 struct file原创 2017-10-18 15:20:10 · 227 阅读 · 0 评论 -
linux 驱动——高级字符驱动程序操作
内容ioctl 的ioctl 的系统概念与用户空间同步的方法进程休眠非阻塞IO及与用户间的通信原型函数int (*ioctl) (struct inode *inode, struct file *filp,unsigned int cmd, unsigned long arg);一、ioctl 命令ioctl 的命令由四部分组成通过ioctl()函数的cmd,下发需要底层响应的命令。c原创 2017-10-20 10:13:56 · 854 阅读 · 0 评论 -
linux驱动——内核通知链(探究i2c-dev.c 中的bus_register_notifier函数所得)
在学习 i2c-dev.c 文件时,有如下的一段函数一直不明所以static int i2cdev_notifier_call(struct notifier_block *nb, unsigned long action, void *data){ struct device *dev = data; switch (action) { case原创 2017-11-06 14:01:08 · 4725 阅读 · 5 评论 -
linux 驱动——时间、延时及延缓操作
一、jiffies内核通过定时器中断来跟踪事件流。时钟中断由系统定时硬件以周期性的间隔产生,间隔值由内核根据HZ设定。 一般为HZ的范围为50~1200。 jiffies_64为64位变量,在时钟中断没发生一次时,值增加一,用来计数从系统引导到当前时刻的时间节拍。jiffies 是unsigned long 型,32位系统为jiffies_64的低32位,64位系统是与jiffies_64相原创 2017-10-23 16:35:17 · 1867 阅读 · 0 评论 -
linux 驱动——并发和竞态
一、并发造成的原因l 中断——中断几乎可以在任何时刻异步发生,也就可能随时打断当前正在执行的代码。 2 睡眠及与用户空间的同步——在内核执行的进程可能会睡眠,这就会唤醒调度程序,从而导致调度一个新的用户进程执。 3 对称多处理——两个或多个处理器可以同时执行代码。 4内核抢占——因为内核具有抢占性,所以内核中的任务可能会被另一任务抢占(在2.6内核引进的新能力)。 5 多个用户空间进程组合访原创 2017-10-19 14:11:17 · 322 阅读 · 0 评论