对于想要从事嵌入式软件的同学来讲,学习路线是非常重要的,因为嵌入式体系太庞大了。因为本人是学习的Linux操作系统,所从事的工作为底层驱动开发,所以以下内容是针对Linux操作系统底层驱动开发的学习路线,是本人在两年半的学习摸索以及向大佬们请教所得,并且在工作中验证这个方法可行。以下内容是进行的总结,具体的技术知识可以和我交流。(QQ156361482)
- Linux底层驱动需要掌握的模块
1.1C语言
这是基本功,从事嵌入式软件开发,根本离不开C语言,庞大的内核体系就是采用C语言。这一部分的要求是一定要深入理解,可以用阅读内核源码的方式检验自己的学习成果。
1.2Linux四件套
Uboot:不需要深入,了解启动流程和作用就够了,实际工作中一般都是现成的。
Kernel:不需要深入,会使用就可以。
根文件系统:了解每个文件的作用就可以。
驱动:这是从事底层驱动开发人员所要进行的核心工作,主要是字符设备驱动,学习驱动的要点在于掌握它的框架,因为目前大多数驱动都是内核提供的,只需要按照项目需求进行修改即可,但是框架和思想很重要,比如内核中的面向对象思想。
1.3应用程序
应用程序主要是从事Linux应用开发的人员,主要用到的技术是C,网络编程,数据结构与算法等。
1.4硬件知识
这一部分只需要了解并即可,比如ARM架构,各种外设,等工作中用到哪个模块再深入学习即可,会看原理图即可。
- 面试经验
对于面试经验来讲,一句两句说不清楚,从企业消息获取,简历制作,项目如何优化(吹牛)并圆场,面经的侧重点背诵,笔试面试的技巧等等,尤其是对于非科班的同学,在面试中有很多技巧,这里我将用文档进行总结,大家可以来找我交流。(QQ156361482)