嵌入式Linux企业培训参考课程
(本课程针对Montavista Linux平台)
单击此处下载英文版本
   课程目标

        本课程为企业用户专门定制,涵盖了嵌入式Linux操作系统原理、应用开发、内核定制移植、驱动程序开发等全方面内容,同时还包括电源管理、内核调试、性能优化等高级内容。学习本课程的学员能够从事嵌入式系统相关的项目开发。
        帮助您的企业实现以下目标:
        ◆ 新员工培训,快速熟悉嵌入式软件开发,学习嵌入式系统开发经验,培养独立解决问题能力,缩短新员工进入实际项目时间。
        ◆ 员工技术储备,了解主流开发硬件,熟悉最新嵌入式Linux操作系统原理,掌握嵌入式应用软件开发,了解行业发展动态。
        ◆ 提升现有开发团队技术,进一步熟悉嵌入式Linux内核原理,独立完成嵌入式Linux移植,培养独立开发嵌入式驱动程序能力,掌握嵌入式系统开发流程。

   培训对象

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

   培训方式

        此课程只针对企业用户,培训人数在8人以上,两种培训方式:一是讲师上门授课;二是到我们培训中心参加培训;内容可根据客户要求进行定制。如有需求可拨打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 红外


   本课程培训过的客户
2005.10.22 上海宇梦通信 Montavista Linux
2005.11.26 ST意法半导体 Montavista Linux
2006.08.19 北京华为海思 嵌入式Linux
2006.09.23 上海迅达电梯 嵌入式Linux
2007.04.23 上海朗讯 Montavista Linux
2007.04.28 北京伟创力 Montavista Linux
2007.06.23 上海贝尔阿尔卡特 PowerPC + Montavista Linux