培训目标:
|
使培训人员基本掌握Unix和Linux平台使用以及程序开发。包括:
· Linux和Unix系统基础知识及操作;
· Linux和Unix系统软件开发;
· 跨平台软件开发
|
|
|
培训对象:有一定工作经验的嵌入式Linux开发工程师。对嵌入式Linux开发有兴趣的开发人员。
|
|
学员基础:具备一定的C/C++开发经验。
|
|
授课方式: 定制课程 + 案例讲解 + 小组讨论,60%案例讲解,40%实践演练
|
|
进入嵌入式Linux的精彩世界
|
· Linux的特点、版本演进与发展方向
· 嵌入式Linux系统组成
· 开发环境构建
o 安装设置ARM工具链
o 安装设置NFS、SSH、TFTP服务
· GNU工具链和GDB调试
|
嵌入式Linux构建与启动过程分析
|
· 文件系统组成
· Busybox编译与配置
· 加入C库
· Linux启动过程
o Bootloader
o 内核启动过程
o 用户空间init
· 嵌入式Linux裁剪
o 内核Kconfig和Makefile
o 内核源代码目录
o 内核裁剪
o 文件系统裁剪
|
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
|
· 同步与并发
· 等待队列
· 内核延时
· 内存申请和释放
· 定时器
· 中断顶底半部
o 软中断
o tasklet
o 工作队列
o 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驱动
o 在globalmem驱动中增加异步通知
o 在用户空间验证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,达索等大型公司高级工程师,项目经理,技术支持专家
中科信软培训中心,资深专家或讲师
大多名牌大学,硕士以上学历,相关技术专业,理论素养丰富
多年实际项目经历,大型项目实战案例,热情,乐于技术分享
针对客户实际需求,案例教学,互动式沟通,学有所获