單片機(jī)與嵌入式的關(guān)系
以前單片機(jī)之所以熱,是因為當(dāng)時珠三角很多玩具廠,很多玩具廠都是用單片機(jī)來觸動的(比如小時候盼望玩的遙控車),現(xiàn)在這些廠都倒閉一大堆了,單片機(jī)出來就業(yè)的,難找工不說,待遇還超級不好。
嵌入式跟單片機(jī)是不一樣的,嵌入式硬件方面很多都是做維護(hù)和燒焊板子。一般說做嵌入式是指做嵌入式軟件,嵌入式軟件有那么難入門嗎?
我一直很奇怪為什么做嵌入式一定要買個arm,一定要板子,真的需要嗎?我相信很多人買了板子,也不知道怎么搞,最后就放在角落里面了吧。
以工作幾年的經(jīng)驗來說,想搞嵌入式的同學(xué),首先要掌握的是C,然后是數(shù)據(jù)結(jié)構(gòu)、算法(絕對重要,架構(gòu)師的基礎(chǔ)),然后是計算機(jī)組成原理、微機(jī)原理、操作系統(tǒng)(進(jìn)程、虛擬內(nèi)存、中斷),如果掌握了這些,別說驅(qū)動了,也別天天提驅(qū)動,這里都包含了,最后就是計算機(jī)網(wǎng)絡(luò)和匯編了。我也是后來才知道匯編的重要性,現(xiàn)在出現(xiàn)問題不是看C代碼,而是直接看匯編代碼了......
看到很多童鞋都在買板子,買單片機(jī)。(單片機(jī)真的和嵌入式?jīng)]有多大的聯(lián)系,別搞完單片機(jī)了,最后發(fā)現(xiàn)嵌入式還是不會,哈哈),認(rèn)真學(xué)習(xí)好C,然后轉(zhuǎn)移到linux系統(tǒng),習(xí)慣使用linux系統(tǒng)的命令行界面,用gcc 、makefile編譯文件、工程。到你真正投入到嵌入式行業(yè)去,就會發(fā)現(xiàn),然后跟x86的環(huán)境差不多啊....真的沒有啥區(qū)別。
也看到很多童鞋一說做嵌入式一定要做驅(qū)動,搞得驅(qū)動很了不起一樣,現(xiàn)在做驅(qū)動很少是開發(fā)的,一般是維護(hù)的多,為什么?因為芯片都是使用臺灣或者國外的,國內(nèi)的芯片沒幾個能用的,所以驅(qū)動什么的,國外的公司都提供好了,我們驅(qū)動的童鞋很多都是維護(hù)和修改。
其實現(xiàn)在搞嵌入式的,很多都是做應(yīng)用層,做數(shù)據(jù)面(即網(wǎng)絡(luò))...
其實,現(xiàn)在做安卓、ios底層的話,也是基于C和linux的,如果做應(yīng)用的話就用java或object-c了,目前做手機(jī)應(yīng)用的就業(yè)很不錯。
最后兩句話,嵌入式跟單片機(jī)真的沒有多大的聯(lián)系,想搞嵌入式的,就認(rèn)真學(xué)好大學(xué)課程。
評論