开放源码硬件对初级嵌入式工程师的意义。

嵌入式工程师的定义非常宽泛,有搞硬件的,有搞软件的。 这篇文章,专门写给嵌入式软件工程师。

对于仅仅熟悉嵌入式软件的工程师,在这里,简称初级嵌入式工程师。

嵌入式软件工程师在学校受的教育,大约是学过数字逻辑,微机原理,单片机,C语言什么的,电类专业的基础课大约都是这样滴。   好一点的学校还会有DSP, FPGA等课程。吃饭的家伙一般是C语言,以后的知识来源就是在工作中自己摸索了。

上世纪90年代,我还在深圳工作,热衷于玩linux,  有一天和朋友聊起一个项目,问我能不能做, 内容大约是做一种仪器,能够无接触测量大型高速运转的带有转轴的机械的轴是否变形。传感器当然是用激光脉冲, 算法已经有了。 我经过一番计算,根据激光脉冲的频率,计数器长度, 算法的复杂度,中断的频繁度,得出了现有嵌入式系统根本无胜任的结论。  几年后朋友见面,已是今非昔比,他的产品已经红遍大江南北,噱嘘之余,忍不住询问当初他是怎么设计出来被我死刑的产品的。 答案很简单,找了一个高手,用FPGA在嵌入式的基础上,做了一套外设,用硬件解决了问题。 哎,我怎么就没想到呢?

现在想想,就算我想到了,做出来也不容易,就我那三脚猫的VHDL功夫,做个译码器计数器还成,要做算法进去,那个时候,光乘法器调通就够你喝一壶的,更别说FFT了。

搞嵌入式软件的捷径, 就是拿别人的东西来抄,然后根据自己的需要改改就可以了。如果从头写,不知道要浪费多少时间。 在90年代,Linux还没有那么盛行,互联网也没有这么发达,我还在华为操作系统部工作, 当时我们部门的老胡在一周内完美的解决了下载数据的压缩问题,被我们惊为天人,现在想想,一定是从GNU中下载了一个压缩软件的源代码,此为题外话。

因此,搞嵌入式软件的工程师,如果想要解决一些棘手问题,将思维从中断,定时器,GPIO 解放出来是第一步,用硬件的方式思维一下,可能会有意外收获,   而第二步, 能有东西可抄, 才能坚定将问题解决的决心。

有了开放源码硬件,对初级嵌入式工程师来讲,就有了可抄的东西, 起了壮胆的作用。

比如说,以前做手机的嵌入式工程师,熟悉的平台搞了很多年,突然市场上流行全键盘了,要接ATAPI-6了, GPIO不够用了,怎么办 ? 等下一款SOC出来? 6个月之后,老外的手机全有了,这边SOC还在测试哪,怎么办? 打民族牌?  

这时候,你要是站起来,说,用CoolRunner-II  CPLD, 做一个接口扩展吧,代码可以抄来的。。。,只需加不到一个美金的成本,3天搞定。。。。。。。 你的经理估计会抱着你猛亲几口!

呵呵,这就是开放源码对初级嵌入式工程师的意义

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

投 票

觉得本文不错,投一票   

评 论

  • guiling  2007-6-6 20:13:46
  • guiling
    谢博士分析透彻,有意思.我就是做软件的,做事过程中确实遇到这个现实问题,有开源还是很有价值
  • 赛灵思科技深圳分部工  2007-6-6 20:20:32
  • 赛灵思科技深圳分部工
    哈哈.有点意思.没看出,kavin文笔还这么好,为我们长脸.
  • 沉思一会  2007-6-6 20:25:22
  • 沉思一会
    搞嵌入式软件的工程师,如果想要解决一些棘手问题,将思维从中断,定时器,GPIO 解放出来是第一步,用硬件的方式思维一下,可能会有意外收获, 而第二步, 能有东西可抄, 才能坚定将问题解决的决心。_____非常精辟和实用.到底是博士
  • 大雷雨天  2007-6-7 10:45:27
  • 大雷雨天
    有价值,期待新的文章
  • sky  2007-6-7 10:59:57
  • sky
    此文有广告之嫌!
  • laoluo  2007-6-7 15:11:46
  • laoluo
    不错,多一些开放的源码,有时候做起来很快。
  • jingjing   2007-6-8 10:03:04
  • jingjing
    好象没你说的这么有意义吧
  • 嵌入式在线网友  2008-1-29 15:53:51
  • 嵌入式在线网友
    我想软件和硬件的作用都是实现某种功能吧。当软件解决不了的时候,这说明支持的硬件不能满足要求,当然硬件可以解决。毫无疑问的是,硬件把所有问题都可以解决,关键是软件能够优化硬件的性能,运行更加稳定,降低成本,所以设计出来这样的系统是不容易滴。


验证码: 看不清?换一张