作为一个嵌入式Linux的初学者,我知道我可能将长期处于初学者阶段,因为我至今仍然没有能够摸索出一条很好的道路让我由初学者进入到更高级阶段。但是我始终没有放弃,本篇文章就是用来记录我学习嵌入式Linux的历程。我想,通过不断编辑,不断总结修改本文,或许我还真能够探索出一条最佳的路线来,但愿最终能够帮到那些后来人吧。同时,也希望看到这篇文章的高手们能够给小弟指一条明路,小弟将不甚感激。

第一阶段 熟悉平台

  工欲善其事,必先利其器。既然是学习Linux,那么必然需要先安装一个Linux的发行版,当然你可以直接在你的PC机上面安装一个Linux系统(如Ubuntu、CentOS等),也可以在虚拟机上面安装,Windows用户和Mac OS用户可以选择这种方式,也可以装一个双系统,小弟选择的这种方式,感觉不错,可以在网上搜相关的教程。

  系统安装好以后,就需要熟悉Linux中的常用shell命令了,比如如何创建文件或目录,如何使用vim编辑代码等等。学会了这些shell命令之后,还需要学习如何安装软件,因为系统不可能将我们需要使用到的软件全部安装,所以我们还是需要使用某一种包管理器安装一些其他包或者第三方软件。在不同的Linux发行版中,安装软件的方式是不同的,比如Ubuntu中使用的是apt-get,而CentOS中使用的是yum,所以我们需要根据自己使用的系统平台来选择对应的安装方式,这个可以在网上搜到很多相关的资料。

第二阶段 学习Linux平台上的程序开发

  对系统平台有了一定的了解后,就需要开始学习开发程序了。这个时候就需要熟悉GCC(GNU Compiler Collection),最开始可以编写一些简单的单个源文件的程序,重点在熟悉GCC 的编译流程,熟悉常用命令,学会使用GDB调试的方法。对这些常用的命令有一定的了解之后,就可以开始加大难度了,开始编写由多个源文件组成的复杂程序,这个时候的编译方法就有待改进了,这个时候我们就需要使用make来编译多个源文件,这一阶段主要是学习makefile的编写(现在正在学,2013-06-25)。

  当然,不是说你对以上的工具都熟悉了就能够看懂操作系统的源码了,这还需要你有一定的编程功底的积累,其中最重要的就是C语言高级特性以及数据结构。最近看到uC/OS-II的基础知识(《嵌入式实时操作系统uC/OS-II原理及应用(第2版)》任哲 北京航空航天大学出版社)时就遇到了关于函数指针和一个代码控制块的结构问题,有点困惑了(2013-06-26)。

嵌入式Linux学习记录表
阶段标记 阶段任务 起始时间 结束时间 完成状态
第一阶段 安装Linux系统(CentOS6.4) 2013-06-23 2013-06-23 完成
  学习Linux中常用的Shell命令 2013-06-25    
  学习Linux中软件包的安装方法 2013-06-26    
第二阶段 学习单个源文件的编译调试方法      
  学习makefile的编写      
         
         

学习嵌入式Linux有没有一个最佳的顺序(持续更新)的更多相关文章

  1. 【Linux系列汇总】小白博主的嵌入式Linux实战快速进阶之路(持续更新)

    我把之前在学习嵌入式Linux和工作中遇到问题和相关经验等,一起整理到这里,方便自己查阅和学习,温故而知新,如果能帮助到您,请帮忙点个赞: 本文的宗旨 嵌入式Linux 的项目通常需要一个团队来开发, ...

  2. 作为一个新人,怎样学习嵌入式Linux,(韦东山)

    很早以前在网上看到的韦东山老师写的文章,复制到自己的博客,方便自己以后看. 在学习嵌入式Linux之前,肯定要有C语言基础.汇编基础有没有无所谓(就那么几条汇编指令,用到了一看就会). C语言要学到什 ...

  3. 作为一个新人,如何学习嵌入式Linux?

    作为一个新人.如何学习嵌入式Linux?我一直在问太多次,特写文章来回答这个问题. 在学习嵌入式Linux之前.肯定要有C语言基础.汇编基础有没有无所谓(就那么几条汇编指令,用到了一看就会).C语言要 ...

  4. 作为一个新人,怎样学习嵌入式Linux

    作为一个新人,怎样学习嵌入式Linux?被问过太多次,特写这篇文章来回答一下. 在学习嵌入式Linux之前,肯定要有C语言基础.汇编基础有没有无所谓(就那么几条汇编指令,用到了一看就会). C语言要学 ...

  5. (转)作为一个新人,怎样学习嵌入式Linux?(韦东山)

    被问过太多次,特写这篇文章来回答一下.   在学习嵌入式Linux之前,肯定要有C语言基础.汇编基础有没有无所谓(就那么几条汇编指令,用到了一看就会).C语言要学到什么程度呢?越熟当然越好,不熟的话也 ...

  6. 作为一个新人,怎样学习嵌入式Linux?

        作为一个新人,怎样学习嵌入式Linux?   在学习嵌入式Linux之前,肯定要有C语言基础.汇编基础有没有无所谓(就那么几条汇编指令,用到了一看就会).尝试着写一些C语言竞赛的题目.它们是纯 ...

  7. 作为一个新人,怎样学习嵌入式Linux?(韦东山)

    这篇文章是引用韦老师的部分关于新人怎么学习嵌入式Linux的经验,引用如下: 1.电脑一开机,那些界面是谁显示的?是BIOS,它做什么?一些自检,然后从硬盘上读入windows,并启动它. 类似的, ...

  8. Linux系统各发行版镜像下载(持续更新)

    Linux系统各发行版镜像下载(持续更新) http://www.linuxidc.com/Linux/2007-09/7399.htm Linux系统各发行版镜像下载(2014年10月更新),如果直 ...

  9. 浅淡个人学习嵌入式Linux过程

    我专业是电子信息工程,在初入大学的时候,我们的班主任便要我们多多去了解一些关于电子方面的知识.后来我了解到了嵌入式,继而了解到了嵌入式Linux.其实我们学习linux差不多就学习linux内核,但是 ...

随机推荐

  1. 设备旋转,创建水平模式布局--Android studio

    1.在项目工具窗口中,右键单击res目录后选择new--Android resource directory菜单项. 2.从资源类型Resource type列表中选择layout,保持Source ...

  2. VirtualBox共享文件夹等高级特性

    转自: http://blog.csdn.net/longerzone/article/details/32119457 http://www.oschina.net/translate/10-vir ...

  3. 本地搭建Dubbo监控中心的安装步骤

    Dubbo监控中心的安装步骤 参考链接:http://blog.csdn.net/lichunan/article/details/40349645 一.从github上下载dubbo源码进行编译: ...

  4. 关于DPM(Deformable Part Model)算法中模型结构的解释

    关于可变部件模型的描写叙述在作者[2010 PAMI]Object Detection with Discriminatively Trained Part Based Models的论文中已经有说明 ...

  5. android的init过程分析

    前言 Android系统是运作在linux kernal上的,因此它的启动过程也遵循linux的启动过程,当linux内核启动之后,运行的第一个进程是init,这个进程是一个守护进程,它的生命周期贯穿 ...

  6. ADO.NET 总结

    一.简单介绍ADO.NET System.Data:DataTable,DataSet,DataRow,DataColumn,DataRelation,Constraint System.Data.C ...

  7. iframe框架的应用

    同学接私活,我写几个页面. 后台系统,点击侧栏菜单后,右边div的要显示对应的内容.就是说,没选一下左边的菜单,右边的内容都要变化. 这次首先尝试了一下Oldfasional办法--iframe框架. ...

  8. JAVA_SE基础——27.匿名对象

    黑马程序员入学blog... 匿名对象:没有引用类型变量指向的对象称作为匿名对象. 匿名对象要注意的事项:1. 我们一般不会给匿名对象赋予属性值,因为永远无法获取到.2. 两个匿名对象永远都不可能是同 ...

  9. linux命令之vmstat

    vmstat 参数 功能:报告虚拟内存.swap.io.上下文和 CPU 统计信息. 分析了这些文件: /proc/meminfo /proc/stat /proc/*/stat 常用选项: -a 打 ...

  10. [Memcached] telnet命令

    一:连接命令 在windows下的cmd或者Linux执行 telnet 127.0.0.1 11211 (如果此处报错"telnet不是内部或外部命令",一定是没有安装telne ...