一、linux 工作的分类以及培养时间
Linux 作为一个庞大的体系,有很多相关的研究领域,总结起来大致有五个方向:
1、服务器维护:需要了解 Linux 服务,熟练使用 Shell,了解网络配置。
2、服务器开发:需要学习 Linux 程序设计和 Linux 网络编程。
3、嵌入式 Linux 应用程序:需要学习 C 语言和基本的 Linux 常识。
4、嵌入式 Linux 驱动:除了需要学习“嵌入式 Linux 应用程序”的知识以外,还需要了
解简单的芯片原理以及一些电路基础知识,还需要对 Linux 内核有一定的了解”。
5、Linux 可视化应用程序:除了需要学习“嵌入式 Linux 应用程序”的知识以外,还需
要学习 GDK 或者 QT 或者 Android 的知识。
大家可以看一下网上针对 linux 工程师的招聘要求,有的要求 3 年,有的要求 7 年 8 年的。
所以 linux 的学习是一个长期的过程,学到一定程度,就可以做相关的工作了,当然工资也会
相应的提高。
二、嵌入式 arm-linux 学习的几个难点
第一个单独是刚入门的时候,开发环境难搞定。
学习搭建嵌入式 linux 开发环境给新人的感觉像一个“悖论”。你的操作系统源码以及程
序的源码需要编译,那么肯定需要编译,要编译就需要开发环境;搭建开发环境又需要通过后
面的学习和积累才能够完成~_~。
这里给大家提供的解决办法是,先用我们搭建好的编译环境,这个编译环境只需要做最简
单的调整,就可以编译学习中大部分的源码,满足学习的需要。在学习了一段时间之后,大家
再根据实际情况回过头来“学习搭建开发环境”。
搭建开发环境编译操作系统的源码,比大家想像的要麻烦。有些知识点手册上是没有的,
甚至没有中文的相关文档,假如将来有需要,可以在工作中再学习,比如构造编译器,生成各
种第三方库文件等等。
第二个是容易误入歧途,很容易把学习路线搞歪了。
大家心里一定要明确,你要学习什么,什么才是重要的。嵌入式 linux 的最大的特点是学
习的太杂了,在学习过程中,大家肯定会在网上搜索相关的知识点,当然这是一个好习惯,值
得鼓励。
但是很多知识点,对于嵌入式 linux 工程师来说,只是需要浅尝辄止。有的只需要知道怎
么用,把它当做工具;有的只需要明确这样一个概念,帮助大家后续的学习……在这个过程中,
我们会时常提醒大家,“这个知识点学习到实验手册的程度就可以了”“学习了视频教程,看
一下我们提供的额外文档”“这个知识点,可以更加深入的理解,通过网络多多看文章”。
第三个是学习曲线陡峭,经常出现一座座小山头。
在嵌入式 linux 的学习中,会经常出现难于理解的地方,一般这些地方就会设计到“框架”,
“编程思想”等等这样一些非编码的知识。如果是代码的问题,还好解决,带大家看一遍或者
写一遍就搞定了。碰到有难度的地方,说明学习进入了一个小高峰,攀登过去就上了一个小台
阶了。这里给大家的建议就是“多上网看看相关的文章”“多和大家在群里交流”“也可以和
我们多交流”。