Linux内核驱动开发技术培训
培训大纲:
第1章 简介
1.1Linux的特点、版本演进与发展方向
1.2嵌入式Linux系统组成
1.3开发环境构建
1.4 GNU工具链和GDB调试
第2章 嵌入式Linux构建与启动过程分析
2.1 文件系统组成
2.2 Busybox编译与配置
2.3 加入C库
2.4 Linux启动过程
2.5 嵌入式Linux裁剪
第3章 Linux内核进程调度
3.1 task_struct
3.2 进程调度算法
3.3 进程调度时机
3.4 实时性
第4章 Linux内核内存管理
4.1 mm_struct, vma
4.2 buddy系统
4.3 slab、kmalloc
4.4 DMA、NORMAL、HIGHMEM ZONE
4.5 静态内存映射
4.6 连续内存管理,CMA
第5章 Linux内核文件系统
5.1 虚拟文件系统
5.2 inode、dentry、superblock
5.3 文件系统与block层
5.4 Flash文件系统
第6章 Linux 内核系统调用
6.1 Linux系统调用实现原理
6.2 增加一个新的系统调用
第7章 内核编程主要API
7.1 同步与并发
7.2 等待队列
7.3 内核延时
7.4 内存申请和释放
7.5定时器
7.6 中断顶底半部
7.7 Linux内核线程
7.8 IO与内存访问
7.9 DMA与cache一致性
第8章 Linux内核模块
8.1 内核模块init和exit
8.2 输入参数
8.3 输出参数
第9章 Linux内核调试方法
9.1 printk
9.2 Oops和panic
9.3 内核debug选项
9.4 gdb、kgdb和kdb
9.5 使用仿真器
第10章 Linux设备驱动模型
10.1 Linux设备分类
10.2 Sys,总线,设备和驱动
10.3 热插拔
10.4 电源管理
10.5 udev
第11章 Linux字符设备驱动结构
11.1 Linux字符设备驱动结构
11.2 globalmem虚拟设备实例描述
11.3 globalmem设备驱动
11.4 globalmem驱动的编译与加载
11.5 globalmem驱动在用户空间的验证
第12章 Linux设备驱动中的并发控制
12.1并发控制的概念
12.2何时需要并发控制
12.3自旋锁
12.4信号量,mutex
12.5增加并发控制后的globalmem驱动
第13章 Linux设备驱动中的阻塞与非阻塞I/O
13.1阻塞与非阻塞I/O
13.2 poll操作的概念
13.3何时需要poll操作
13.4等待队列waitqueues
13.5 Linux poll操作相关数据结构与函数
13.6支持poll操作的globalmem驱动
第14章 Linux 设备驱动中的异步通知
14.1异步通知的概念
14.2何时需要异步通知
14.3 Linux异步通知相关数据结构与函数
14.4支持异步通知的globalmem驱动
14.4.1在globalmem驱动中增加异步通知
14.4.2在用户空间验证globalmem的异步通知
第15章 Linux MTD子系统与FLASH驱动
15.1 Linux MTD子系统结构
15.2 NOR FLASH驱动
15.3 NAND FLASH驱动
15.4 FLASH文件系统:JFFS2/YAFFS2/UBI
第16章 Linux 网络设备驱动
16.1 Linux网络协议栈
16.2 sk_buff
16.3 Linux网络设备驱动结构
16.4数据发送流程
16.5数据接收流程
第17章 设备驱动的分层
17.1 设备驱动分层框架
17.2 实例1:input子系统
17.3 实例2:LCD子系统
第18章 I2C驱动
18.1 I2C主机驱动
18.2 I2C client驱动
18.3 I2C驱动电源管理
18.4 I2C板文件信息
第19章 SPI驱动
19.1 SPI主机驱动
19.2 SPI client驱动
19.3 SPI驱动电源管理
19.4 SPI板文件信息
第20章 platform设备驱动
20.1 platform驱动
20.2 platform设备
20.3 platform设备板级信息
第21章 将Linux移植到一个新的SoC
21.1 early_printk
21.2 L2 cache
21.3 OS timer
21.4 clk tree
21.5 GPIO
21.6 pinmux
21.7 IRQ chip
21.8 DMA
21.9 MACH_INIT
21.10 device tree
21.11 社区维护
第22章 Linux调试与性能优化
22.1 strace
22.2 core dump
22.3 gdb与多线程
22.4常用工具(top/vmstat/iostat/sysctl等)
22.5 性能优化: oprofile, LTTng, gprof
22.6 开机速度: bootchart
22.7 功耗:powertop
22.8 延迟:latencytop
22.9 内存分析: procmem、procrank、
更多培训课程,学习资讯,课程优惠等学校信息,请进入 广州海珠区嵌入式培训广州白云区单片机培训 网站详细了解,免费咨询电话:400-998-6158