單片機是否為嵌入式技術,單片機和嵌入式學哪個?
\\\插播一條:
自己在今年整理一套單片機單片機相關論文800余篇
論文製作思維導圖
原理圖+源代碼+開題報告+正文+外文資料
想要的同學私信找我。
單片機和嵌入式,我喜歡用兒子和爸爸這種關係去區分它們。
我當初是通過嵌入式挖到了單片機開發,所以說單片機和嵌入式是一個包含關係,嵌入式包含了單片機。
這層關係一定要先搞清楚。
那嵌入式除了單片機以外,還有分為以下幾個主流方向:
1.單片機開發工程師
需要掌握的東西大概如下:
學習C語言、彙編
學習51、STM32單片機
學習常用Usart、IIC、SPI、can協議。
能看懂數據手冊基本參數
能看懂電路原理
熟悉繪圖工具(AD)使用。
2.Linux系統開發工程師
需要掌握的東西大概如下:
熟悉uboo移植、內核kernel的裁剪。
熟悉Linux設備驅動開發
熟悉ARM CPU架構、Linux內核、內存管理、進程調度、文件系統、網絡原理等。
熟悉常用外設驅動Usart、IIC、SPI、Nandflash、MMU等
熟悉Bootloader開發
3.Linux應用工程師
需要掌握的東西大概如下:
.熟悉C和C++
熟悉Linux系統文件、進程、內存共享、消息隊列、信號、多線程、網絡等
熟悉GTK或者QT
熟悉視頻、音頻、Ble等算法協議。
4.安卓系統開發工程師
需要掌握的東西大概如下:
.熟悉Linux內核與驅動程序開發
熟悉Android框架開發和維護
熟悉Android Hal和framework開發
熟悉JNI/NDK開發。
熟悉Android下網絡編程。
熟悉C,C++,java,Shell程式語言。
每個方向所需要的學習的課程內容是不一樣的,1和2是偏硬體驅動層,3,4是更偏重應用層。
很多人喜歡去評價,說哪個方向比哪個好,這4個方向沒有絕對的哪個工資比哪個高,行內人自然懂,不懂得噴子鍵盤俠我也懶得解釋。
我做了這個行業10年來說說自己的看法。
這4個方向,沒有說哪個比哪個好,如果單純用工資去衡量,這種方式並不客觀,可能會影響到你的判斷和選擇。
當初我就是這樣,哪裡工資高就去哪裡,完全沒考慮到一個行業的發展趨勢。
最終導致的結果就是,你的收入很容易到達瓶頸,再怎麼也漲不上去。
所以,這個首先看你個人的一個擅長或者興趣領域。
如果你的動手能力強,可以往單片機開發方向和Linux系統開發方向。
如果你想偏軟體的,不想碰硬體,往Linux應用開發和安卓開發。
如果你是剛入門這塊的話,我建議是先從單片機開發上手。
很多人說單片機開發很簡單,沒前途,不否認單片機開發工資確實低一點,因為大多數開發都是在做應用,單片機就是一個工具,你只會用工具工資還想高到哪裡去?
如果你能獨立完成產品軟硬體設計看看?
會藍牙、Zigbee、NBIOT、WiFi開發看看?
這些也都是單片機,只是在單片機內部加了特殊模塊(BLE、Zigbee)集成的SOC。
這個大家可以去招聘平台搜搜看,搜嵌入式大多數都是單片機開發的職位,比如STM32之類的,足以說明市場之大,市場大意味著工作也好找。
還有一點就是局限性,用單片機做產品基本個人都能完整整個技術部分,包括硬體和軟體設計。
而Linux或者安卓方向卻很難,拿安卓來開發來說,他需要有Linux系統開發工程師把系統移植到ARM或者其他架構下的晶片里,然後把外設驅動都調好,安卓系統才能基於這上面跑起來。
所以如果你想後期自己創業做產品,單片機方向是比較合適的,只要你有豐富的經驗,完全可以自己一個人獨立開發一款產品。
當然,如果你完全是看工資,那往Linux和安卓方向比較適合你。
【文章福利】:小編整理了一些個人覺得比較好的學習書籍、視頻資料共享在群文件裡面,有需要的可以自行添加哦!~點擊綠色通訊軟體搜索wujidanpianji加入(需要自取)