經(jīng)常有大學(xué)生同學(xué)糾結:我到底是學(xué)STM32還是學(xué)嵌入式linux。 這個(gè)問(wèn)題很多人都會(huì )有自己的看法,今天信盈達小編試著(zhù)從多個(gè)角度,把了解到的事實(shí)講一下,希望對大家有所啟發(fā)。 STM32確實(shí)好 首先得承認STM32確實(shí)好,好到STM32都成了單片機MCU的代名詞了,現在很多人甚至說(shuō)單片機時(shí)默認就說(shuō)STM32,實(shí)際上還有很多單片機的啊。 STM32的第一大好處就是:就業(yè)機會(huì )確實(shí)多,社會(huì )需求多。 大家學(xué)點(diǎn)技術(shù)圖什么? 還不是為了找工作賺工資。 當然我承認大家都有更遠大的理想,但是就算你想造火箭也得畢業(yè)后先能找到工作賺錢(qián)糊口開(kāi)始。 所以如果你讓我學(xué)個(gè)東西都沒(méi)公司要,都找不到工作,那學(xué)它肯定錯了。 你不妨去各大招聘網(wǎng)站搜索一下,STM32相關(guān)崗位真的很多,你如果STM32玩的溜,找份工作真的不成問(wèn)題。 而且大多數一二線(xiàn)城市都有工作機會(huì ),這一點(diǎn)更難得。 總結一下,學(xué)STM32肯定沒(méi)錯,這玩意至少能讓你有份工作。 STM32的第二大好處就是:他是很典型的MCU,可以讓你掌握足夠的MCU開(kāi)發(fā)能力。 也就是說(shuō)即使你在工作中需要用到其他MCU,譬如說(shuō)NXP的LPC系列,Cypress、TI的MCU系列,而這些你從來(lái)沒(méi)接觸過(guò)完全不會(huì )。 但是,只要你熟練掌握STM32,就能很快上手這些MCU的開(kāi)發(fā)工作。 最后,STM32還有個(gè)優(yōu)勢就是生態(tài)已成,影響力大。 目前很多國產(chǎn)MCU廠(chǎng)商如GD、國民技術(shù)等在推出的國產(chǎn)MCU也是對標STM32的,在開(kāi)發(fā)方式甚至是固件庫方面都和STM32非常類(lèi)似。 綜上,掌握STM32確實(shí)很有用,STM32最大的特點(diǎn)就是實(shí)在,掌握這項技能很有助你找到一份工作,在單片機軟硬件工程師這條路上能先上路,走出第一步。 STM32的局限性 不能說(shuō)STM32不好,只能說(shuō)有局限性。 STM32最大的局限性就是:它只是個(gè)單片機。 也就是說(shuō),你學(xué)習STM32,其實(shí)學(xué)的都是單片機相關(guān)的技術(shù)。 譬如GUI方面,你學(xué)STM32可能會(huì )學(xué)emWin,或者touchgfx,或者littlevgl等,但是你幾乎肯定不會(huì )去學(xué)QT和android那些,因為STM32上一般不跑這些。(現在QT也有QT for MCU,也在STM32H7上做了合作,但是應用面有限,大部分人大部分項目不會(huì )使用)。 所以你學(xué)到的GUI技術(shù)全都是MCU領(lǐng)域使用的,而這些和主流的GUI的前端與業(yè)務(wù)邏輯分離的設計模式(典型的如微軟的WPF,Android,或web前端設計等)是有不同的,因此你學(xué)到的東西也是有局限的。 再譬如網(wǎng)絡(luò )應用方面,STM32大多數應用都不帶網(wǎng)絡(luò ),就算帶網(wǎng)絡(luò )往往也是用通信模組,很少會(huì )需要你基于socket層直接編程,而這才是網(wǎng)絡(luò )編程的關(guān)鍵技能。 所以很多做STM32多年的工程師,實(shí)際上對網(wǎng)絡(luò )很陌生,甚至是一竅不通。 客觀(guān)看待STM32 客觀(guān)去看,STM32開(kāi)發(fā)確實(shí)是電子相關(guān)專(zhuān)業(yè)同學(xué)可以去學(xué)習的一項技能。 或者說(shuō),如果你打算學(xué)單片機,那么STM32絕對是首選。 當然了,首選不是說(shuō)只學(xué)STM32,可以來(lái)信盈達學(xué)院,單片機學(xué)習路徑是先用51入門(mén),再進(jìn)階到STM32,這樣更符合學(xué)習規律,學(xué)習效率會(huì )更高。信盈達學(xué)院的單片機課程很熱門(mén)的哦。 所以說(shuō)學(xué)STM32是沒(méi)錯的。 但是不是說(shuō)只學(xué)STM32,這個(gè)必須搞清楚。 如果你STM32已經(jīng)學(xué)得不錯了,建議延伸學(xué)習linux。 很多人覺(jué)得linux使用沒(méi)有STM32廣泛,使用linux的設備遠沒(méi)有使用STM32的設備多,招聘崗位中linux相關(guān)也沒(méi)有STM32相關(guān)的多,所以不應該去學(xué)linux而應該去學(xué)STM32。 這個(gè)觀(guān)點(diǎn)是錯的。 因為這個(gè)觀(guān)點(diǎn)把STM32和linux拿來(lái)對比了,然而這2個(gè)東西根本沒(méi)有可比性。 你對比這2個(gè)就好像對比自行車(chē)和小汽車(chē),你說(shuō)自行車(chē)的優(yōu)勢是便宜,好修理,不堵車(chē),不用交停車(chē)費,不耗油等等,你可以說(shuō)出來(lái)自行車(chē)相對小汽車(chē)的很多優(yōu)勢,然而該買(mǎi)小汽車(chē)的你給他個(gè)自行車(chē)行嗎? 小汽車(chē)是自行車(chē)的延伸,linux是STM32的延伸,是類(lèi)似的道理。 后者相對前者是升級的關(guān)鍵,而不是平行的關(guān)系。 嵌入式Linux的優(yōu)勢 其實(shí)學(xué)習linux還有很多優(yōu)勢。 Linux內核可以說(shuō)是整個(gè)開(kāi)源軟件社區的集大成者,在過(guò)去幾十年間有大量世界級優(yōu)質(zhì)程序員向linux kernel貢獻代碼和思想,也有大量的第三方開(kāi)源項目基于linux的某些組件或linux的設計思想來(lái)構建。 譬如國內現在很火的國產(chǎn)物聯(lián)網(wǎng)操作系統rt-thread,你去讀它的源碼就會(huì )發(fā)現,這完全就是linux的味兒啊。你去看華為的物聯(lián)網(wǎng)操作系統LiteOS,他的源碼中各個(gè)組件之間分隔對接的osal設計,也是linux kernel中大量使用的技巧。 所以說(shuō)為什么要學(xué)linux? 因為它真的可以讓你一勞永逸的解決往后職業(yè)生涯中遇到的大部分技術(shù)需求。 我們學(xué)習技術(shù)有個(gè)很大問(wèn)題就是:你今天永遠不知道明天會(huì )做什么工作,會(huì )需要什么技能。 可能你下個(gè)月開(kāi)個(gè)新項目新任務(wù),老大就會(huì )給你一個(gè)你根本沒(méi)聽(tīng)過(guò)名字的東西讓你玩。你怎么才能快速上手呢? 以信盈達學(xué)員的經(jīng)驗,最靠譜的就是學(xué)好linux。因為你會(huì )發(fā)現你遇到的任何東西都有linux的影子。 只要你學(xué)好了linux,有這個(gè)功底,你學(xué)習任何新東西時(shí)都會(huì )很快。 我當年下決心學(xué)好linux就是因為分配到一個(gè)指紋鎖研發(fā)的項目,用到的方案是一個(gè)新加坡科技公司開(kāi)發(fā)的,他的開(kāi)發(fā)環(huán)境是用cygwin,而我此前從未接觸過(guò)。折騰了半天搭建好環(huán)境我一看,這不就是linux的命令行嘛。還好我之前接觸過(guò)簡(jiǎn)單的linux命令行,一下子感覺(jué)這個(gè)項目就不難了。 此后我就認識到linux的重要性了,下功夫好好學(xué)了linux,這么多年過(guò)來(lái),太多事實(shí)案例證明,當時(shí)的決策非常英明。 學(xué)51,學(xué)STM32這都沒(méi)錯,很實(shí)際,很接地氣。 如果你用盡了全力也就能湊合學(xué)好這些,那就做單片機開(kāi)發(fā),也能找到工作。 要相信社會(huì )不會(huì )虧待你,會(huì )用升職加薪來(lái)回饋你。
IY6%9_G1PL$BL)AR1ROVNAV.png
如果你是小白,想快速進(jìn)階,可以來(lái)信盈達Python學(xué)習!大咖老師手把手系統帶你升級打怪,拿下高薪一點(diǎn)也不難。 東莞校區地址:東莞松山湖大道與石大路交匯松湖智谷A5棟10樓
|