首页
›
Linux内核与驱动
›
187-嵌入式Linux驱动开发
›
《嵌入式Linux内核模块与字符设备驱动开发》
VIP10
本课程属于:187-嵌入式Linux驱动开发
Linux内核与驱动 · 共 10 门相关课程,组合学习更完整。
查看所属VIP全部课程 →
← 返回所属目录
咨询 / 购买
嵌入式Linux内核模块与字符设备驱动开发
共计 30 章节
点击此处阅读海量试读课程:100+行业、1000+细分领域
01
课程导论与开发环境准备
嵌入式Linux驱动开发概述 · 内核模块概念 · 开发环境搭建(交叉编译工具链
课程导论
开发环境准备
02
Linux内核源码获取与配置
从kernel.org获取内核源码 · 解压与配置 · 理解Kconfig与Makefile
Linux
内核源码获取
03
内核编译基础
配置内核(make menuconf… · 编译内核与模块(make) · 理解编译输出
内核编译基础
make
04
第一个内核模块
Hello World · 模块许可证声明
第一个内核模块
Hello
05
内核模块的Makefile编写
理解obj-m · KERNELDIR · PWD等变量
Makefile
内核模块的
06
编译内核模块
使用make命令编译模块 · 解决常见编译错误(如内核头文件路径问…
编译内核模块
make
07
加载与卸载内核模块
insmod · rmmod · lsmod命令详解
加载
卸载内核模块
08
模块参数传递
module_param宏定义 · 在加载时传递参数 · 参数类型与权限
模块参数传递
module
09
内核模块符号导出与引用
EXPORT_SYMBOL · EXPORT_SYMBOL_GPL · 模块间符号依赖
内核模块符号导出
引用
10
内核模块的版本检查与vermagic
Module.symvers文件 · 版本魔术(vermagic)与强制加…
vermagic
内核模块的版本检…
11
字符设备驱动基础
主设备号与次设备号 · 设备文件 · file_operations结构体
字符设备驱动基础
主设备号
12
字符设备驱动注册与注销
alloc_chrdev_regio… · register_chrdev_re… · cdev_init
字符设备驱动注册
注销
13
实现open/release操作
在字符设备驱动中实现open和rel… · 理解inode与file结构体
open/release
实现
14
实现read/write操作
在字符设备驱动中实现read和wri… · 数据从内核空间到用户空间的拷贝(co…
read/write
实现
15
设备驱动中的并发控制(互斥锁)
使用mutex保护共享资源 · 避免竞态条件
设备驱动
并发控制
16
设备驱动中的并发控制(自旋锁)
使用spinlock在中断上下文中保… · 自旋锁与互斥锁的选择
设备驱动
并发控制
17
设备驱动中的等待队列
使用wait_queue_head_… · wake_up_interrupti…
设备驱动
等待队列
18
设备驱动中的ioctl接口
实现unlocked_ioctl · 定义命令码(_IO/_IOR/_IO…
ioctl
设备驱动
19
平台设备驱动模型(Platform Driver)
platform_driver与pl… · 设备树匹配
Platform
Driver
20
设备树基础
设备树语法(dts/dtsi) · 节点与属性 · reg与interrupts属性
设备树基础
dts/dtsi
21
在设备树中描述平台设备
编写dts文件添加自定义设备节点 · 编译设备树(dtc)
设备树
描述平台设备
22
Platform驱动与设备树匹配
of_match_table · probe函数中获取设备树资源(of…
Platform
驱动
23
GPIO子系统基础
Linux GPIO子系统框架 · gpio_request/gpio_…
GPIO
子系统基础
24
使用GPIO子系统控制LED
编写一个控制LED亮灭的内核模块 · 通过sysfs接口控制
GPIO
LED
25
中断子系统基础
request_irq/free_i… · 中断处理函数(上半部) · IRQF_TRIGGER_*标志
断子系统基础
request
26
中断下半部(Tasklet与Workqueue)
tasklet_init/taskl… · workqueue机制
Tasklet
Workqueue
27
内核定时器与延时
timer_list结构体 · mod_timer · 内核中的短延时(mdelay/ude…
内核定时器
延时
28
procfs与debugfs接口
创建/proc和/sys/kerne… · 用于调试和配置驱动
procfs
debugfs
29
内核模块调试技巧
使用printk调试 · 动态调试(dynamic debug… · Oops信息分析
内核模块调试技巧
printk
30
课程总结与实战项目
综合实战 · 互斥 · ioctl)
课程总结
实战项目
所属VIP或分类
同VIP:SPI总线驱动注册枚举与数据传输性能调优方法
同VIP:嵌入式Linux驱动开发字符设备驱动从注册到卸载全流程
同VIP:嵌入式Linux驱动开发并发控制:RCU机制与使用场景