从大学本科开始,就从事着跟嵌入式相关的工作,至今为止,没有脱离“囹圄”。
同时,我也在反思,嵌入式的目标在哪里。
在学校的时候,就跟着老师做项目。用单片机做各种工业用的仪器和设备。自己选件,自己设计电路,自己画电路板,自己焊接,自己编程调试。现在想来,那确实是一段优秀的经历。很多做嵌入式的人是从应用软件转过来的,他们对硬件了解很低级,遇到硬件就头疼。可是想自己从头开始学,有没有那么多的资源。就算某些人,可以读懂电路图,却无法知道如何选件,如何设计,如何布线和制版。那是需要烧钱的。不是所有人都会为了学习,自己制作电路板的。而且少数几次作板的经验,不会知道更深层次的东西。
在一个充满竞争的嵌入式软件的外包公司,唯一可以确认的就是自己的硬件功底。
以前总觉得自己什么都不会,觉得单片机是个极为简单普通的东西。但,现在看来,单片机是非常好的基础。
毕业以后,接触了许多新鲜的东西。接触的领域也开始向软件方向发展。首先,接触的是blackfin的芯片,也是很有意思的经历,这款adi的芯片相信大多数arm玩家都不会接触到。我依然把它当做单片机来对待,用单片机的方法驱动dma,做出了vga的驱动。同样,做了音频的测试程序。 真的是很傻很天真啊!
后来,又研究了jtag的协议,自己按照协议写了简单的jtag软件。发现真的是很底层啊。
终于,接触了 intel的atom,moblin。还有nokia的meamo。自此,开始了linux之旅。我疯狂的看代码,对bootloader,内核驱动,内核移植,系统启动,应用软件等等所有不懂得东西,都去找他的代码。慢慢这片领域开始开阔起来。最简单的,上网本的特殊按键驱动,还有 CMMB驱动,这些是我的启蒙老师,领路先锋。
后来,正菜来了。 freescale imx31的一个项目来了。完完全全的从硬件设计到软件开发的项目。这个是我最重要的项目,从那我学到了许多许多。期间,去了2次深圳,偷师了一位焊工,学到了精密的焊艺。12层的电路板,那个线布的,受不了了。先不管最终效果如何,有勇气布线的,就是勇者了。什么电源管理芯片,启动模式,uboot移植,内核移植,驱动制作,还有rootfs制作,在这个项目里,得到全部的实践。唯一遗憾的是,由于领导不善,离职的时候,这个项目还在拖着,哎。
接着,是一个关于电纸书的项目。QT4的基础。众所周知的,电纸屏的刷新率不够,QT4自身不修改就没法适应。跟着同事一起,把QT的代码翻天覆地的看了一遍。修改了其中的关键部分,才最终满足了要求。
以下就是新公司的事了。
首先是往一个新的电路板上移植android1.6。已经有内核和部分的驱动代码。以前是接触过一些android相关的东西,但都是纸上谈兵。从网上下载了源码,开始了android移植之旅。分析代码,还是分析代码。修改驱动,添加NDK,添加触摸屏校准,添加虚拟按键。所有的工作1个半月的时间完成。那段时间很累,却很充实。我真正的去一点一点啃这块骨头了,所以味道特别浓。
又接着,android2.2的移植。全新的内核,新的结构。在platform的移植过程中花足了时间,最终搞定。印象最深的是wifi hotspot的移植,新功能,新体验。
还有,meego。从发布1.1sdk开始,关注。在atom的netbook上测试,在armv7的电路板上测试,总之踩着技术前沿的脚步。
以上,似乎是我的一个从业生涯的简历。我觉得不算贫瘠,可在大连这样一个环境中,有些令自己惋惜。这里嵌入式的环境让人悲伤,在外包的环境中作嵌入式,总是没有什么味道。系统级的嵌入式开发应该面对的是产品或者平台,却被赋予了外包软件的含义,心有不甘啊。
有心摆脱这种鸡肋的处境,却不得其然。政府的定位如此,扭曲的嵌入式产业在大连还会坚持多久呢?大连嵌入式的发展在哪里呢?缩减的日企订单和攀升的成本会成为打通大连嵌入式回归之路的"鸦片战争"吗?
呵呵,有些诅咒这个产业和城市,让人迷茫。我信奉嵌入式的目的,走产品之路。
ps。我不缺少勇气和技术,如果有机会,我不会吝惜当前安稳的工作。有需要帮忙的或者寻求合作的,欢迎联系。