首页
›
Linux内核与驱动
›
031-Linux设备驱动开发
›
《Linux设备驱动开发与内核构建调试》
VIP10
本课程属于:031-Linux设备驱动开发
Linux内核与驱动 · 共 10 门相关课程,组合学习更完整。
查看所属VIP全部课程 →
← 返回所属目录
咨询 / 购买
Linux设备驱动开发与内核构建调试
共计 30 章节
点击此处阅读海量试读课程:100+行业、1000+细分领域
01
Linux内核概述
Linux内核版本命名规则 · 主线/稳定/LTS版本区别 · 内核源码目录结构解析
Linux
内核概述
02
开发主机准备
Ubuntu/Debian系统安装 · 磁盘分区建议 · 网络配置与SSH远程访问设置
开发主机准备
Ubuntu/Debia…
03
基础工具链安装
GCC · GDB · Make
基础工具链安装
GCC
04
交叉编译环境搭建
交叉编译工具链安装 · 环境变量配置 · 测试交叉编译Hello World程…
交叉编译环境搭建
交叉编译工具链安…
05
获取内核源码
从kernel.org下载 · 使用Git克隆主线仓库 · 验证源码完整性(GPG签名校验)
获取内核源码
kernel.org
06
内核配置基础
make config/menuco… · Kconfig语法简介 · .config文件结构
内核配置基础
make
07
内核编译基础
make命令详解 · make -jN并行编译 · 编译输出文件(vmlinux/zIm…
内核编译基础
make
08
内核模块编译
模块编译框架(Kbuild) · Makefile编写 · 编译外部模块(make -C M=)
内核模块编译
Kbuild
09
内核安装与引导
安装内核与模块(make modul… · 更新GRUB引导配置 · 重启验证
内核安装
引导
10
设备驱动概念
字符设备/块设备/网络设备区别 · 主设备号与次设备号 · file_operations结构体
设备驱动概念
字符设备
11
第一个字符设备驱动
编写简单的char驱动 · 实现open/read/write/… · 注册与注销设备
第一个字符设备驱…
char
12
设备节点创建
手动mknod创建设备节点 · udev自动创建设备节点 · class_create与devic…
设备节点创建
mknod
13
内核空间与用户空间数据交互
copy_from_user/cop… · ioctl命令实现 · mmap映射
内核空间
用户空间数据交互
14
并发与竞态控制
自旋锁(spinlock) · 互斥锁(mutex) · 读写锁(rwlock)
并发
竞态控制
15
内核定时器与延迟
timer_list定时器 · jiffies与HZ · msleep/udelay/ndel…
内核定时器
延迟
16
中断处理
注册中断(request_irq) · 中断处理函数编写 · 顶半部与底半部(tasklet/wo…
断处理
request
17
平台设备驱动模型
platform_device与pl… · 设备树匹配 · 资源获取(platform_get_…
平台设备驱动模型
platform
18
设备树基础
DTS语法 · 节点与属性 · reg/interrupts/com…
设备树基础
DTS
19
设备树实战驱动
解析设备树节点 · 获取GPIO/IRQ/内存地址 · 编写基于设备树的LED驱动
设备树实战驱动
解析设备树节点
20
I2C子系统驱动
I2C核心架构 · I2C设备驱动编写 · I2C总线驱动
I2C
子系统驱动
21
SPI子系统驱动
SPI核心架构 · SPI设备驱动编写 · SPI消息传输(spi_messag…
SPI
子系统驱动
22
GPIO子系统驱动
gpiolib框架 · GPIO申请与释放 · GPIO方向与值操作
GPIO
子系统驱动
23
Regulator与Clock框架
电源管理框架 · 电压调节器驱动 · 时钟控制框架(CCF)简介
Regulator
Clock
24
DMA引擎驱动
DMA控制器驱动架构 · DMA通道申请 · DMA传输描述符
DMA
引擎驱动
25
帧缓冲(Framebuffer)驱动
fb_info结构体 · fb_ops回调 · 显存映射
Framebuffer
帧缓冲
26
输入子系统驱动
input_dev注册 · 事件上报(input_event) · 按键/触摸/鼠标驱动示例
输入子系统驱动
input
27
网络设备驱动
net_device结构体 · NAPI轮询 · sk_buff操作
网络设备驱动
net
28
内核调试技术
printk调试 · 动态调试(dynamic debug… · Oops解析
内核调试技术
printk
29
性能优化与内存管理
slab/slub分配器 · kmalloc/vmalloc区别 · 内存泄漏检测(kmemleak)
性能优化
内存管理
30
驱动开发最佳实践
编码风格(CodingStyle) · checkpatch.pl检查 · 模块参数与导出符号
驱动开发最佳实践
CodingStyle
所属VIP或分类
同VIP:Linux-platform驱动与设备树匹配开发实战
同VIP:Linux-SPI设备驱动开发与数据传输实现
同VIP:Linux-USB设备驱动开发与urb传输机制