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