时间
|
课程大纲
|
第一天
|
9:00
|
12:00
|
1 嵌入式Linux开发环境构建
1.1 交叉开发环境介绍
1.2 编译交叉开发工具链
1.3 配置主机开发环境
1.4 建立交叉开发环境
1.5 编译器和二进制工具详解
1.6 交叉调试应用程序
|
:30
|
16:30
|
实验
实验内容:基于RJARM9-EDU,建立Linux交叉开发环境,调试Linux应用程序。
(1) 熟悉Redhat Linux 9虚拟机环境
(2) 安装开发工具和文件
(3) 配置超级终端/minicom
(4) 配置TFTP网络服务
(5) 配置NFS网络服务
(6) 引导目标板启动Linux内核
(7) 交叉编译应用程序
(8) 交叉调试应用程序
|
第二天
|
9:00
|
12:00
|
2 开发系统引导程序
2.1 Bootloader介绍
2.2 ppcboot工程介绍
2.3 ppcboot的编译使用
2.4 ppcboot源码分析
2.5 ppcboot资源分配
2.6 ppcboot移植过程
2.2. 内存分配与存储器映射
2.3. 高速缓存管理
2.4. mmap设备操作
2.5. 在内核中描述时间
2.6. 使用任务队列
2.7. 内核定时器
2.8. 硬件中断处理流程
2.9. Linux内核中断子系统
2.10. 安装中断处理程序
2.11. 上半部/下半部处理
2.12. 中断共享
|
13:30
|
16:30
|
实验内容:掌握ppcboot常用命令,分析修改ppcboot源代码,移植到RJARM9-EDU实验箱上。
(1)ppcboot常用命令
(2) 添加ppcboot新命令
(3) 设置ppcboot环境变量
(4) 配置编译ppcboot
(5) 移植RJARM9-EDU的PPCBOOT
|
第三天
|
9:00
|
12:00
|
3 配置编译Linux内核
3.1 Linux内核介绍
3.2 Linux内核特点
3.3 Linux内核源代码结构
4 移植Linux内核源码
4.1 Linux内核移植介绍
4.2 Linux内核移植平台相关代码分析
4.3 动手修改Linux内核源代码
4.4 分析编译过程错误和宏定义的关系
4.5 Linux启动过程源代码分析
|
13:30
|
16:30
|
实验内容:RJARM9-EDU板的Linux内核,熟悉内核配置选项;编译交叉开发环境所需要的内核
(1) 配置交叉开发环境
(2) 熟悉菜单配置文件的组织结构
(3) 熟悉内核配置过程选项
(4) 加入Kconfig新选项
(5) 编译交叉开发环境所需要的内核
实验内容:熟悉Linux内核平台相关代码,为RJARM9-EDU实验箱移植高版本的Linux内核
(1) 配置交叉开发环境
(2) 配置编译高版本的Linux内核
(3) 移植RJARM9-EDU实验箱Linux内核支持到高版本
(4) 分析解决编译过程中的错误
|
|
|
|
|
|
第四天
|
9:00
|
12:00
|
5 调试Linux内核
5.1 Linux内核调试概述
5.2 Linux内核的打印函数
5.3 Linux内核启动过程错误分析
5.4 解析oops信息
5.5 常用调试方法和工具
5.6 基本的驱动程序分析
6 集成部署Linux系统
6.1 Linux文件系统制作
6.2 Linux系统集成测试
6.3 文件系统和存储设备的选择
6.4 部署Ramdisk文件系统的过程
6.5 部署JFFS2文件系统的过程
|
13:30
|
16:30
|
实验内容:熟悉Linux启动过程信息打印函数,分析出错信息的位置,掌握基本的调试方法
(1) 配置交叉开发环境
(2) 通过基本调试手段解决内核启动过程错误
(3) 添加串口网口等基本驱动程序
(4) 为RJATM9-EDU实验箱添加MTD分区表
实验内容:基于ARM平台上完成ramdisk文件系统的制作和部署
(1) 制作最小的文件系统
(2) 部署ramdisk文件系统
(3) 部署jffs2文件系统
(4) 配置ppcboot使系统独立运行
|