嵌入式 Linux 学习七步曲
【序】
嵌入式 Linux 的学习涵盖的范围比较广,下从 bootloader ,到内核移植、文件系统,中间的驱动开发,到上层的应用程序调试、开发环境等,变化莫测,经常是别人的能用自己的就有问题。
由于缺乏他人适当指点,自己在学习过程中也走了很多弯路,整个开发环境的搭建整了 N 久,更搞笑的是经常听说模块加载 insmod ,可连这个命令在主机还是 ARM 上用都没搞明白,那叫一个汗啊!大家勿笑,嵌入式 Linux 的初学者确实对交叉环境比较不懂,我是其一啊。
现在适逢好友要学习嵌入式 Linux ,就将近一年来的学习体会总结下,整理了一个总体的学习计划,希望给那些曾经像我一样彷徨的人一些帮助。后续将完善此文档,上传到个人空间上,先贴出目录。本人水平有限,不当之处,还请大家指正!
*****************************************************************************
第一篇 Linux 主机开发环境( 15 天)
1.1 Vmvare 下 Linux 的安装(优先)
1.2 Windows 下从硬盘安装 Linux (可选)
1.3 Linux 的基本命令及使用
1.4 Linux 的文件系统及与 windows 的文件共享
1.5 GCC 开发工具
1.6 GDB 调试
1.7 Makefile 编写
1.8 主机端的模块编程
1.9 简单应用程序
第二篇 ARM + Linux 开发环境( 7 天)
2.1 交叉开发环境介绍
2.2 交叉编译器 cross-tool
2.3 配置主机开发环境
2.3.1 配置超级终端 minicom 或 hyperterminal 或 DNW
2.3.2 配置 TFTP 网络服务
2.3.3 配置 NFS 主机端网络服务
2.4 建立交叉开发环境
2.4.1 配置 NFS ARM 端网络服务
2.4.2 编译 ARM-gdb
2.5 交叉调试应用程序
2.6 ARM 上的简单模块编程
第三篇 Linux 系统 bootlaoder 移植( 7 天)
3.1 Bootloader 介绍
3.2 u-boot 命令及环境变量
3.3 u-boot 的编译配置
3.4 u-boot 源码分析
3.5 u-boot 移植过程
第四篇 Linux 的内核移植( 15 天)
4.1 配置编译 Linux 内核
4.1.1 Linux 内核源代码结构
4.1.2 Linux 内核编译选项解析
4.1.3 Linux 内核编译链接
4.2 Linux 启动过程源代码分析
4.3 Linux 内核移植平台相关代码分析
第五篇 Linux 的驱动编程( 15 天)
5.1 Linux 的设备管理
5.2 Linux 的驱动程序结构
5.3 简单的字符设备驱动程序
5.4 Linux 内核模块的加载卸载
5.5 Linux 的打印调试方法
5.6 字符设备的高级属性-中断
5.6 常见的串口网口驱动分析
第六篇 文件系统制作( 5 天)
6.1 Linux 文件系统制作
6.2 文件系统和存储设备的选择
6.3 部署 Ramdisk 文件系统的过程
第七篇 Linux 的高级应用编程( 5 天)
7.1 多进程多任务的通信机制
7.2 多进程编程
7.3 多线程编程
7.4 网络编程
总用时 15 + 7 + 7 + 15 + 15 + 5 + 5 大概两个半月
阅读(1033) | 评论(0) | 转发(0) |