课程培训
嵌入式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等 

 




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

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

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

咨询电话010-62883247

                4007991916

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

 

微信号.jpg

  微信咨询

随时听讲课

聚焦技术实践

订制培训 更多>>