驱动
文章平均质量分 56
驱动学习笔记
胡萝卜1号
一个屎肥宅的学习笔记
展开
-
[Linux][驱动学习笔记]--sysfs
block:包含所有的块设备。 devices:包含系统的所有设备并根据设备挂接的总线类型组织成层次结构。 bus:包含系统中的所有总线类型。 drivers:包含内核中已经注册的设备驱动程序。 class:包含系统中设备类型(网卡设备、声卡设备、输入设备等)。 Linux2.6内核引入了sysfs(虚拟文件系统),sysfs的作用是将注册进系统中的设备、总线和驱动组织成一个个分级的文件,并直观地将驱动和设备的层次结构以文件的形式展示在用户空间,通过操作这些文件,系统向用户空间导出内.原创 2020-09-03 11:57:54 · 2355 阅读 · 1 评论 -
[Linux][驱动学习笔记]--字符驱动框架
driver c文件: #include <linux/init.h> #include <linux/module.h> #include <linux/kernel.h> #include <linux/fs.h> #include <linux/cdev.h> #include <linux/device.h> #include <linux/err.h> #define MMAP_DEV_NAME "mmapdev原创 2022-02-05 23:14:27 · 497 阅读 · 0 评论 -
学习字符设备驱动
说明: 开发环境:ubuntu14.04 硬件环境:EasyArm-i.mx283A 常识先了解 打开一个文件的系统调用过程 Linux下设备以文件的形式呈现,应用程序对设备的操作就像操作一般的文件IO一样,open,write、read、close,这样做的好处就是为上层应用提供了统一的编程接口,操作简单易行。对于字符设备来说,设备号、cdev、操作方法集合至关重要,内核找到路径名所对应的inode后,要和驱动建立连接,首先要做的就是根据inode中的设备号找到cdev,然后根据cdev找到关联的操作原创 2020-05-23 01:01:44 · 267 阅读 · 0 评论 -
我的第一个驱动程序
说明: 开发环境:ubuntu14.04 硬件:EasyArm-i.mx283.A 为什么要引入内核模块 Linux内核属于宏内核,简单来说,就是把很多东西都集成进内核,除了最基本的进程、线程管理、内存管理外,文件系统,驱动,网络协议等等都在内核里面,形成单一的内核映像,其优点在于运行效率高,内核中各模块之间的交互通过直接函数调用来实现。这也是和微内核最大的区别,windows采用的内核架构是微内核,微内核只实现关键和最核心的一部分,其余模块被单独编译,模块之间的交互需要通过微内核提供的通信机制来建立。这原创 2020-05-18 23:11:26 · 313 阅读 · 0 评论