一般在学习一门技术的时候,总会有人问,学这个技术,以后做的累不累啊,忙不忙啊,当然学嵌入式的人也是会这样问的,因为在之前不敢尝试,不知道这个技术以后做的会怎么样,总是会有这样和那样的纠结,在这里资深程序员几年的经验来告诉你:
曾经一家公司,一个while(1)开头的裸奔系统,带自己设计的消息机制,带没有DC的GUI,还自己扩展了一套中文编码。在这套系统上有一系列的产品,每个新产品为了缩短开发时间,都沿用已有产品的代码,又不敢做大的改动,应届生在添加了新的糟糕的代码,又遗传到下一个产品中。每个新产品的bug数都在3000左右,软件开发人员都痛苦无比。这种状况一直到公司请来一个高水平的CTO,果断引入uC/OS II 系统,移植MiniGUI,全面采用GBK和Unicode才有所改善。
你想知道后来怎么样了吗?后来当然是这套全新的系统又被一帮低水平的程序员给改乱了呀,又有一批新手接过了这套让人痛苦的历史包袱啊。
如果硬件工程师靠谱,照着demo板改改画出来的,打板回来,焊好元件,烧上demo程序,上电就能正常跑起来。否则,软件就放假慢慢等着吧。
如果硬件粗心,把线连错了,漏接了,你也许不得不自己从头看datasheet,挨个检查信号,几天的时间也许就这么过去了。发现问题要几个小时几天,解决只需要几秒钟或者几分钟。问题解决得差不多了,也被飞线铺满了。
还有一次,我们两个同事,坐飞机到芯片公司总部出差请求支援,结果被人家发现只是一根排线虚焊了呀,丢呀。
公司有钱,或者领导有决断,买参考板,买几万块的调试器,买个好用的示波器、逻辑分析仪,不知道能提高多少工作的效率。一帮软件吭哧吭哧加串口打印,调试几个星期或一两个月,问题还不一定能解决,发的工资、浪费的时间、错过的市场机会,不也是钱吗?
如果采用的芯片比较简单,尤其早期的芯片,有的还不带MMU,不能采用linux或者android这样的高级系统,甚至不能移植uC/OS 这样的多线程系统,一些像低电检测这样的任务实现起来是很别扭的。现在的芯片都强大多了,很多以前在旧平台上引以为豪的奇技淫巧都不需要了。
不同公司方案的风格也很不一样。我的总体印象,美国的芯片给你的东西很多,你可以做很灵活的定制开发,遇到问题你有能力可以自己尝试解决。但是如果不是大客户,支持力度很有限。的芯片方案基本上把什么就给你做好了,你换个logo做成产品,跟别家打价格战去吧;但是很多模块代码是不的,你在能做的东西很有限,遇到问题需要,然后苦苦地等他们解决,发sdk新版本,也是很让人头疼的事。国内的方案接触过的不多,用过一些小公司的小芯片,参差不齐,大部分给的datasheet显得非常业余。
说到这里,嵌入式工程师累不累全都看你,而对于嵌入式来说,可以说在工作中是比java那些有少累人的,剩下的就得看你自己了,如果你表现的很好,那你就不会觉得累,如果你知识不透彻,那肯定是会觉得累人的,都看你自己怎么做了,你说呢。返回搜狐,查看更多
本文由 790游戏(www.790.kim)整理发布