如何成为优秀的驱动开发工程师

如何成为优秀的驱动开发工程师

ID:46422036

大小:61.50 KB

页数:3页

时间:2019-11-23

如何成为优秀的驱动开发工程师_第1页
如何成为优秀的驱动开发工程师_第2页
如何成为优秀的驱动开发工程师_第3页
资源描述:

《如何成为优秀的驱动开发工程师》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、或许这样的标题,应该是由像Linus或GregKH这样的大帅级的高手才冇资榕写的吧。但是作为我来说,也许我更想把这个标题作为一个疑问句来使用,整理一下白己的认识,用来勉励自己,和大家一起努力实现这个目标。认识肤浅的地方,还请大家见涼。何谓优秀的驱动开发工程师首先要定义,我所认为的一个优秀的驱动开发工程师,应该具备什么样的能力,这里列一下按照从易到难的顺序,个人认为应该会有几个方面的耍求吧:能够独立完成驱动的功能开发任务能够分析和优化驱动的性能,针对特定硬件扬长避短能够充分了解模块相关软唤件能力、发展方向,辅助应用工

2、程师最大化利用硬件能力能够辅助硬件工程师规划硬件设计,预防问题,谋求功能模块的最佳方案能够I办助定义系统架构,合理规划软硬件,谋求产品实现的最佳方案作为一个驱动工程师,很多吋候不是完全从头开发一个完整的子系统,而是针对特定破件和平台移植驱动,增加功能,解决Bug等等,如果从这方面外在的表现来看:解决问题的境界,大概会有这么儿个阶段:不知道哪里存在BUG不知道如何解决BUG知道如何解决BUG知道如何发现BUG知道如何规划BUG知道如何发现BUG(而不是撞上BUG)其实并不简单,需要你对系统有足够的了解,能够察觉可能出

3、问题的地方。而规划Bug更难,需要你能对问题的轻重缓急做出准确的判断。没有的完美的世界,只有适当的取舍,规避和预防。而从解决问题过程的角度来看,我认可以分为几个阶段:BUG发生->大虽:跟踪调试代码->终于发现并解决BUGBUG发牛->理论推测可能原因->迅速定位并解决BUG阅读代码->预测可能出现的BUG->证实并解决BUG号称能光凭瞄一遍代码就找到问题的高手,我想我是没希望了。应该具备怎样的素质那么要达到上诉最佳境界,需要具备和发展哪些素质和能力呢?足够的硬件知识能看简单的原理图,能够分析硬件异常的可能原因,能

4、够使用常见的便件调试工具,我想这是做为优秀的驱动工程师,区别「其它软件工程师,所不可避免、必须具备的专业素质。当然収决于你具体从事的工作,对这方面的要求不尽相同。对于驱动开发者来说,不了解所开发驱动外设的驶件原理和相关背景知识,也许很多时候,也能够完成一些移植,修补的工作任务,但这就好比无源之水,无根之木,我相信是很难走远的。多多益善的操作系统知识做驱动开发,特别是纯粹的外设的驱动移植工作,刚开始的时候,也许你并不需要了解很多操作系统本身的知识(像内存管理,进程调度,锁,各种内核子系统的原理框架等等),也能顺利完成

5、手头的一些工作。但是,如果一但需要优化驱动,需耍完善软件框架,或者是遇上疑难问题需耍跟踪解决,对操作系统,内核木身的了解,就体现出它的价值了。对于Linux内核驱动开发者,尤其如此,首先,代码是完全开源的,你冇条件去了解背后的运行机制,其次,Linux内核和各个组成子系统总是在迅速的进化发展屮,不进则退,你也有必要跟上时代发展的脚步。强烈的好奇心,持续的热情如果驱动开发不仅仅是你的爱好,更是你养家糊口的途径,我想,很多吋候,你大概不会冇机会专注于一两个你最冇经验的模块的开发和维护。随着能力的成长,势必会要求你接触和

6、掌握越来越多的各式各样的驳动模块的开发。对于这件事,包括我自己,有时候大概都会有如下儿种反应:哇,原来的工作做太久了,太乏味了,很高兴能做不同的工作。啊?又要做别的模块啊?我手头的工作已经太多了!这个模块没意思,我不想做。相信多数有志青年们都是第一种表现了8)不过,有些时候,我发觉,很多人的这种热情其实并不持久,一个新的模块没做多久,就再次庆倦了,是已经炉火纯青了么,未必,或许只是修改了儿个BUG以后不其其烦。很多时候,我面试前來求职的工程师时,发现简历上这个也做过,那个也做过,但是一但问到解决了什么问题,所做过的

7、驱动,框架、流程、原理Z类的问题的时候,就一问三不知了。我觉得如呆自己的目标是优秀,那么最起码的标准应该是对具体驱动模块相关的子系统的整体工作流程,框架,具备足够的好奇心,乐于去了解和学习,而不仅仅是为了完成任务而工作,否则的话,很难积累下扎实的经验和技术。清晰的逻辑思维能力这一点,也许是个软件开发人员都应该具备吧,不过,做为驱动开发工程师來说,有时候,人多数情况下,工作的硬件环境并不是完美的,遇到问题需要分析判断错误的原因是硬件问题还是驱动Bug,这时候,清晰的逻辑思维能力尤其重要。良好的工作习惯大多数人都不是天

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

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。