朋友圈

400-850-8622

全國統(tǒng)一學(xué)習(xí)專線 9:00-21:00

位置:程序開發(fā)培訓(xùn)問答 > 嵌入式開發(fā)培訓(xùn)問答 > 嵌入式行業(yè)真的沒前途嗎?

嵌入式行業(yè)真的沒前途嗎?

日期:2025-01-11     瀏覽:57    來源:綜合教育資訊
核心提示:一個剛讀研一,從本科開始學(xué)了四年嵌入式的渣渣,來嘮嗑兩句。先談?wù)勎业哪感5漠厴I(yè)生情況吧。我的母校是一個普通二本,許多本科就

一個剛讀研一,從本科開始學(xué)了四年嵌入式的渣渣,來嘮嗑兩句。

先談?wù)勎业哪感5漠厴I(yè)生情況吧。

我的母校是一個普通二本,許多本科就出去工作的學(xué)長或者同級生,從事嵌入式方向,至少也是6K+,做STM32,linux,PCB的都有。

先談?wù)勄度胧绞巧?/p>

嵌入式計算機系統(tǒng),英文名embedded computer system,指的就是就是一個相對微小的設(shè)備,植入了計算機。換句話說,簡單的像電子表,鬧鐘,復(fù)雜點的像POS機,自動販賣機,ATM等,都屬于嵌入式設(shè)備。

我的嵌入式之路

由于本科四年的學(xué)校屬于師范學(xué)校,在工科領(lǐng)域較弱,本科期間學(xué)習(xí)方向基本都是自己在找。

大一,大約是四年前的11月初吧,我當(dāng)時就買了一套亞博智能的資料。大約50塊錢,1本書+1個51開發(fā)板,大一那會兒剛好在學(xué)C語言,恰好51就成了*好的C語言訓(xùn)練平臺。

借助51,也學(xué)了一些硬件基礎(chǔ)知識,什么上下拉電阻,濾波電容,施密特觸發(fā)器等等。這也為后面學(xué)習(xí)電路原理,數(shù)字電路,模擬電路三大基礎(chǔ)*打了一定的基礎(chǔ)。

51*有意思的項目無疑就是做智能小車了,一對小電機,配合L298N控制,紅外對管尋跡。

*次接觸STM32是在大一下學(xué)期,做小平衡車的時候,是為智能車比賽打基礎(chǔ),當(dāng)時要兩個模塊,一個是陀螺儀MPU6050,另一個是攝像頭OV7670。前者用51還是調(diào)的出來,后者實在是沒有辦法,做是做出來了,但是。。。卡成PPT,TFT屏幕讀取攝像頭數(shù)據(jù)是一下一下的。關(guān)于小車的文章推薦:做一個STM32小車很簡單嗎。

之后我便接觸到了STM32。攝像頭,陀螺儀這些在51上讓人很是頭疼的外設(shè),頓時變得簡單易用。外部中斷,定時器這些資源也不像51那樣寶貴,大把的外設(shè)可以用。。。等等

簡單設(shè)備用8位機,復(fù)雜設(shè)備用32位機,設(shè)計電路板用DXP,這個想法維持了很久,直到18-19年的智能車競賽。

這兩年的智能車競賽發(fā)生了兩件有意思的事情。

一個是調(diào)試新的元素,比如環(huán)島,橫斷。

另一個是新的環(huán)境,賽道不再遮光。

前者標(biāo)志位已經(jīng)顯得不夠了,后來查詢資料,使用上了有限狀態(tài)機FSM。

后者短時間內(nèi)也沒有什么好思路,直到接觸到了OpenMV和OpenCV。

FSM整出來以后,我在想是否有更高級,更強大的處理方法。

linux告訴了我答案,包括OpenCV。

我才發(fā)現(xiàn),原來嵌入式開發(fā)和JAVA,前后端開發(fā)一樣,是可以有操作系統(tǒng)的。

原來中斷,DMA這些東西,在操作系統(tǒng)看來,就是進程,線程的底層表現(xiàn)。

目前,嵌入式仍在學(xué)習(xí)中,跟著老師學(xué)習(xí)2440,裸機開發(fā),驅(qū)動開發(fā),系統(tǒng)開發(fā)。

同時在整機器學(xué)習(xí),模式識別,圖像處理這些東西,希望有朝一日,能和嵌入式聯(lián)動起來。

就像本科那時51聯(lián)動C語言,STM32聯(lián)動PID,卡爾曼濾波等等一樣。

嵌入式行業(yè)定義

說了這么多,感覺有些偏題哈,回到主題吧。

首先,嵌入式行業(yè)是很廣的,看你怎么定義。

只是8位機8051算嵌入式加上RTOS,RT Thread的單片機系統(tǒng)開發(fā)算嵌入式linux系統(tǒng)API開發(fā),驅(qū)動開發(fā)算嵌入式SOC(片上系統(tǒng))+Linux+OpenCV+CNN+YOLO也叫嵌入式。上述內(nèi)容都是嵌入式,同樣是嵌入式,你覺得薪酬會一樣嗎?

其次,上述的內(nèi)容,個人覺得是個層層遞進的關(guān)系,而不是站在對立面的關(guān)系,因此,我不同意單片機很low,linux和機器學(xué)習(xí)就很高大上的說法,畢竟嵌入式技術(shù)中,這幾者都是不可或缺的,區(qū)別在于層次不同,我們需要做的不是站在對立面,而是做到因地制宜。

比如你控制個有刷直流電機,51足矣,但若是三相無刷電機,可能就需要STM32了。30W像素的攝像頭STM32游刃有余,但200W或更高的像素的攝像頭就可能需要SOC了,如果是做人面識別這樣的東西,大概率要用到SOC,反過來SOC雖然性能強,但功耗高,穩(wěn)定性不如單片機,一些需要穩(wěn)定控制的設(shè)備(比如電機),還是需要單片機的。

嵌入式行業(yè)不夠景氣的可能原因

*后,鄙人淺薄理解,嵌入式?jīng)]前途可能的兩個原因:人才缺失嚴(yán)重,且工資較低。

先說人才缺失

純JAVA開發(fā)或是純電源,傳感器開發(fā),又或者是Solidworks做模具等一般只需要寫代碼或者只需要動烙鐵或者畫圖就行了,但是嵌入式基本是要求軟硬兼?zhèn)洹6彝驳脮媹D(PCB)。

JAVA Python這些語言高級特點也很明顯,類和對象處理功能都很強大,后臺也能聯(lián)動(比如JAVA的JDBC聯(lián)動MySQL等等)。但嵌入式的語言主要是相對傳統(tǒng)的C/C++,甚至要寫匯編代碼,開發(fā)難度比JAVA,Python個人覺得都要高一些。

嵌入式嚴(yán)格歸類是在計算機里,但是目前國內(nèi)計算機依然是以軟件為主(BAT三巨頭都是純軟件公司)。以硬件為根基的嵌入式,自然發(fā)展艱難一些,這也是為什么電子或者自動化出身的學(xué)生,學(xué)嵌入式比例比計算機科班反而高一些的原因之一。

可見嵌入式開發(fā)的門檻還是不低的(目前個人認(rèn)為IT行業(yè)中*入門難度高于嵌入式的,恐怕只有圖像,計算機視覺,機器學(xué)習(xí)這些東西了)。

嵌入式物聯(lián)網(wǎng)需要學(xué)的東西真的非常多,千萬不要學(xué)錯了路線和內(nèi)容,導(dǎo)致工資要不上去!

無償分享大家一個資料包,差不多150多G。里面學(xué)習(xí)內(nèi)容、面經(jīng)、項目都比較新也比較全!某魚上買估計至少要好幾十。

再說薪酬低的問題

正如前文所言,嵌入式入門門檻不低,因此大多數(shù)涉獵嵌入式行業(yè)并入職的,還是集中在單片機領(lǐng)域,這部分拉低了嵌入式的平均薪酬,其實如果能做到linux,甚至做到視覺領(lǐng)域,個人覺得還是會有不錯的收入的。

這一點軟件,硬件行業(yè)也一樣。軟件只會前端(HTML5,Vue.js等),做不到全棧。硬件只會畫簡單的信號板,雙層板,畫不了多層板,高頻信號板,高電流板。機械只會畫平面圖,不會做模具。一樣工資不會高,我這一屆有一個同學(xué)畢業(yè)了去做前端,薪酬才三千。。。只能說這些入門門檻不如嵌入式高,不會說大多數(shù)從業(yè)者都集中在低端行業(yè),平均薪酬自然也不會和嵌入式一樣被低端行業(yè)拉的這么低。

談?wù)勄度胧?值不值得入行?

嵌入式20年等價于JAVA10年工作?

很不幸,這個說法。沒有問題

為什么?

萬變不離其宗,還是門檻的問題。

嵌入式學(xué)習(xí)不僅入門難,整個流程下來,就沒有簡單的。

JAVA專精于網(wǎng)頁,數(shù)據(jù)庫,服務(wù)器等等。

PCB專注于電路板,區(qū)別也大多在于層數(shù),頻率上。

機械制圖也是如此。

嵌入式呢?不好意思,嵌入式涉及范圍比這些廣的多。

軟件硬件基本都要會整才行玩電機,玩陀螺儀,玩攝像頭,幾乎是必修課。那么控制理論不能缺,PID不能少。模式識別,圖像處理也得跟進。到linux,操作系統(tǒng)原理不能少。換句話說,論算法,嵌入式從業(yè)可能需要關(guān)注三種算法:

數(shù)據(jù)結(jié)構(gòu),控制算法,信號處理。

這些東西,完全掌握,可以說20年是不多不少的。換個說法,嵌入式?jīng)]有全棧的說法,因為嵌入式本身,就是全棧。

但是20年以后,嵌入式從業(yè)者再和JAVA從業(yè)者,會怎么樣呢?

哪些人適合入行嵌入式

以下我列出來的情況,如果大部分都中了,這些仁兄就不推薦入坑嵌入式了:

不想做硬件的,打死不做電路的不想寫代碼的,看見代碼就想吐的不想整操作系統(tǒng),覺得裸機單片機就是一切的想短時間內(nèi)賺錢,車房一體化全部到位的先說不像寫代碼或者不想做電路的情況吧。

嵌入式兩者都有,即便是*簡單的8051,不寫代碼或者不弄電路,根本進行不下去??梢哉f一開始的路就被堵死了。

再說不整操作系統(tǒng)的。

無OS的單片機設(shè)備,簡單處理完全可以處理,但更復(fù)雜的設(shè)備,更復(fù)雜的功能呢?比如WIFI?攝像頭?激光雷達?

不想整操作系統(tǒng),嵌入式就已經(jīng)被大大限制住發(fā)展?jié)摿α恕.a(chǎn)品以后可能集中在相對低端的產(chǎn)品里,自動販賣機,POS機,付款機,公交,地鐵的刷卡機等等設(shè)備幾乎無一例外的搭載了操作系統(tǒng)。

薪酬的問題

眾所周知,嵌入式是個潛力股。

前期工資一般較低,這也確實是事實。

因此短時間急著賺錢的話,嵌入式可能還真的不太合適。

來錢快的,技術(shù)崗還是JAVA強。

*后說說嵌入式的學(xué)習(xí)問題吧,大家也一起交流交流。

小白的話建議還是先想好入不入嵌入式這個坑,畢竟不論怎么說,嵌入式都是一條苦行僧路。如果完全沒有興趣趨使,還是建議轉(zhuǎn)行??聪麓宋?一位嵌入式工程師的成長之路。

從嵌入式小白到大神

階段一:從數(shù)電、模電、C語言入坑嵌入式

硬件方面電子系的電路+數(shù)電+模電是肯定要學(xué)的,特別是數(shù)電,不說爐火純青,至少也得做到了然于胸。

軟件方面,C語言不能少的。我看知乎都推薦C Primer Plus這樣的教材,但本人不推薦小白去看,畢竟確實不太容易啃下來,譚浩強教授的紅皮書就可以了,畢竟入門容易。

階段二:51單片機實戰(zhàn)

C語言和電路基礎(chǔ)有了以后,就開始整51單片機,中間穿插一些外設(shè)。LED 按鍵 蜂鳴器 電機等等,再去整整通信協(xié)議UART IIC SPI,再用這些協(xié)議去玩一些模塊,比如MPU6050,OLED,HC05藍牙等等。

階段三:STM32單片機進階

如果是自動化科班的

建議調(diào)調(diào)PID控制電機什么的。

到攝像頭等復(fù)雜傳感器,升級到STM32這類32位單片機以后,再進行深入學(xué)習(xí)。

學(xué)習(xí)更復(fù)雜的信號處理方法,比如LKF,EKF,再加一點基礎(chǔ)的圖像處理方法。同時把CubeMX這樣的代碼生成器也盡量用熟,提高開發(fā)效率。

再到后面,開始上一些實時操作系統(tǒng),比如RTOS RT Thread ucos啥的,把整個開發(fā)的層次再次提高。

階段四:SOC+linux

嵌入式遠未結(jié)束,以linux為平臺入門SOC開發(fā)。

小結(jié)

如果以后做自動化科班方向,計劃就是嵌入式SOC聯(lián)動圖像處理,機器學(xué)習(xí)這些東西,再底層聯(lián)動單片機,驅(qū)動電機。完成完整的工控機,機床,機器人等設(shè)備的開發(fā)工作。如果是這樣,個人目前覺得*好的入門坑是OpenCV,然后再深入,方為上策。

如果以后做軟件方向,聯(lián)動安卓框架,安卓HAL。借助JAVA C++這類面向?qū)ο笳Z言,做安卓音視頻的開發(fā)和處理,要么搞視頻監(jiān)控,要么搞藍牙耳機什么的。

免責(zé)聲明:本信息由用戶發(fā)布,本站不承擔(dān)本信息引起的任何交易及知識產(chǎn)權(quán)侵權(quán)的法律責(zé)任!

本文由 綜合教育資訊 整理發(fā)布。更多培訓(xùn)課程,學(xué)習(xí)資訊,課程優(yōu)惠,課程開班,學(xué)校地址等學(xué)校信息,可以留下你的聯(lián)系方式,讓課程老師跟你詳細解答:
咨詢電話:400-850-8622

如果本頁不是您要找的課程,您也可以百度查找一下: