第五章 嵌入式linux内核、驱动开发、性能优化培训
作者:互联网
培训目标:
使培训人员基本掌握Unix和Linux平台使用以及程序开发。包括:
- Linux和Unix系统基础知识及操作;
- Linux和Unix系统软件开发;
- 跨平台软件开发
- 培训内容:
-
进入嵌入式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与多线程
- 常用工具(top/vmstat/iostat/sysctl等)
- 性能优化: oprofile, LTTng, gprof
- 开机速度: bootchart
- 功耗:powertop
- 延迟:latencytop
- 内存分析: procmem、procrank、smem
- top, iostat, netstat等
标签:异步,linux,嵌入式,globalmem,Linux,驱动,设备,内核 来源: https://www.cnblogs.com/vx-cg248805770/p/12936709.html