Marvell-linux研究—如何超越硬件的鸿沟(讨论)

来源:互联网 发布:吉利电动车知豆d1图片 编辑:程序博客网 时间:2024/05/22 14:08

Marvell-linux研究如何超越硬件的鸿沟(讨论)

 

转载时请注明出处和作者联系方式:http://blog.csdn.net/absurd

作者联系方式:李先静 <xianjimli at hotmail dot com>

更新时间:2007-6-26

 

这篇BLOG本是计划外的,在这个系列开始的时候,虽然我认为硬件知识在开发驱动时有些帮助,但还不至于成为主要难点,所以并没有提及。事后一些热心网友为此提出异议,甚至讥笑我不懂硬件,这才引起我的反思。我承认我忽视了硬件知识在开发驱动中所起的重要作用,但是我仍然不明白,哪些硬件知识或者硬件特性,如此之难以至于成为开发驱动不可逾越的鸿沟?为此,希望大家交流一下,不管是新手还是高手都非常欢迎。

 

在前两篇BLOG中,还没有说到三句话,就被人鄙视不懂硬件,实在让我羞愧难当。好歹也学过四年的机械电子,如果软件对应的硬件是电子,电子对应的硬件无疑是机械,机械电子可以称得上硬件中的硬件了。现在大多数同学都在做模具,在机械设计和电路设计方面混得不错,纯粹靠写程序为生的,班上除了我之外可能没有第二个了。电路分析、模拟电路、数字电路、微机原理、信号处理、自动控制和机器人等课程,我每门考试都在前五名,现在提到戴维南等效定律,提到卡诺图化简,提到组合逻辑和时序逻辑,我仍然有较深的印象。在大学里电子制件时,我也是两个班第一个把收音机组装成功的。

 

现在做软件时,反而被人讥笑为硬件盲岂不冤哉,有人说花十年时间才学会写程序,难道为了做驱动程序,还得花时间十年去学硬件?呵,如果是那样,我还是不要再碰驱动好了。我承认我不会电路设计,因为我是个喜欢精确的人,当我发现复杂的电路不能用精确的公式描述时,让我非常难受,最终我彻底的放弃了硬件设计而转向软件开发,毕业后的这六七年时间里没有怎么碰过硬件,冷静下来一想,被人骂也是有道理的。

 

算了,我也不说驱动开发难或者不难了,那种口水仗吵得也没有什么意思。今天,我们讨论一下开发驱动到底需要哪些硬件知识,应该了解外设的那些硬件特性。我是门外汉,愿意洗耳恭听大家的高见,我相信这是一个本质性问题,讨论清楚后,可以让众多新手少走弯路,让所有后来者受益。

 

为了抛砖引玉,我先说说自己的一些想法,如果大家觉得不妥就只管批,而不必留情面。

 

正如一些朋友所说,在bootloader都起不来时,很难确定这是硬件的问题,还是软件的问题。这让人非常头痛,甚至是毫无头绪的,这时如果懂得硬件知识会有些帮助,可以借助万用表、示波器和逻辑分析器去定位硬件的错误,但那是不是有越俎代庖之嫌呢?如果是调试硬件问题,让硬件工程师学会使用JTAG调试工具(intelxdb),学会一些基本的汇编语言,以此去调试硬件,是不是更方便一些呢?

 

关于程序调试,非独驱动程序调试困难,上层软件调试也一样困难,在上百万行的代码中,查找一个随机出现的BUG,查找一个死锁问题,决不比调试bootloader更简单。很难去衡量调试的困难程度,它与调试者对系统的熟悉程度,调试经验,分析能力,甚至和运气都有关。我做过两年专职的调试工作,我承认那不是什么好玩工作,上次听说gigix三个月没有用过调试器了,真让人羡慕死了。

 

关于硬件特性,在datasheet里会有绝大部分的描述,反复阅读datasheet是值得的。在网上,有很多前人写的经验总结,平时应该多浏览一下,在要用到时再仔细阅读。还有一些是没有书面记录的,它们存在于高手的脑子里,多认识一些高手,多和他们交流。这些东西只是知与不知的问题,就像一层窗口纸,不知道时难度为100%,捅破了难度就变为0%了。

 

关于经验,我觉得做驱动开发经验非常重要,有的问题,如果有经验一眼就可以看出,可以省去不少调试时间。经验的积累,需要时间,与上层软件开发相比,这个过程更为痛苦。

 

手机的主要硬件有:CPU(AP)、内存、Flash(nand/nor) 、电源管理、LCD、触摸屏、背光、键盘、摄像头、充电器、USB外设、SD卡、马达、指示灯、MICSpeaker、蓝牙、红外、WLAN(wifi)和模组(GSM/CDMA),加上数字电视和GPS等可选组件,如果了解它们全部的特性,对于调试硬件问题,肯定大有帮助,那确实非常困难,估计很少有人能够做到,但那样真的有必要吗?如果没有必要,单从做驱动为目标来看,到底需要学习哪些硬件知识,了解哪些硬件特性呢?

 

没有调查就没有发言权,以上只是我的主观想法,希望大家指正。

 

~~end~~

 

 

 

 

 
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 打12345投诉没用怎么办 单位医保停了怎么办 iphonex开不了机怎么办 会计证三年没检怎么办 银行工作人员态度不好怎么办 生殖保健服务证怎么办 关机后自动开机怎么办 大连卖房户口怎么办 在警务室被辅警骂了怎么办 上海微信怎么办居住证 公共自行车卡消磁怎么办 港澳通行证到期了怎么办 徐海路大桥对面怎么办 没有买公务机票怎么办 电脑黑屏怎么办重启也没有用 航空公司原因航班取消怎么办 政府采购2次废标怎么办 车卖给别人车牌怎么办 医用耗材中标后怎么办 国六标准国五车怎么办 年审标志丢了怎么办 大专不过统招线怎么办 雅安停天然气了怎么办 调档函过期了怎么办 临时工想涨工资怎么办 辞职了职称公需课怎么办 一师一优课有账号忘记密码怎么办? 长沙转户口档案怎么办 二战迁户口档案怎么办 本人户口页丢失怎么办 户口迁出原籍档案怎么办 户口本丢了一页怎么办 户口本少了一页怎么办 户口页丢了怎么办 公司要社保卡怎么办 公务员面试缺考怎么办 word文档未标签怎么办 暂住证到期了怎么办t 考驾照没暂住证怎么办 南京暂住证过期了怎么办 南京桥北暂住证怎么办