首页
›
嵌入式UI
›
022-RV1126驱动开发
›
《从零搭建驱动开发环境》
VIP20
本课程属于:022-RV1126驱动开发
嵌入式UI · 共 20 门相关课程,组合学习更完整。
查看所属VIP全部课程 →
← 返回所属目录
咨询 / 购买
从零搭建驱动开发环境
📚 共计 30 章节
01
课程介绍与目标
为什么要学驱动开发?课程能学到什么?适合谁学?
入门必读
学习路径
02
计算机基础回顾
CPU、内存、外设工作原理,操作系统与驱动的关系
计算机原理
核心概念
03
开发环境概览
Windows、Linux、Mac 三大平台的选择,虚拟机与双系统方案
环境搭建
跨平台
04
Linux 系统安装
Ubuntu 22.04 LTS 安装详解,分区与引导配置
系统安装
Ubuntu
05
Linux 基础命令(上)
文件操作、目录管理、权限控制
命令行
文件管理
06
Linux 基础命令(下)
进程管理、网络配置、软件包管理
进程
网络
包管理
07
文本编辑器
Vim 与 VS Code 的安装与配置,高效编辑技巧
编辑器
Vim
VS Code
08
版本控制
Git 安装与配置,SSH 密钥生成,与 GitHub 联动
Git
GitHub
SSH
09
编译工具链
GCC、G++、Make、CMake 的安装与基本使用
编译
工具链
10
第一个 C 程序
编写、编译、运行 Hello World,理解编译四步骤
C语言
编译流程
11
Linux 内核源码获取
从 kernel.org 下载,或使用 apt 安装内核头文件
内核源码
头文件
12
内核编译
配置内核选项(menuconfig),编译与安装新内核
内核编译
menuconfig
13
模块编程入门
Hello World 内核模块,insmod/rmmod/lsmod
内核模块
入门
14
模块参数与符号导出
module_param、EXPORT_SYMBOL 的使用
模块参数
符号导出
15
字符设备驱动基础
设备号、file_operations 结构体、cdev 注册
字符设备
驱动框架
16
手动创建设备节点
mknod 命令与 udev 自动管理机制
设备节点
udev
17
驱动中的内存管理
kmalloc、kfree、vmalloc 的区别与使用场景
内存管理
内核API
18
并发与竞态
自旋锁、互斥体、信号量在驱动中的应用
并发
锁机制
19
中断处理
注册中断、顶半部与底半部(tasklet、workqueue)
中断
底半部
20
时间与延时
jiffies、定时器、高精度定时器(hrtimer)
时间管理
定时器
21
ioctl 接口
实现自定义命令,用户态与内核态的数据交换
ioctl
用户态
22
平台设备驱动
platform_driver 与 platform_device 的匹配机制
平台驱动
设备匹配
23
设备树基础
DTS 语法、编译、在驱动中解析设备树
设备树
DTS
24
I2C 子系统
I2C 总线驱动与设备驱动的编写
I2C
总线驱动
25
SPI 子系统
SPI 设备驱动开发,与 FPGA 通信实例
SPI
FPGA
26
USB 子系统
USB 设备枚举、urb 传输、编写 USB 驱动
USB
URB
27
PCI 子系统
PCI 配置空间、BAR 空间、DMA 传输
PCI
DMA
28
调试技巧(上)
printk、动态调试、ftrace 的使用
调试
printk
ftrace
29
调试技巧(下)
kgdb 双机调试、QEMU 模拟调试环境
kgdb
QEMU
30
综合实战
从零编写一个完整的 GPIO 按键驱动,并编写测试程序
实战
GPIO
按键驱动
所属VIP或分类
同VIP:DMA传输驱动开发精讲
同VIP:GPIO控制与pinctrl配置实战
同VIP:I2C与SPI驱动开发实践