课程培训
嵌入式linux内核、驱动开发、性能优化培训课程

培训目标:

使培训人员基本掌握Unix和Linux平台使用以及程序开发。包括:

· Linux和Unix系统基础知识及操作;

· Linux和Unix系统软件开发;

· 跨平台软件开发

 

 

培训对象:有一定工作经验的嵌入式Linux开发工程师。对嵌入式Linux开发有兴趣的开发人员。

 

学员基础:具备一定的C/C++开发经验。

 

授课方式: 定制课程 + 案例讲解 + 小组讨论,60%案例讲解,40%实践演练

 

进入嵌入式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等

 

 




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

服务特点:
海量专家资源,精准匹配相关行业,相关项目专家,针对实际需求,顾问式咨询,互动式授课,案例教学,小班授课,实际项目演示,快捷高效,省时省力省钱。

专家力量:
中国科学院软件研究所,计算研究所高级研究人员
oracle,微软,vmware,MSC,Ansys,candence,Altium,达索等大型公司高级工程师,项目经理,技术支持专家
中科信软培训中心,资深专家或讲师
大多名牌大学,硕士以上学历,相关技术专业,理论素养丰富
多年实际项目经历,大型项目实战案例,热情,乐于技术分享
针对客户实际需求,案例教学,互动式沟通,学有所获
报名表下载
联系我们 更多>>

咨询电话010-62883247

                4007991916

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

 

微信号.jpg

  微信咨询

随时听讲课

聚焦技术实践

订制培训 更多>>