首页
›
Linux内核与驱动
›
156-Linux内核驱动实战
›
《Linux驱动与用户态通信实战:ioctl与mmap》
VIP10
本课程属于:156-Linux内核驱动实战
Linux内核与驱动 · 共 10 门相关课程,组合学习更完整。
查看所属VIP全部课程 →
← 返回所属目录
咨询 / 购买
Linux驱动与用户态通信实战:ioctl与mmap
共计 30 章节
点击此处阅读海量试读课程:100+行业、1000+细分领域
01
课程导论
Linux驱动通信概览 · 用户态与内核态隔离 · ioctl与mmap核心价值对比
课程导论
Linux
02
环境搭建
Linux内核源码获取 · 编译内核模块 · QEMU虚拟机调试环境配置
环境搭建
Linux
03
字符设备基础
cdev结构体 · 设备号分配 · file_operations接口注…
字符设备基础
cdev
04
用户态与内核态数据交换
copy_from_user与cop…
用户态
内核态数据交换
05
ioctl命令编码
_IO/_IOR/_IOW/_IOW… · 命令码生成与解析
ioctl
命令编码
06
ioctl驱动实现
unlocked_ioctl函数编写 · 命令分发与参数校验
ioctl
驱动实现
07
ioctl用户态调用
open/ioctl/close系统… · 错误码处理
ioctl
用户态调用
08
ioctl实战
GPIO控制驱动——实现引脚电平读取…
ioctl
GPIO
09
ioctl实战
RTC实时时钟驱动——实现时间读取与…
ioctl
RTC
10
ioctl高级技巧
可变长度数据传输 · 复合命令设计
ioctl
高级技巧
11
mmap原理
虚拟内存映射 · 页表与缺页中断 · 物理地址与虚拟地址转换
mmap
原理
12
mmap驱动实现
mmap file_operatio… · remap_pfn_range函数详…
mmap
驱动实现
13
mmap用户态调用
mmap系统调用 · munmap · 页对齐与偏移量处理
mmap
用户态调用
14
mmap实战
共享内存驱动——内核与用户态零拷贝数…
mmap
共享内存驱动
15
mmap实战
帧缓冲(Framebuffer)驱动…
mmap
Framebuffer
16
mmap实战
DMA缓冲区映射——高性能数据采集与…
mmap
DMA
17
ioctl与mmap协同
使用ioctl配置参数 · 使用mmap传输大数据
ioctl
mmap
18
同步机制
互斥锁 · 信号量 · 等待队列在驱动通信中的应用
同步机制
互斥锁
19
阻塞与非阻塞I/O
驱动中的等待队列 · 用户态O_NONBLOCK标志处理
I/O
阻塞
20
poll/select/epoll机制
驱动中实现poll函数 · 用户态多路复用通信
poll/select/…
机制
21
内存屏障与缓存一致性
DMA与mmap场景下的内存同步问题
内存屏障
缓存一致性
22
调试技巧
printk · ftrace · strace跟踪ioctl与mmap…
调试技巧
printk
23
安全与权限
capability检查 · 地址空间隔离 · ioctl命令白名单
安全
权限
24
性能优化
减少上下文切换 · 批量数据传输 · 零拷贝技术对比
性能优化
减少上下文切换
25
多设备管理
同一驱动管理多个设备 · 次设备号与私有数据
多设备管理
同一驱动管理多个…
26
设备树与平台驱动
设备树描述硬件资源 · platform_driver与通信…
设备树
平台驱动
27
用户态库封装
libdriver封装ioctl与m… · 提供简洁API
用户态库封装
libdriver
28
实战项目1
简易数据采集卡驱动——ADC数据通过…
实战项目1
ADC
29
实战项目2
用户态网络包过滤器——通过ioctl…
实战项目2
ioctl
30
课程总结与进阶
ioctl与mmap选型决策树 · 内核新特性(io_uring)展望
课程总结
进阶
所属VIP或分类
同VIP:Linux-DMA驱动实战:内存管理与数据传输
同VIP:Linux-DMA驱动开发:缓冲区分配与传输优化
同VIP:Linux-GPIO驱动实战:中断配置与工程案例