在编写简单字符设备驱动的时候,可以使用宏class_create在sysfs下创建对应的class节点,便于用户管理设备: #define class_create(owner, name) \ ({ \ static struct lock_class_key __key; \ __class_create(owner, name, &__key); \ }) 函数 __class_create: /** * class_create - create a struct class struc…
Linux:Ubuntu16.04下创建Wifi热点说明 1.Ubuntu16.04里面可以直接创建热点,而不用像以前的版本,还要其他辅助工具. 2.本篇文章参考自编程人生 具体步骤如下: 1. 点击网络标志,打开网络的选项: 2. 点击 Edit Connections ,然后点击 Add 来添加一个新的wifi选项: 3. 选择 WiFi : 4. 做如下编辑: 编辑wifi的名字:SSID, 选择 Hotspot (热点)模式. 在 Wifi Security 页, 选择 WPA & WP…
添加-m参数即可: sudo useradd -m username #参数-m 自动创建用户的家目录 得解也.本来是会自动创建的,但是如果使用ll命令查看没有被创建的话,则应该使用此命令来创建新用户了.…
欢迎转载,转载时需保留作者信息,谢谢. 邮箱:tangzhongp@163.com 博客园地址:http://www.cnblogs.com/embedded-tzp Csdn博客地址:http://blog.csdn.net/xiayulewa   1.1.  应用,设备,总线,驱动关系,应用到驱动 为了简化问题,上图省略了app层与driver层中间的libc层. linux驱动的开发步骤:设备号→设备(struct cdev,struct input_dev等)→驱动(struct fil…
前言 linux驱动子系统太多了,连时钟也搞了个子系统,这导致一般的时钟芯片的驱动也会涉及到至少2个子系统,一个是时钟芯片接口子系统(比如I2c接口的时钟芯片),一个是内核给所有时钟芯片提供的rtc子系统.当然也可以自己写一个字符设备直接操作芯片然后给上层用户空间提供接口,但这种方法实在是太糟糕了,内核既然提供了,为什么不用呢!(真要这样做,请参考内核的drivers/char/rtc.c的实现) 另外: 强烈建议看内核文档Documentation/rtc.txt 里面对新旧两套实现及api有…
Linux 设备 Linux驱动中的三大主要基础成员主要是设备,总线和驱动.今天先来从设备开始分析先把设备相关的数据结构放到这里方便后面看到来查,其中有些进行了简单的注释. struct device { struct device *parent;/*父设备*/ struct device_private *p;/*设备私有数据 包含子设备,父设备,总线等的链表*/ struct kobject kobj;/*内核对象*/ const char *init_name; /* initial n…
本文转载自:http://whylinux.blog.51cto.com/10900429/1932491 字符设备驱动用的fileopretion结构体. 1.板载蜂鸣器的驱动测试 我手里有一个BSP,九鼎的Bsp,里面有蜂鸣器的驱动,我们先测试一下好不好用.我们拿到一个BSP时,如果要做或移植蜂鸣器的驱动,首先要确定下这个内核 中究竟有没有蜂鸣器的驱动,我们可以用sourceInsight将内核放进去,搜索buzzer这个文件,看有没有,如果不行,也可以在内核中输入make menuconf…
前言 最近在学习Linux驱动,记录下自己学习的历程. 驱动的基本框架 Linux驱动的基本框架包含两部分,“模块入口.出口的注册”和“模块入口.出口函数的实现”,如下方代码. static int __init shanwuyan_init(void) //驱动入口函数 { return ; } static void __exit shanwuyan_exit(void) //驱动出口函数 { } module_init(shanwuyan_init); //注册入口函数 module_ex…
Linux调试文件系统 1.1.procfs 早期的Linux内核中,内核通过procfs输出调试信息,可以在用户态通过读写procfs节点与内核进行交互,用来获取处理器.内存.设备驱动.进程等各种信息.但是随着Linux的普及,Linux驱动开发者往procfs中添加了大量的设备驱动相关的节点,因此,sysfs应运而生. mount -t proc nondev /procfs 1.2.sysfs sysfs基于kobject实现,而kobject是Linux内核设备驱动模型的基础,因此,sy…
Linux:Ubuntu16.04下创建Wifi热点 说明: 1.Ubuntu16.04里面可以直接创建热点,而不用像以前的版本,还要其他辅助工具. 2.本篇文章转载自编程人生 具体步骤如下: 1. 点击网络标志,打开网络的选项: 2. 点击 Edit Connections ,然后点击 Add 来添加一个新的wifi选项: 3. 选择 WiFi : 4. 做如下编辑: 编辑wifi的名字:SSID, 选择 Hotspot (热点)模式. 在 Wifi Security 页, 选择 WPA &…