导航:首页 > 编程系统 > linux驱动工程师需要学习心得

linux驱动工程师需要学习心得

发布时间:2021-12-05 09:23:36

1. linux驱动工程师涉及一些什么方面的知识

这个你还是去google一下吧,我也说不清楚,

2. 如何成为优秀的linux驱动工程师

首先我要说明的是我是ARM嵌入式开发工程师 偏驱动方面的,虽然两个架构不同,但是原理是一样的,C语言不说你也知道重要性,注重linuxC编程,重点是字符串处理还有linux 驱动的相关书籍你必须看 而且要熟!多看IC DATASHEET如果不会看DATASHEET证明你的能力了!数字电路你必须懂 而且知道的越多越好,我写PWM驱动项目的时候吃过数字电路的亏,还有你要多写驱动,从最简单的驱动开始写,例如单个按钮驱动,只要你会写一个类型的驱动这就说明了所有类似的驱动你都行,还有一个方面的是内核!内核很重要,不要你能编写内核,但是你一定要适应内核懂内核,内核的工作模式,因为你写的驱动分分钟内核都不鸟你(就是不兼容)!

3. 请问做嵌入式linux驱动开发的工作需要对驱动熟练到什么程度才行

你好,楼主:
我可以给出一些见解,我是通过培训,然后在此行业工作了近一年。针对你的问题,不同的公司有不同的录取规则,没有一个定式。当时找第一份工作前,我也有你的这种困扰,我把我的想法说一下,希望能帮到你。
如果你作为初级驱动工程师去面试,你只需要熟悉一些重要的驱动,比如I2C、SPI,而且自己做过此类驱动的小项目,再针对公司供应职业的需求好好做足功课。这个阶段是入职后更专业地学习驱动。
如果你作为资深工程师,有多年经验,自然地对大部分驱动十分了解,比如USB、网卡、存储设备等等。
对于驱动框架啊,你一定是要了解并十分熟悉框架的,这样才可以对相应驱动程序进行填充实现其功能。在面试找工作时这个方面会更重要些,但是我认为只要你认真地研究驱动代码,是很容易掌握的,关键是信心与毅力。
“还有对驱动编写完后的配置和编译需要到达什么程度?”这个问题问的好,这是企业和公司都关心的问题,它关心着产品的市场,至于到什么程度,基本的功能你一定要很好地实现,如果时间充裕,尽量优化你的代码,使驱动占用更少的资源、更省电、数据传输更好等等。
以上为个人见解,祝成功!

4. LINUX驱动工程师成长之路.该怎么解决

初级的 大概在5K++ 深圳这边的 驱动工程师 平均工资都在9K++ 想来一般的驱动工程师都超过这个价位... linux常用的驱动 无非 声卡、网卡 这个一般都是现成的 显卡 触摸屏 等等

5. 想成为 Linux 驱动工程师,需要读些什么书

你好首先我要说明的是我是ARM嵌入式开发工程师 偏驱动方面的
虽然两个架构不同,但是原理是一样的
C语言不说你也知道重要性,注重linuxC编程,重点是字符串处理还有
linux 驱动的相关书籍你必须看 而且要熟!
多看IC DATASHEET你不会看DATASHEET证明你已经不行了!!!!!
数字电路你必须懂 而且知道的越多越好,我写PWM驱动项目的时候吃过数字电路的亏
还有你要多写驱动,从最简单的驱动开始写,例如单个按钮驱动,只要你会写一个类型的驱动这就说明了所有类似的驱动你都行
还有一个方面的是内核!内核很重要,不要你能编写内核,但是你一定要适应内核懂内核,内核的工作模式,因为你写的驱动分分钟内核都不鸟你(就是不兼容)!
驱动工程师 路漫漫其修远兮!

6. 想成为linux驱动工程师我要自学哪些书!

楼上的都过时了。现在看2.6内核的书,新出的,好像叫 Linux Kernel Architecture,很不错,
这本再加上LDD,就是linux device driver啦,这2本看完基本OK。

7. 如何成为优秀的linux驱动工程师

首先要定义,我所认为的一个优秀的驱动开发工程师,应该具备什么样的能力,这里列一下按照从易到难的顺序,个人认为应该会有几个方面的要求吧:

能够独立完成驱动的功能开发任务
能够分析和优化驱动的性能,针对特定硬件扬长避短
能够充分了解模块相关软硬件能力、发展方向,辅助应用工程师最大化利用硬件能力
能够辅助硬件工程师规划硬件设计,预防问题,谋求功能模块的最佳方案
能够协助定义系统架构,合理规划软硬件,谋求产品实现的最佳方案

作为一个驱动工程师,很多时候不是完全从头开发一个完整的子系统,而是针对特定硬件和平台移植驱动,增加功能,解决Bug等等,如果从这方面外在的表现来看:

解决问题的境界,大概会有这么几个阶段:
不知道哪里存在BUG
不知道如何解决BUG
知道如何解决BUG
知道如何发现BUG
知道如何规划BUG

知道如何发现BUG(而不是撞上BUG)其实并不简单,需要你对系统有足够的了解,能够察觉可能出问题的地方。而规划Bug更难,需要你能对问题的轻重缓急做出准确的判断。没有的完美的世界,只有适当的取舍,规避和预防。

而从解决问题过程的角度来看,我认可以分为几个阶段:
BUG发生 -> 大量跟踪调试代码 -> 终于发现并解决BUG
BUG发生 -> 理论推测可能原因 -> 迅速定位并解决BUG
阅读代码 -> 预测可能出现的BUG -> 证实并解决BUG

号称能光凭瞄一遍代码就找到问题的高手,我想我是没希望了。

应该具备怎样的素质
那么要达到上诉最佳境界,需要具备和发展哪些素质和能力呢?

足够的硬件知识
能看简单的原理图,能够分析硬件异常的可能原因,能够使用常见的硬件调试工具,我想这是做为优秀的驱动工程师,区别与其它软件工程师,所不可避免、必须具备的专业素质。当然取决于你具体从事的工作,对这方面的要求不尽相同。

对于驱动开发者来说,不了解所开发驱动外设的硬件原理和相关背景知识,也许很多时候,也能够完成一些移植,修补的工作任务,但这就好比无源之水,无根之木,我相信是很难走远的。

多多益善的操作系统知识
做驱动开发,特别是纯粹的外设的驱动移植工作,刚开始的时候,也许你并不需要了解很多操作系统本身的知识(像内存管理,进程调度,锁,各种内核子系统的原理框架等等),也能顺利完成手头的一些工作。

但是,如果一但需要优化驱动,需要完善软件框架,或者是遇上疑难问题需要跟踪解决,对操作系统,内核本身的了解,就体现出它的价值了。

对于Linux内核驱动开发者,尤其如此,首先,代码是完全开源的,你有条件去了解背后的运行机制,其次,Linux内核和各个组成子系统总是在迅速的进化发展中,不进则退,你也有必要跟上时代发展的脚步。

强烈的好奇心,持续的热情
如果驱动开发不仅仅是你的爱好,更是你养家糊口的途径,我想,很多时候,你大概不会有机会专注于一两个你最有经验的模块的开发和维护。随着能力的成长,势必会要求你接触和掌握越来越多的各式各样的驱动模块的开发。

对于这件事,包括我自己,有时候大概都会有如下几种反应:

哇,原来的工作做太久了,太乏味了,很高兴能做不同的工作。
啊?又要做别的模块啊?我手头的工作已经太多了!
这个模块没意思,我不想做。

相信多数有志青年们都是第一种表现了 8 )不过,有些时候,我发觉,很多人的这种热情其实并不持久,一个新的模块没做多久,就再次厌倦了,是已经炉火纯青了么,未必,或许只是修改了几个BUG以后不甚其烦。很多时候,我面试前来求职的工程师时,发现简历上这个也做过,那个也做过,但是一但问到解决了什么问题,所做过的驱动,框架、流程、原理之类的问题的时候,就一问三不知了。

我觉得如果自己的目标是优秀,那么最起码的标准应该是对具体驱动模块相关的子系统的整体工作流程,框架,具备足够的好奇心,乐于去了解和学习,而不仅仅是为了完成任务而工作,否则的话,很难积累下扎实的经验和技术。

清晰的逻辑思维能力
这一点,也许是个软件开发人员都应该具备吧,不过,做为驱动开发工程师来说,有时候,大多数情况下,工作的硬件环境并不是完美的,遇到问题需要分析判断错误的原因是硬件问题还是驱动Bug,这时候,清晰的逻辑思维能力尤其重要。

良好的工作习惯
大多数人都不是天才,要成为优秀的开发工程师,一需要持续努力,二需要时间积累经验,而这过程中,很重要的一点,就是要有良好的工作习惯。譬如,注意设计文档的维护,对工作中遇到的问题的记录,过往经验的及时记录,适当的软件开发流程等等。文档工作,可能很多人很不愿意去做,它的确很花费时间。不过,唉。。。老啦,好记性不如烂笔头啊 8 )。当然,其实设计文档更多的是为你提供思考的机会,而过往经验的总结,也可以起到和大家交流技术,共同进步的目的。

英语
这个也是必须的啦,没有办法,邮件列表,技术文档,社区,精通英语肯定是很大的优势,做开源项目尤其如此。阅读各种Spec标准文档之类的速度还是很重要的。阅读无障碍是一回事,能和母语一样一目十行,那才爽呀,唉,人生苦短,效率啊!光读文档,就不知道要比老外多花多少时间。。。。

了解更多开源相关,去LUPA社区看看吧

8. 想做LINUX驱动方面的工作需要学习哪些

做LINUX驱动方面的工作一般不需要用到数据库方面的知识。对内核必要的了解是非常重要的,但最为重要的是《计算机接口技术》方面的知识。

9. 怎么学Linux,往哪个方向发展比较好Linux驱动工程师怎么样啊该怎么学

linux工作主要有两个方向:
1. 网络管理员。这个方向相对容易入门一些,但薪水与前景一般。需要掌握在linux中搭建网络的知识和熟练运用脚步shell的能力。
2. 嵌入式开发。(这个领域就包括lz说的linux驱动工程师)主要使用c或c++语言,也有可能用其他编程语言。这部分入门相对困难一些,工作压力也会比较大,但薪水与发展前景都不错。
3. linux驱动设计这一部分,建议lz这样学习:
(1)买一两本linux驱动设计的经典书籍,如《linux设备驱动开发详解》,好好研读。
(2)多浏览一些有关linux驱动设计的网站和论坛。
(3)最有效的方法是:加入一个有关linux驱动设计的项目组进行学习,这样对你的成长最有帮助,但这种机会往往也很少。

10. linux 驱动工程师应该怎样炼成,我现在是大四学生,但是已经出来工作三个月了,做的也是linux驱动。

你没毕业呢,现在谈五险一金、人事档案还太早。

开发人员主要是经验,还有就是思路够不够敏捷。
所以,你先老老实实的在这个公司,好好的体会整个公司的运作和开发过程。等你拿到毕业证后再说去哪个公司的问题。

阅读全文

与linux驱动工程师需要学习心得相关的资料

热点内容
小米快科技APP在哪里关闭 浏览:898
360文件粉碎机独立版 浏览:506
安卓vr播放器最好 浏览:631
cad文件被写保护 浏览:496
150公里加急文件多少钱 浏览:755
怎么申请自己的网站 浏览:448
win10修复efi引导文件 浏览:983
苹果维修授权店上海 浏览:906
现代编程模型有哪些 浏览:400
家居魔术师教程 浏览:402
训练饮食计划制定的app 浏览:308
iphone5s一直充电 浏览:225
国内大数据医疗 浏览:437
英雄联盟鼠标指针文件夹 浏览:251
linux进程pcb 浏览:421
elm神经网络的建模与仿真 浏览:503
linux文件日志 浏览:99
2017无保qq改密码漏洞 浏览:570
怎么覆盖文件 浏览:321
一点资讯大数据库 浏览:349