<五>
【序】学习Linux开发近一年,由于我是实验室第一个从事这方面开发的,学习过程中遇到了很多问题,可是总是求师无门,只能一个人自己摸索,同时也充分利用了网络,参考了广大CSDN博友及相关论坛的帖子,在此表示感谢!
嵌入式Linux的学习涵盖的范围比较广,下从bootloader,到内核移植、文件系统,中间的驱动开发,到上层的应用程序调试、开发环境等,变化莫测,经常是别人的能用自己的就有问题。
由于缺乏他人适当指点,自己在学习过程中也走了很多弯路,整个开发环境的搭建整了N久,更搞笑的是经常听说模块加载insmod,可连这个命令在主机还是ARM上用都没搞明白,那叫一个汗啊!大家勿笑,嵌入式Linux的初学者确实对交叉环境比较不懂,我是其一啊。
现在适逢好友小布丁要学习嵌入式Linux,就将近一年来的学习体会总结下,整理了一个总体的学习计划,希望给那些曾经像我一样彷徨的人一些帮助。后续将完善此文档,上传到个人空间上,先贴出目录。本人水平有限,不当之处,还请大家指正!
小布丁同学曾在我处于困境时一如既往的理解我支持我,给我信心给我鼓励,谢谢你,美丽开怀的小布丁,希望你能happy and fascinating forever!
谨以此文献给我们永远可爱迷人的小布丁!
Sailor_forever
September 3, 2007
*****************************************************************************
第一篇 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天)
总用时 15+7+7+15+15+5+5 大概两个半月