驱动
人生路漫长
这个作者很懒,什么都没留下…
展开
-
关于驱动driver与设备device匹配
driver和device匹配原创 2023-12-29 10:43:04 · 419 阅读 · 0 评论 -
Linux驱动—实现一个驱动支持多个设备
多设备共用驱动原创 2023-12-19 10:54:35 · 41 阅读 · 0 评论 -
设备树和platfrom驱动
驱动开发,自我理解原创 2022-03-22 18:23:25 · 348 阅读 · 0 评论 -
linux 内核驱动--Platform Device和Platform_driver注册过程
从 Linux 2.6 起引入了一套新的驱动管理和注册机制 :Platform_device和Platform_driver。Linux 中大部分的设备驱动,都可以使用这套机制 ,设备用 Platform_device 表示,驱动用 Platform_driver 进行注册。Linux platform driver 机制和传统的 device driver机制 ( 通过 driver_register 函数进行注册 ) 相比,一个十分明显的优势在于 platform 机制将设备...转载 2021-11-17 21:29:41 · 869 阅读 · 0 评论 -
关于linux驱动加载
一般情况下,非热插拔设备,在内核启动初始化后进行设备device加载,加载到内核,不需要手动添加,只需要在config中进行勾选,后续进行驱动加载时进行匹配,因为已经有了device设备,也包含了硬件资源,只需要在驱动中通过api获取调用。但是对于热插拔设备,device需要自己手动写代码进行添加,以及后续驱动的编写,这些只针对platfrom总线方式的驱动。传统的device、driver不需要考虑,因为在驱动程序中进行写死硬件资源,不需要使用api获取。...原创 2021-11-17 21:15:59 · 566 阅读 · 0 评论 -
linux驱动关于platfrom的device以及driver
(带设备树)驱动加载时,是利用设备树里的compatible去进行设备跟驱动的匹配,设备树在内核加载之后会自动将节点转化为platform_device这种格式,同时把名字放到of_node这个地方。利用compatible进行匹配。不带设备树的驱动加载时,可以用name名字去匹配,probe函数中是有device注册的函数的。linux驱动中,自动加载驱动是在执行完insmod指令之后,手动加载驱动的顺序是先insmod,然后在mknode,之后再d...原创 2021-11-12 17:45:32 · 3287 阅读 · 0 评论 -
内存空间和用户空间
A.INTRODUCTION (32位系统) Linux 简化了分段机制,使得虚拟地址(逻辑地址)与线性地址总是一致,因此,Linux的虚拟地址空间也为0~4G(2^32)。 Linux内核将这4G字节的空间分为两部分。将最高的 1G字节(从虚拟地址0xC0000000到0xFFFFFFFF),供内核使用,称为“内核空间”。而将较低的3G字节(从转载 2017-10-13 13:41:40 · 4883 阅读 · 0 评论 -
字符驱动
从上一篇我们看到了字符驱动的三个重要结构,那我现在跟大家详细的说说 struct file_operations 这个文件操作方法的数据结构。其实这结构中包含了用户空间所需要的大部分的系统调用函数指针,因此如何 我们应该如何去实现这些函数的策略呢?这就应该跟用户空间函数所实现的函数功能相对应,去实现这些函数 策略。本博客重点描述几个重要的比如 ope转载 2017-10-13 13:50:18 · 177 阅读 · 0 评论 -
文章标题
mknod - make block or character special filesmknod [OPTION]… NAME TYPE [MAJOR MINOR] option 有用的就是 -m 了 name 自定义 type 有 b 和 c 还有 p 主设备号 次设备号主设备号是由linux/major.h定义的,如下定义了一个DOC设备: #defi转载 2017-10-12 22:05:18 · 100 阅读 · 0 评论