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

随时听讲座
每天看新闻
 
   
成功案例
鐭ュ悕鏌愯建 鈥淩eWorks涓
濉為粯鑿茶垗 銆婂祵鍏ュ紡杞欢鏋舵瀯璁
鏌愭按澹伴 宓屽叆寮廘inux搴
骞挎苯鐮旂┒ ARM澶勭悊鍣ㄤ綋绯绘灦
鑱斿悎姹藉井 宓屽叆寮忚蒋浠舵灦鏋勮璁
鏌愬叏鐞冪煡 Linux鍐呮牳鍜岀郴
骞挎苯鐮旂┒ 宓屽叆寮忚蒋浠舵灦鏋勮璁

相关课程  
UML +RoseRealtime+嵌入式
C++嵌入式系统开发
嵌入式白盒测试
手机软件测试
嵌入式软件测试
嵌入式操作系统VxWorks
 

嵌入式linux内核、驱动开发、性能优化        
授课讲师: Bary,Linux内核维护人,为Linux内核做出重要贡献,技术指导企业例如:思科、阿尔卡特朗讯、华为、意法半导体、美国国家仪器等等。
时间地点 北京、上海 、深圳根据报名开班
课程费用: 4500元/人 (学生3折),详见 公开课学习手册
企业内训: 可以根据企业需求,定制内训,详见 内训学习手册
 
课程内容全程以案例展开,设计案例约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等
     
    其他人还看了课程
    鏁版嵁鍒嗘瀽涓庢寲鎺  
    绾㈠附璁よ瘉  
    浼佷笟鎴樼暐涓庡彉闈╃鐞  
    杞欢鏋舵瀯璁捐鏂规硶  
    定制内训




    最新活动计划
    MBSE(基于模型的系统工程)10-29[北京]
    DoDAF规范、模型与实例 11-5[北京]
    QT应用开发 11-21[北京]
    C++高级编程 11-27[北京]
    业务建模&领域驱动设计 11-15[北京]
    用户研究与用户建模 11-21[北京]