找回密码
 注册
搜索
查看: 1209|回复: 3

Marvell-linux研究--序

[复制链接]
发表于 2007-6-21 14:24:52 | 显示全部楼层 |阅读模式
尽管在和同事聊天时,我多次提到对驱动开发不感兴趣,不会去做驱动开发工作,不过考虑了几天之后,最终我还是决定写一个关于Marvell-linux的系列。呵,为了能够自圆其说,避免大家笑我出尔反尔,这里写个序,澄清一下我的想法。

我一向认为做驱动开发不适合作为职业目标发展,原因有:
1.       现在的芯片生产商会提供驱动程序的参考实现,在芯片生产商的公司里做驱动开发,那是有钱前途的,对技术能力要求也比较高,但是国内的芯片生产商很少,所以这种机会也很少。在国内,所谓的驱动开发,主要是移植和调试,这活儿比较单调,没有什么技术含量,而且总是处在关键路径上,可以说费力不讨好。

2.       驱动开发并不难,如果想做很快可以上手。奇怪的是很多朋友都认为做驱动开发很难,认为做驱动的程序员都是高手。一些新手以为做驱动开发就是写汇编,心理上有些抗拒,这也可以理解的。其实这是一种误解,现在做驱动开发只需要写很少的汇编,甚至不用写汇编。如果真要说做驱动开发难,我觉得其难在于:调试内核代码不太方便,要熟悉内核和基本函数,要熟悉芯片对应的datasheet。其实这都不是什么大问题,只要你静下心来,去读代码,去读文档,去练习,我想不出5个月,你就可以成为驱动开发的熟手了。

3.       未来(甚至现在)软件开发的核心在于复杂度控制,而非驱动开发。在前一家公司里,元老都是做驱动出身的,非常重视调试技能,而忽视架构设计,结果一个项目产生出超过10K的BUG,这种方法只适合传统的嵌入式开发,不适合现代大规模的软件开发。随着硬件能力的增强,用户期望的膨胀,软件的复杂度呈指数倍增长,而人的智力在原步踏步,所以控制软件的复杂度才是关键,而且软件架构设计是控制软件复杂度的主要方法之一,所以我觉得软件架构设计师比驱动开发人员更有前途。

基于以上原因,加上自己一直很忙,所以我没有去研究驱动开发。而这次我准备花大力气去研基于Marvell芯片的linux平台,是否有违初衷呢?答案当然是不,原因是:

1.       工作上的需要。我们团队在软件架构设计方面,在应用程序开发方面,在国内也算是比较出色的,由于驱动方面不是我们关注的重点,所以这方面比较欠缺,现在看来,这方面的工作量比较预想的要大得多。所以我打算多花点时间看看,到时候可以作为替补也好。

2.       艺多不压身,多学习一些知识没有坏处。作为一个系统架构师,不能因为自己的偏见(如果我对驱动开发的观点是偏见的话)影响架构设计,最近发现对于依赖硬件平台的应用程序,它的架构设计与底层硬件和驱动有密切关系,数码相机就是一个典型的例子,我开始认为只要基于v4linux,可以做到硬件无关,同事最近验证那样会有严重性能问题,结果最初的架构可能要重新设计。

3.       给写BLOG找点素材。最近主要是做code review,没有研究什么新东西,写BLOG没有什么好的题材,研究一下基于Marvell芯片的linux,可以为BLOG提供不少素材。呵,初步估计一下,写个几十篇问题不大。现在专门讲内核编程和驱动开发的书籍多如牛毛,而针对特定平台的开发资料很少,写点这方面BLOG相信也是有价值的。

在linux驱动开发方面,我是标准的新手,所以在开始的几篇BLOG,可以会显得比较幼稚,希望大家多多指点。这样也有它的好外,因为从新手的观点来写,对于新手遇到的具有共性的问题阐述得更清楚,对新手更有参考价值。

不管怎样,我会尽力把这个系列写好的。
发表于 2007-9-6 11:01:56 | 显示全部楼层
blog在什么地方?
点评回复

使用道具 举报

发表于 2007-9-6 12:49:56 | 显示全部楼层
加油!支持你!刚毕业我也在学Linux驱动,工作安排,不管有没有前途我都会努力的,相信任何事做的好都是一样能证明自己的
点评回复

使用道具 举报

发表于 2014-1-18 22:30:28 | 显示全部楼层
没有资料的吗?
点评回复

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies

本版积分规则

Archiver|手机版|小黑屋|52RD我爱研发网 ( 沪ICP备2022007804号-2 )

GMT+8, 2024-4-20 08:59 , Processed in 0.044652 second(s), 16 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表