2007年底我发表了一篇文章"我与单片机和嵌入式系统20年",后经热心的媒体朋友推荐在几个网站上刊登并受到了许多读者关心和反馈。更多意见是希望我能把从业这20年心得分享给年轻的工程师朋友,仔细考虑一下的确很有道理。20年时间电子技术已经有几代的变化,过去认为的高新科技,今天是萝卜白菜。但是掌握坚实的专业基础,捕捉机遇,树立信心一直都是不变应万变的人生必修课程。我愿意借下面这篇短文和大家分享我的体会,里面即有成功的喜悦,也有失败的挫折、遗憾和惋惜。 硬件是本 1984年大学毕业,我被分配的第一份工作就和计算机硬件密切相关-测试和维修,研究所事业部领导的解释也是合情合理的——你是男同志,学自动控制的,其他同届分配来的多数是学计算机的,女同志也占多数。我开始还老大不情愿,时不常地往科室里面跑,总想多学习点编程方面的技术。但是很快,同事们都跑过来找我请教了,因为那个时候的计算机可要比现在的PC复杂得多,我们研究所的专业方向是工业控制,那就必须和外设、接口、驱动打交道。如果一点不了解处理器、寄存器、接口电路、外设、程序是没法设计和测试的。因为工作的特点,我首先学习和掌握的就是这些东西,例如,通过编写8255驱动打印机的测试程序,可以完整地把CPU的I/O电路、8255器件和外接口测试好。一段时间以后,我对计算机的陌生、胆怯的心理一扫而光,上学时候更本没有机会看的CPU,存储器,磁盘,电源现在都有机会亲自组装,亲自把操作系统安装上去(那时并不像现在的WinXP这样简单),我们使用的是微型机,光是操作系统的8寸软盘就多达十几张,或者几盘磁带,安装一般需要几小时,而且系统还没有任何中文标志。 这些和硬件打交道的经历加上2000年我的研究生毕业设计课题——一个电网控制系统的项目,另外,下海后参加数字程控交换机、移动电话基站的项目都是实实在在的硬件设计,其中一个设计是基于8086的主板,另一个是设计386的主板,都要求运行实时多任务操作系统。整个系统很复杂,当时的器件集成度低,调试手段也没有现在ARM的JTAG方便,但是掌握了硬件设计,调试和生产的基础对于我的专业素质大有提高,这些经历为我之后投身嵌入式事业奠定了基础。 学习的力量 大家都知道学习的重要性,我想说的是,如果你热爱现在的专业,希望在这个方向上有更深发展,那么尽可能多地积累这个专业的知识是你未来成长的基础。1988年我得到一个考研的机会,当时的领导不希望我报考研究生,他表示计划安排我到美国参加培训,当时能够去美国的机会并不多,但我考虑再三后,还是决定放弃出国的机会。因为通过几年的工作实践,我深深感到自己计算机专业基础知识不够坚实,因我一九八几年在大学本科学习的是FOTRAN语言和大型机,而后来研究生课程的C语言和软件工程的课程都更适合一九九几年的情况。两年的研究生学习虽然使我在某些方面损失了一些,却为我之后十几年突飞猛进的成长和进步奠定了厚实的基础,也为我之后下海创业平添了一份自信和力量。 学习不仅是进入学校学习,更是一个持续持久的过程。从我最初在研究所里接触微型机、单板机和实时操作系统,到嵌入式操作系统、通信协议、嵌入式数据库,再到手机软件,转变相当大,而专业领域却一直以嵌入式系统为核心,这块我投入的精力最大,也最喜爱:从VRTX,uC/OS-II到Linux和MontavistaLinux,对这些产品从了解、谈判、市场、技术支持到培训、项目开发我参与了几乎所有过程。 技术上,即使同属于嵌入式操作系统,彼此之间也有差异:内核原理、API、BSP、文件、网络、图形模块均不一样,尤其是转到嵌入式Linux后,我发现它和以前的嵌入式操作系统之间存在很大差异,转变就要为之付出相应的汗水、辛劳。 通信产业在20世纪80年代末蓬勃发展,国内的通信企业纷纷仿效国外对手投入巨资研发先进的通信设备。嵌入式操作系统、网络协议和开发工具等嵌入式软件立刻有了广阔的用武之地。我从1984年开始接触实时操作系统,当转向网络协议,特别是电信协议时,对我一个计算机专业的人,其困难可想而知了,即使只学习个皮毛也不得不下一番苦功夫,那怎么去学呢?我的方法是:一、向厂家学——我和公司的技术人员专门到波士顿附近的Netplane和加州附近的Telenetworks参加培训,虽然花钱又吃力,但是收获不少;二、向用户学——东方通信和上海贝尔(现在的阿尔卡特)是我们的用户,记忆特别深刻的是东方通信,他们朴实热情。如此反复几十次的谈论和培训让我和同事都很快成长起来。手机是90年代后流行的通信和消费电子产品,中国企业也在此期间进入这个领域。开始是组装生产,后来是自主设计。手机虽小,五脏俱全,除了通信工作外,现在越来越多的手机增加了多媒体、PDA、照相、互联网功能,这些多是典型的嵌入式系统。手机通讯部分一般是由基带芯片公司设计完成,国内手机厂商主要是完成应用系统设计——嵌入式系统。因为当时与montavista合作,而摩托罗拉又在使用这个软件,于是我们在2004年进入手机这个圈子,机遇是全球兴起了一股智能手机浪潮,Nokia使用Symbian,摩托罗拉使用Linux,还有微软windowsmobile得到了许多中国台湾公司的支持,摩托罗拉A760系列在中国市场的巨大成功激励了中国手机企业加入Linux智能手机开发队伍。 手机设计有相当多的特殊要求,就电源管理而言,因为手机是一个关键应用装置不同与一般的消费电子产品,手机能耗的指标好坏直接影响产品销路,电源管理和应用处理器、OS(比如Linux)、驱动程序、应用软件、手机的硬件(LCD大小等)都至关重要,我和公司技术人员花了大量的时间研究这个问题,特别是基于Linux的电源管理的方式,公司技术人员通过支持我们的montavistalinux手机用户的实践,理解和掌握了具体的方法。最近我和他们一起撰写的"嵌入式系统电源管理软件的比较"刚刚在某杂志发表,有兴趣的朋友可以交流。 嵌入式系统技术和知识更新很快,所以学习永远是进步和成功的源泉。 坚持才能成功 这里想要说的是,无论做任何的事情总是有顺利和不顺利的时候,有失败的悲伤,也一定会有成功的喜悦,但是无论如何一定要坚持,坚持才有希望。
|