搞不懂單片機為什么那么熱,嵌入式跟單片機是不一樣的嗎?單片機和嵌入式的關系了?
其實,嵌入式跟單片機真的沒有多大的聯系,想搞嵌入式的,就認真學好大學課程。
(1)單片機
單片機基本結構單片機由運算器、控制器、存儲器、輸入輸出設備構成。
(2)嵌入式
嵌入式系統成部分:嵌入式系統一般由以下幾組嵌入式微處理器、外圍硬件設備、嵌入式操作系統、特定的應用程序。嵌入式系統設計的第一步是結合具體的應用,綜合考慮系統對成本、性能、可擴展性、開發周期等各個方面的要求,確定系統的主控器件,并以之為核心搭建系統硬件平臺。
單片機要求首先要學習C語言基礎,就相當于80%會單片機了,因為現在所有8/16/32位(51系列,MSP430系列,ARM系列)都是使用C語言。如果只有C語言基礎,確實不好找工作,方向也很難確定,但是從目前發展方向看,嵌入式是個不錯的選擇。嵌入式,其實就是ARM+Linux,重點其實是嵌入式操作系統,建議先從單片機做起,了解GPIO、定時器啥的,理解怎么用C語言操作硬件。
據說,以前單片機之所以熱,是因為當時珠三角很多玩具廠,很多玩具廠都是用單片機來觸動的(比如小時候盼望玩的遙控車),現在這些廠都倒閉一大堆了,單片機出來就業的,難找工不說,待遇還超級不好。
嵌入式跟單片機是不一樣的,嵌入式硬件方面很多都是做維護和燒焊板子。一般說做嵌入式是指做嵌入式軟件,嵌入式軟件有那么難入門嗎?
我一直很奇怪為什么做嵌入式一定要買個arm,一定要板子,真的需要嗎?我相信很多人買了板子,也不知道怎么搞,最后就放在角落里面了吧。
以工作幾年的經驗來說,想搞嵌入式的同學,首先要掌握的是C,然后是數據結構、算法(絕對重要,架構師的基礎),然后是計算機組成原理、微機原理、操作系統(進程、虛擬內存、中斷),如果掌握了這些,別說驅動了,也別天天提驅動,這里都包含了,最后就是計算機網絡和匯編了。我也是后來才知道匯編的重要性,現在出現問題不是看C代碼,而是直接看匯編代碼了。
看到很多童鞋都在買板子,買單片機。(單片機真的和嵌入式沒有多大的聯系,別搞完單片機了,最后發現嵌入式還是不會,哈哈),認真學習好C,然后轉移到linux系統,習慣使用linux系統的命令行界面,用gcc 、makefile編譯文件、工程。到你真正投入到嵌入式行業去,就會發現,然后跟x86的環境差不多啊,真的沒有啥區別。
也看到很多童鞋一說做嵌入式一定要做驅動,搞得驅動很了不起一樣,現在做驅動很少是開發的,一般是維護的多,為什么?因為芯片都是使用***或者國外的,國內的芯片沒幾個能用的,所以驅動什么的,國外的公司都提供好了,我們驅動的童鞋很多都是維護和修改。
其實現在搞嵌入式的,很多都是做應用層,做數據面(即網絡)。
單片機不帶操作系統,所以你寫單片機程序,本身就意味著你在開發操作系統。嵌入式帶操作系統,所以你寫嵌入式程序,本身意味著你不用開發操作系統,只是在別人的系統上做一些應用開發。真正接觸底層的,是搞單片機的人。不要以為你花一個月的時間就能精通單片機。
其實,現在做安卓、ios底層的話,也是基于C和linux的,如果做應用的話就用java或object-c了,目前做手機應用的就業很不錯。
學習單片機賺錢還是學習嵌入式賺錢?
學習單片機,只要你技術過硬,一個筆記本電腦,再加一個農民房就可以在深圳單干,我就是這樣過來的。學習嵌入式系統的,可能要依附大公司,如果你也出來單干,估計半年沒接到一個單,即使接到單,如果開發周期三個月或者半年的,你要有充足的糧草儲備。我覺得單片機開發是藝術,我做的每一個作品都讓我充滿成就感。最后奉勸所有搞技術的年輕人,做一行愛一行,不要急功近利,做好每一天的的工作,沉下心來,時間越久,經驗越豐富,你就越牛。
-
嵌入式
+關注
關注
5068文章
19014瀏覽量
303221 -
51單片機
+關注
關注
273文章
5697瀏覽量
123178
發布評論請先 登錄
相關推薦
評論