华清远见企业内训典型课程(一):嵌入式Linux开发培训课程
  • 课程目标

    本课程为企业用户专门定制,涵盖了嵌入式Linux操作系统原理、应用开发、内核定制移植、驱动程序开发等全方面内容,同时还包括电源管理、内核调试、性能优化等高级内容。学习本课程的学员能够从事嵌入式系统相关的项目开发。

    帮助您的企业实现以下目标:

    1、新员工培训,快速熟悉嵌入式软件开发,学习嵌入式系统开发经验,培养独立解决问题能力,缩短新员工进入实际项目时间。

    2、员工技术储备,了解主流开发硬件,熟悉最新嵌入式Linux操作系统原理,掌握嵌入式应用软件开发,了解行业发展动态。

    3、提升现有开发团队技术,进一步熟悉嵌入式Linux内核原理,独立完成嵌入式Linux移植,培养独立开发嵌入式驱动程序能力,掌握嵌入式系统开发流程。

  • 培训对象

    嵌入式系统项目经理,嵌入式系统开发人员,嵌入式系统分析设计人员、嵌入式测试 工程师、嵌入式操作系统工程师及想从事嵌入式系统开发的开发人员。

  • 培训方式

    此课程只针对企业用户,两种培训方式:

    1、讲师上门授课;

    2、到我们培训中心参加培训;内容可根据客户要求进行定制。如有需求可拨打010-82600901电话进行洽谈。

  • 课程大纲
    时间 课程大纲

    第一天

    9:00
    |
    12:00

    1.1 嵌入式Linux基础
          1.1.1 Linux内核发展趋势与概况
          1.1.2 建立嵌入式Linux开发环境
          1.1.3 GCC工具链的使用方法
          1.1.4 GDB调试简要介绍
          1.1.5 ELF文件格式分析
          1.1.6 autoconf使用
          1.1.7 makefile语法
          1.1.8 编译内核
    实验
          1)用GDB调试一个简单的应用程序
          2)使用autoconf创建一个简单的makefile文件
          3)通过makefile编译程序

    13:30
    |
    16:30

    1.2 Linux应用编程
          1.2.1 Linux静态/动态库的开发
          1.2.2 Linux进程间通讯编程方式
          1.2.3 Linux网络编程
    实验
          1)开发一个Linux静态库
          2)开发一个Linux动态库,并测试
          3)比较Linux的几种进程间通讯方式

    第二天

    9:00
    |
    12:00
    2.1 理解Linux内核
          2.1.1 Linux内核框架
          2.1.2 Linux的进程
          2.1.3 O(1)调度算法分析
          2.1.4 Linux内存管理模式
          2.1.5 Linux内核启动流程分析
          2.1.6 Linux系统服务
          2.1.7 启动Linux内核
    实验
          1)开发一个多进程的程序
          2)分析Linux启动流程
    13:30
    |
    16:30

    2.2移植
          2.2.1 移植的概念
          2.2.2 移植Linux内核
          2.2.3 bootloader的概念
          2.2.4 移植u-boot
    实验
          1)动手移植Linux内核到arm平台
          2)移植u-boot到arm平台

    第三天

    9:00
    |
    12:00

    3.1 Linux内核调试
          3.1.1 Printk()
          3.1.2 Oops消息
          3.1.3 /proc文件系统
          3.1.4 Kgdb
          3.1.5 追踪工具(strace,ltt,gprof,gcov,memwatch)
    实验
          1)使用printk函数调试Linux内核
          2)通过proc文件系统调整系统性能
          3)使用kgdb调试Linux内核

    13:30
    |
    16:30

    3.2 系统性能测试
          3.2.1快速启动技术
          3.2.2优化内核应用程序
          3.2.3 内存泄漏检测
    实验
          1)测试自己Linux系统的性能
          2)检测给定程序,查看内存泄漏

    第四天

    9:00
    |
    12:00

    4.1 Linux 设备驱动开发
          4.1.1 Linux驱动模型与分类
          4.1.2 构建和运行模块
          4.1.3 module工具使用方法
          4.1.4 中断处理
          4.1.5 内核中采用的同步技术
          4.1.6 字符设备驱动概述
          4.1.7 访问设备驱动程序的方法
          4.1.8 fs_operation结构分析
          4.1.9 增强的字符驱动程序
    实验
          1)编写简单的Linux字符驱动程序
          2)分析fs_operation结构

    13:30
    |
    16:30

    4.2 Linux 设备驱动开发
          4.2.1 设备文件系统:devfs 和sysfs
          4.2.2 Linux的内存管理
          4.2.3 DMA操作
          4.2.4 高速缓存管理
          4.2.5 mmap设备操作
          4.2.6 设备结构和属性
          4.2.7 Linux-2.6.x驱动模型
    实验
          1)理解设备文件系统
          2)熟悉mmap设备操作
          3)在驱动程序中使用DMA

    第五天

    9:00
    |
    12:00

    5.1 文件系统
          5.1.1 Ramdisk
          5.1.2 理解MTD构架
          5.1.3 NOR/NAND flash--了解两者的特点和底层驱动。
          5.1.4 文件系统的制作和固化
          5.1.5 虚拟文件系统
          5.1.6文件系统接口VFS
          5.1.7 其他文件系统
    实验
          1)测试自己Linux系统的性能

    13:30
    |
    16:30
    5.2 手持设备特定驱动
          5.2.1和手机相关的驱动介绍
          5.2.2 framebuffer
          5.2.3 overlay
          5.2.4定时器/高精度定时器
          5.2.5 红外
  • 本课程培训过的客户

    上海宇梦通信 | ST意法半导体 | 北京华为海思 | 上海迅达电梯 | 上海朗讯 | 北京伟创力 | 上海贝尔阿尔卡特 | NEC | 上海锐珂医疗器械有限公司 | 上海阿尔卡特 等等...