|
课程进度安排()
|
|
时间
|
课程大纲
|
|
第一天
|
|
9:00 | 12:00
|
1 嵌入式Linux开发环境构建 目标:通过今天课程的学习,学员能掌握嵌入式Linux交叉开发环境的搭建、交叉编译工具链的使用、交叉编译工具链制作的原理、及学会通过crosstool制作自己的交叉工具链。 1.1 交叉开发环境介绍 1.2 编译交叉开发工具链 1.3 配置主机开发环境 1.4 建立交叉开发环境 1.5 编译器和二进制工具详解 1.6 交叉调试应用程序
|
|
13:00 | 16:00
|
【实验】 (1) 安装开发工具和文件 (2) 配置超级终端/minicom (3) 配置TFTP网络服务 (4) 配置NFS网络服务 (5) 引导目标板启动Linux内核 (6) 制作crosstool交叉工具链 (7) 交叉调试应用程序
|
|
第二天
|
|
9:00 | 12:00
|
2 开发系统引导程序 目标:理解嵌入式linux引导程序的原理,掌握如何在GEC2410硬件平台上移植u-boot。 2.1 Bootloader介绍 2.2 u-boot工程介绍 2.3 u-boot的编译使用 2.4 u-boot源码分析 2.5 u-boot资源分配 2.6 u-boot移植过程
|
|
13:00 | 16:00
|
【实验】 (1) u-boot常用命令 (2) 添加u-boot新命令 (3) 设置u-boot环境变量 (4) 配置编译u-boot (5) 移植GEC2410的u-boot-1.1.4 ● 支持网卡、串口功能 ● 支持从nandflash启动 ● 支持nandflash烧写 ● 支持cramfs、jffs2文件系统烧写
|
|
第三天
|
|
9:00 | 12:00
|
3 配置编译Linux内核 目标:熟悉内核的原码结构和kbuild Makefile语法;掌握和内核、驱动模块编译相关的原理及方法。 3.1 Linux内核介绍 3.2 Linux内核特点 3.3 Linux内核源代码结构 3.4 Linux内核选项解析 3.5 Linux内核编译链接 3.6 内核模块编译、使用方法
|
|
13:00 | 16:00
|
【实验】 (1) 配置交叉开发环境 (2) 熟悉菜单配置文件的组织结构 (3) 熟悉内核配置过程选项 (4) 加入Kconfig新选项 (5) 编译交叉开发环境所需要的内核 (6) 在内核中加入自己的字符设备程序
|
|
第四天
|
|
9:00 | 12:00
|
4 移植Linux内核源码 目标:通过今天课程的学习,学员能够熟悉内核启动流程、掌握内核移植的一般方法、分析平台相关代码结构,并能够自己动手移植高版本内核支持GEC2410开发板。 4.1 Linux内核移植介绍 4.2 Linux内核移植平台相关代码分析 4.3 动手修改Linux内核源代码 4.4 分析编译过程错误和宏定义的关系 4.5 Linux启动过程源代码分析 4.6 2.6内核平台设备结构介绍
|
|
13:00 | 16:00
|
【实验】 (1) 配置编译高版本的Linux内核 (2) 移植内核支持GEC2410板 ● 网卡驱动移植 ● mtd支持及flash分区方法 ● 添加jffs2、yaffs2文件系统支持
● 触摸屏支持 ● 液晶支持 ● u盘功能 (3) 分析解决编译过程中的错误
|
|
第五天
|
|
9:00 | 12:00
|
5 集成部署Linux系统 目标:理解嵌入式linux引导程序的原理,掌握如何在GEC2410硬件平台上移植u-boot。 5.1 Linux文件系统制作 5.2 Linux系统集成测试 5.3 文件系统和存储设备的选择 5.4 部署cramfs文件系统的过程 5.5 部署JFFS2文件系统的过程 5.6 部署Yaffs2文件系统的过程
|
|
13:00 | 16:00
|
【实验】 (1) 制作最小的文件系统 (2) 添加udev支持 (3) 部署cramfs文件系统 (4) 部署jffs2文件系统 (5) 部署yaffs2文件系统 (6) 配置u-boot使系统独立运行
|
|
第六天
|
|
9:00 | 12:00
|
6 调试Linux内核及优化linux内核 目标:掌握内核调试的常用方法、内核优化的方法策略。 6.1 Linux内核调试概述 6.2 Linux内核的打印函数 6.3 Linux内核启动过程错误分析 6.4 解析oops信息 6.5 常用调试方法和工具 6.6 基本的驱动程序分析 6.7 系统启动时间优化 6.8 电源管理方法 ● 动态、静态功耗介绍 ● 嵌入式处理器对电源管理的支持 ● 嵌入式linux电源管理结构 ● 用户层电源管理策略 ● 设备驱动层电源管理策略
|
|
13:00 | 16:00
|
【实验】 (1) 通过基本调试手段解决内核启动过程错误 (2) 分析、处理oops错误 (3) 优化系统,加快系统启动速度 (4) 优化系统,降低系统功耗
|