课程培训
嵌入式Linux内核驱动开发技术培训课程

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、




如果您想学习本课程,请预约报名
如果没找到合适的课程或有特殊培训需求,请订制培训
除培训外,同时提供相关技术咨询与技术支持服务,有需求请发需求表到邮箱soft@info-soft.cn,或致电4007991916
技术服务需求表下载请点击

服务优势:
丰富专家资源,精准匹配相关行业,相关项目技术精英,面向用户实际需求,针对性培训或咨询,互动式交流,案例教学,精品小班,实际工程项目经验分享,快捷高效,节省时间与金钱,少走弯路与错路。

专家力量:
中国科学院相关研究所高级研究人员
西门子,TI,vmware,MSC,Ansys,MDI,Mentor, candence,Altium,Atmel 、Freescale,达索,华为等
大型公司高级工程师,项目经理,技术支持专家
中科信软培训中心,资深专家或讲师
大多名牌大学,硕士以上学历,相关学历背景专业,理论素养高
多年实际项目实践,大型复杂项目实战案例分享,热情,乐于技术分享
针对客户实际需要,真实案例演示,互动式沟通,学有所值
报名表下载
联系我们 更多>>

咨询电话010-62883247

                4007991916

咨询邮箱:soft@info-soft.cn  

 

微信号.jpg

  微信咨询

随时听讲课

聚焦技术实践

订制培训 更多>>