求知 文章 文库 Lib 视频 Code iProcess 课程 认证 咨询 工具 火云堂 讲座吧   成长之路  
会员   
 
 
 
全部课程 | 技术学院 | 管理学院 | 嵌入式学院 | 在线学院  
成功案例   品质保证  电话 English
追随技术信仰

随时听讲座
每天看新闻
 
   
成功案例
某安保系 嵌入式Linux基
国内某知 嵌入式软件可靠性设
中国航空 嵌入式C高质量编程
中国移动 网络规划与管理
全球领先 使用EA和UML进
上海汽车 嵌入式软件架构设计
上海 某 UML+嵌入式系统

相关课程  
UML +RoseRealtime+嵌入式
C++嵌入式系统开发
嵌入式白盒测试
手机软件测试
嵌入式软件测试
嵌入式操作系统VxWorks
 
全部课程 >嵌入式Linux  
嵌入式linux内核、驱动开发、性能优化
1410 次浏览  162 次
Bary
Linux内核维护人,为Linux内核做出重要贡献,技术指导企业例如:思科、阿尔卡特朗讯、华为、意法半导体、美国国家仪器等等。
 
时间地点: 北京、上海 、深圳根据报名开班
课程费用:4500元/人
企业内训:可以根据企业需求,定制内训,详见 内训学习手册


课程内容全程以案例展开,设计案例约20个,以实际案例展开剖析驱动编程注意事项,分层和分离的设计思想,官方内核对驱动的设计规范;内核中较新的中断底半部机制threaded_irq,较新的连续内存分配器(CMA)也将以实例展开;关于Linux的移植,讲师作为官方Linux内核的维护者,将现身说法讲明新的SoC支持Linux的全过程,以及官方内核对Linux的设计规范要求,社区维护者的思维方式;实际运行Linux各种调试工具,以电路板捕获的真实数据剖析smem、oprofile、LTTng的作用。

培训目标:

使培训人员基本掌握Unix和Linux平台使用以及程序开发。包括:
  • Linux和Unix系统基础知识及操作;
  • Linux和Unix系统软件开发;
  • 跨平台软件开发
培训对象:有一定工作经验的嵌入式Linux开发工程师。对嵌入式Linux开发有兴趣的开发人员。
学员基础:具备一定的C/C++开发经验。
授课方式: 定制课程 + 案例讲解 + 小组讨论,60%案例讲解,40%实践演练
培训内容:2天

进入嵌入式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等
 
1410 次浏览  162 次
其他人还看了课程
Move to Linux 3.x and SMP  845 次浏览
Hard Real-time Linux - Linux RT-Preempt  876 次浏览
嵌入式Linux内核开发  747 次浏览
嵌入式Linux驱动开发  1852 次浏览
嵌入式Linux应用开发  954 次浏览
嵌入式linux内核、驱动开发、性能优化  1410 次浏览
定制内训



最新活动计划
[北京]selenium进行web自动化测试 9-10
[北京]微服务架构设计与实践 9-12
[北京]开发过程中的质量管理实践 9-17
[北京]UML和EA进行系统分析设计 9-18
[北京]大数据分析与管理 9-20
[北京]架构设计方法、案例与实践 9-26
[上海]人工智能机器学习和深度学习 9-14
[上海]嵌入式 Linux应用开发 10-12
[深圳]HTML5与前端框架高级应用 10-18
[深圳]软件测试方法与实践 9-22
 
 
 

 
每天2个文档/视频
扫描微信二维码订阅
订阅技术月刊
获得每月300个技术资源
 
希望我们的资料可以帮助你学习,也欢迎投稿&提建议给我
频道编辑:sky
邮       件:sky@uml.net.cn

关于我们 | 联系我们 | 京ICP备10020922号 京公海网安备110108001071号