嵌入式linux学习步骤(三)

时间:2022-05-13 19:59:35

<>

【序】学习Linux开发近一年,由于我是实验室第一个从事这方面开发的,学习过程中遇到了很多问题,可是总是求师无门,只能一个人自己摸索,同时也充分利用了网络,参考了广大CSDN博友及相关论坛的帖子,在此表示感谢!

 

嵌入式Linux的学习涵盖的范围比较广,下从bootloader,到内核移植、文件系统,中间的驱动开发,到上层的应用程序调试、开发环境等,变化莫测,经常是别人的能用自己的就有问题。

 

由于缺乏他人适当指点,自己在学习过程中也走了很多弯路,整个开发环境的搭建整了N久,更搞笑的是经常听说模块加载insmod,可连这个命令在主机还是ARM上用都没搞明白,那叫一个汗啊!大家勿笑,嵌入式Linux的初学者确实对交叉环境比较不懂,我是其一啊。

 

现在适逢好友小布丁要学习嵌入式Linux,就将近一年来的学习体会总结下,整理了一个总体的学习计划,希望给那些曾经像我一样彷徨的人一些帮助。后续将完善此文档,上传到个人空间上,先贴出目录。本人水平有限,不当之处,还请大家指正!

 

小布丁同学曾在我处于困境时一如既往的理解我支持我,给我信心给我鼓励,谢谢你,美丽开怀的小布丁,希望你能happy and fascinating forever

 

谨以此文献给我们永远可爱迷人的小布丁!

 

Sailor_forever

September 3, 2007

 

*****************************************************************************

 

 

第一篇 Linux主机开发环境(15天)

 

1.1 VmvareLinux的安装(优先)

1.2 Windows下从硬盘安装Linux(可选)

1.3 Linux的基本命令及使用

1.4 Linux的文件系统及与windows的文件共享

1.5 GCC开发工具

1.6 GDB调试

1.7 Makefile编写

1.8 主机端的模块编程

1.9 简单应用程序

 

第二篇 ARMLinux开发环境(7天)

 

2.1 交叉开发环境介绍

2.2 交叉编译器cross-tool

2.3 配置主机开发环境

2.3.1 配置超级终端minicomhyperterminalDNW

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天)

 

总用时 1577151555 大概两个半月