嵌入式Linux学习七步曲

2019-07-12 20:29发布

    嵌入式 Linux 学习七步曲 Sailor_forever sailing_9806@163.com 转载请注明 http://blog.csdn.net/sailor_8318/archive/2007/09/03/1769662.aspx   【谢谢大家关注】七步曲的全部PPT在此, word版还在整理中~
http://blog.csdn.net/sailor_8318/archive/2009/12/28/5094636.aspx
  【序】学习 Linux 开发近一年,由于我是实验室第一个从事这方面开发的,学习过程中遇到了很多问题,可是总是求师无门,只能一个人自己摸索,同时也充分利用了网络,参考了广大 CSDN 博友及相关论坛的帖子,在此表示感谢!     嵌入式 Linux 的学习涵盖的范围比较广,下从 bootloader ,到内核移植、文件系统,中间的驱动开发,到上层的应用程序调试、开发环境等,变化莫测,经常是别人的能用自己的就有问题。   由于缺乏他人适当指点,自己在学习过程中也走了很多弯路,整个开发环境的搭建整了 N 久,更搞笑的是经常听说模块加载 insmod ,可连这个命令在主机还是 ARM 上用都没搞明白,那叫一个汗啊!大家勿笑,嵌入式 Linux 的初学者确实对交叉环境比较不懂,我是其一啊。   现在适逢好友要学习嵌入式 Linux ,就将近一年来的学习体会总结下,整理了一个总体的学习计划,希望给那些曾经像我一样彷徨的人一些帮助。后续将完善此文档,上传到个人空间上,先贴出目录。本人水平有限,不当之处,还请大家指正!     Sailor_forever September 3, 2007   *****************************************************************************     1    第一篇 Linux主机开发环境(15天)    3
1.1    Linux的安装    4
1.1.1    Vmvare下Linux的安装(优先)    4
1.1.2    Windows下从硬盘安装Linux(可选)    4
1.1.3    光盘直接安装(可选)    4
1.2    Linux的基本命令及使用    4
1.3    Linux与windows的文件共享    4
1.3.1    Samba    4
1.3.2    Mount    4
1.3.3    共享文件夹    4
1.4    GCC开发工具    4
1.5    Makefile编写    4
1.6    简单应用程序    4
1.7    GDB调试    4
1.8    主机端的模块编程    4
2    第二篇 嵌入式Linux交叉开发环境(7天)    4
2.1    交叉开发环境介绍    5
2.2    交叉编译器cross-tool    5
2.3    配置主机开发环境    5
2.3.1    串口    5
2.3.2    TFTP网络下载    5
2.3.3    NFS主机端网络服务    5
2.4    建立交叉开发环境    5
2.4.1    配置目标板上的NFS客户端    5
2.4.2    GDB和GDB Server    5
2.5    交叉调试应用程序    5
2.6    ARM上的简单模块编程    5
3    第三篇 Linux系统bootlaoder移植(7天)    6
3.1    Bootloader基本介绍    6
3.2    U-boot介绍    6
3.2.1    代码结构    6
3.2.2    U-boot命令    6
3.2.3    环境变量    6
3.2.4    启动流程    6
3.3    U-boot移植过程    6
3.4    U-boot如何启动内核    6
3.4.1    启动流程    6
3.4.2    如何制作启动映像    6
3.4.3    启动参数    6
4    第四篇 Linux的内核移植(15天)    6
4.1    Linux内核的配置编译    6
4.1.1    Linux内核源代码结构    6
4.1.2    Linux内核编译选项解析    6
4.1.3    Linux内核编译链接    6
4.2    Linux启动流程    6
4.3    Linux内核移植    6
5    第五篇 Linux的内核及驱动编程(15天)    7
5.1    Linux的设备管理    7
5.2    Linux驱动程序结构    7
5.3    简单的字符设备驱动程序    7
5.4    Linux内核模块的加载卸载    7
5.5    驱动的调试方法    7
5.6    字符设备的高级属性-中断    7
5.7    内核的同步互斥机制    7
6    第六篇 文件系统制作(5天)    7
6.1    Linux文件系统制作    7
6.2    文件系统和存储设备的选择    7
6.3    各种文件系统的制作实例    7
7    第七篇 Linux的高级应用编程(5天)    8
7.1    多进程多任务的通信机制    8
7.2    多进程编程    8
7.3    多线程编程    8
7.4    网络编程    8     总用时 15 7 7 15 15 5 5 大概两个半月