嵌入式linux内核、驱动开发、性能优化培训
嵌入式Linux简介
Linux的特点、版本演进与发展方向
嵌入式Linux系统组成
开发环境构建
安装设置ARM工具链
安装设置NFS、SSH、TFTP服务
GNU工具链和GDB调试
嵌入式Linux构建与启动过程分析
文件系统组成
Busybox编译与配置
加入C库
Linux启动过程
Bootloader
内核启动过程
用户空间init
嵌入式Linux裁剪
内核Kconfig和Makefile
内核源代码目录
内核裁剪
文件系统裁剪
Linux内核进程调度
task_struct
进程调度算法
进程调度时机
实时性
Linux内核内存管理
mm_struct, vma
buddy系统
slab、kmalloc
DMA、NORMAL、HIGHMEM ZONE
静态内存映射
连续内存管理,CMA
Linux内核文件系统
虚拟文件系统
inode、dentry、superblock
文件系统与block层
Flash文件系统
Linux 内核系统调用
Linux系统调用实现原理
Linux系统调用实现
增加一个新的系统调用
内核编程主要API
同步与并发
等待队列
内核延时
内存申请和释放
定时器
中断顶底半部
软中断
tasklet
工作队列
threaded_irq
Linux内核线程
IO与内存访问
DMA与cache一致性
Linux内核模块
内核模块init和exit
输入参数
输出参数
案例部分:4个试验案例演示模块各个功能
Linux内核调试方法
printk
Oops和panic
内核debug选项
gdb、kgdb和kdb
使用仿真器
Linux设备驱动模型
Linux设备分类
Sys,总线,设备和驱动
热插拔
电源管理
udev
Linux字符设备驱动结构
Linux字符设备驱动结构
globalmem虚拟设备实例描述
globalmem设备驱动
globalmem驱动的编译与加载
globalmem驱动在用户空间的验证
Linux设备驱动中的并发控制
并发控制的概念
何时需要并发控制
自旋锁
信号量,mutex
增加并发控制后的globalmem驱动
Linux设备驱动中的阻塞与非阻塞I/O
阻塞与非阻塞I/O
poll操作的概念
何时需要poll操作
等待队列waitqueues
Linux poll操作相关数据结构与函数
支持poll操作的globalmem驱动
Linux 设备驱动中的异步通知
异步通知的概念
何时需要异步通知
Linux异步通知相关数据结构与函数
支持异步通知的globalmem驱动
在globalmem驱动中增加异步通知
在用户空间验证globalmem的异步通知
Linux MTD子系统与FLASH驱动
Linux MTD子系统结构
NOR FLASH驱动
NAND FLASH驱动
FLASH文件系统:JFFS2/YAFFS2/UBI
Linux 网络设备驱动
Linux网络协议栈
sk_buff
Linux网络设备驱动结构
数据发送流程
数据接收流程
设备驱动的分层
设备驱动分层框架
实例1:input子系统
实例2:LCD子系统
I2C驱动
I2C主机驱动
I2C client驱动
I2C驱动电源管理
I2C板文件信息
SPI驱动
SPI主机驱动
SPI client驱动
SPI驱动电源管理
SPI板文件信息
platform设备驱动
platform驱动
platform设备
platform设备板级信息
将Linux移植到一个新的ARM SoC
early_printk
L2 cache
OS timer
clk tree
GPIO
pinmux
IRQ chip
DMA
MACH_INIT
device tree
社区维护
Linux调试与性能优化
strace
core dump
gdb与多线程
常用工具
性能优化: oprofile, LTTng, gprof
开机速度: bootchart
功耗:powertop
延迟:latencytop
内存分析: procmem、procrank、smem
top, iostat, netstat等
开课的培训课程有:
一、嵌入式Linux驱动开发班
二、嵌入式ARM9+Linux培训班
三、嵌入式培训工作开发班
四、嵌入式cortex-m3+ucos开发培训班
五、FPGA应用开发班
六、android驱动开发班
七、单片机编程培训班
八、单片机开发培训班
九、单片机综合开发班
十、电子PCB设计培训班
分别开设有民治中心(公司总部)、南山中心、龙岗中心、西乡中心、广州中心、南宁、长沙,及华中郑州中心
更多培训课程,学习资讯,课程优惠等学校信息,请进入 广州海珠区嵌入式培训广州白云区单片机培训 网站详细了解,免费咨询电话:400-998-6158