嵌入式要会的东西,以我做过的经验大致如下: 硬件部份:
1.懂基本电子电路,例如知道MOS跟BJT有什麽不同,什麽是KVL、KCL, 看得懂电路图,会用电表。
2.会使用示波器、LA,会简单的焊接操作,因为你常需要焊线拉讯号线 勾示波器。
3.阅读各式硬件spec,这部份是最难的,有一大堆。 软件部份:
1.有资料结构、作业系统观念,知道preemptive跟non-preemptive 的差别,什麽是concurrency,什麽是linkedlist等等...
2.熟一种OS,如Linux就要熟terminal操作,VIM、shellscript、 Makefile跟一些基本工具如SED、AWK、GNUTool-chains、 什麽是character跟blockdriver等等,这部份要看不少书。 而WinCE就要知道monolithic跟layereddriver是什麽,WinCE
比Linux简单一些,因为大部份东西MSDN都有,微软也有官方教材。
3.至少要熟C跟assembly(汇编语言),目前主流是ARM,所以ARM assembly必会, 因为像一些很基本的boot、RAM、init通通都是assembly,万一你的EE 换一颗RAM你不会改那可能会连开机都有问题。
4.最好要熟一两个UIframework,如Linux就要会QT、GTK,Windows最 好要会Win32API跟MFC等等,你可能会有机会要自己写测试AP。 5.最好要会高阶程式语言跟观念,因为有些公司可能会连AP都要你写, 所以还要会OOP、会Java,懂GoFDesignPattern、影像或音效处理技术, 这部份又是一堆书,请用力学习吧!
6.最好也要懂WEBCGI,因为像一些上位机盒现在大多数都用WEB当设定界面, 这部份当然可能也是你要写的,所以HTML、Javascript、AJAX也要懂。
7.懂软件工程与工具,软件整天在修改,如果没有善用好的开发流程跟工具, 那会浪费很多时间,所以CVS、GIT之类的东西最好也要懂,《人月神话》跟 《code complete》等书最好读一下。
相关推荐: