加入星計劃,您可以享受以下權(quán)益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴散
  • 作品版權(quán)保護
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質(zhì)創(chuàng)作者
  • 5000+ 長期合作伙伴
立即加入
  • 正文
  • 相關(guān)推薦
  • 電子產(chǎn)業(yè)圖譜
申請入駐 產(chǎn)業(yè)圖譜

從STM32到Linux,你需要掌握到什么程度?

12/11 12:30
1424
閱讀需 7 分鐘
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

前言這可以說是一個經(jīng)典問題了,經(jīng)常有同學私信我,stm32學多少程度才能學linux?今天就我自己的學習經(jīng)驗給大家一個參考

對于單片機和linux的學習,一定要明確學習目的是什么?。?!

其實這個問題很多同學都問過我,但是我的建議一直都是看自己的目的,還有自己所處的時間段是什么!

我自己是從大二就開始學習單片機,從stc51,PIC16,msp430,瑞薩,飛思卡爾K60,stm8,stm32都學習過,也做過項目,直到大四畢業(yè)我還在繼續(xù)研究,粗略的算學習時間也有兩年多,要是把我學習的程度算上,那可能相當于業(yè)余學習5年甚至更多時間才行,而且不管是哪種技術(shù)原則上都可以一直學習,是的,一直學習。

比較通用的學習進階路線是51>32>arm

第一階段-51:

這里的51就是51單片機,因為51單片機外圍電路比較簡單,芯片的功能也相對簡單,可以比較好入門硬件和匯編編程,還有基礎(chǔ)的C語言編程,如果這個階段學的比較好,對于之后的學習好處頗多,我自己就是大一下的時候因為參加實驗室的選拔比賽,了解并深入學習了51單片機,這段經(jīng)歷幫助我進入了實驗室,而后的一年我又用51做了些作品得了幾個獎,也是我嵌入式之路的啟蒙。(如果你時間緊迫,也可以調(diào)過這步)

第二階段-32:

再然后就是32,這里的32常規(guī)可以理解為stm32,但是其他比如(PIC16,msp43,瑞薩,飛思卡爾K60)也都是可以的,雖然不都是32位處理器(pic和msp30是16位),但是這一階段最重要的技能就是C語言庫函數(shù)編程和操作系統(tǒng)使用,stm32說實話是做的最好的一類,現(xiàn)在HAL庫使用也很方便,但是這其實也是弊端,如果目標是Linux,那就別太癡迷于庫函數(shù)編程了,多體會精神即可,一換芯片代碼都得重構(gòu)。。。我第一次參加電賽的時候指定用瑞薩單片機就是折在這了,第二次比賽選的控制組stm32就拿了國一(主要還是高估了自己的學習能力,三天想把代碼移植到瑞薩單片機真的難度頗大)

在32這一階段其實很多同學就止步不前了,這里邊也包括我(我的第一份工作是無人機飛控開發(fā),主控就是stm32,這也得益于我參加電賽的經(jīng)驗,當時的項目就是無人機)

第三階段-arm:

這里說的arm不是指stm32,我們實驗室當時主要是指arm9,雖然現(xiàn)在已經(jīng)很落后了,現(xiàn)在arm11,甚至arm-a才是主流,但是有一點是一直沒變的,就是linux開發(fā),arm9是可以運行Linux的,當時實驗室是有兩塊開發(fā)板的,當時我只是大致的了解了下,沒有深入學習!

可能會比較奇怪,我為什么不學arm,進而學習linux,原因主要是兩個,一個就是我的32學的太好了,我可以用32輕松的做項目,參加比賽,得獎,當時的我沒什么意識為什么一定要學Linux。還一個原因是當時實驗室用linux主要項目的都是研究生,做的基本也都是圖像識別,信號處理這種純軟件的項目,當時的我沒太大興趣。雖然也挺可惜的,但是我也不后悔,試想就算我學了linux,畢業(yè)的時候大概率還是會找單片機開發(fā),linux技術(shù)還是會被放下,過一陣就忘了。

這里如果你還在讀研,希望更加進階一步,歡迎參加我的一對一指導,可以幫你繞過很多坑,節(jié)約大量的時間,對于這些時間來說,小小的支出真的不算什么,明白的同學自然懂。

契機:

我開始學習linux是我畢業(yè)半年之際,算上大四實習,我已經(jīng)做了一年無人機開發(fā),雖然已經(jīng)很順利了,但是說句實話收入還遠沒到達我的期望,工作環(huán)境也著實有點惡劣,各種原因推動下,我開始學習linux,我學習的方法不是直接看書,我一貫的習慣是直接上手,然后我就買了塊英飛凌核心板,自己畫了塊底板,移植了uboot,燒錄了ubuntu系統(tǒng),開始從裸機,linux系統(tǒng)編程,多線程編程,網(wǎng)絡(luò)編程等這個路子把linux趟了個水,半年后我跳槽到了目前的單位(知名的通信外企)。環(huán)境是非常的好,也很人性化,收入比之前也多了好幾倍,這也算是實現(xiàn)了當時的希望,期間也在不斷的升職加薪,轉(zhuǎn)眼已經(jīng)快7年了,我基本實現(xiàn)了自己的夢想,也算對自己努力的獎勵。

下邊是我當時為了自學畫的linux底板(左下角還集成了stm32f4,可以協(xié)同做外部控制),當然了,這是我畢業(yè)一年的水平,現(xiàn)在硬件基本上是荒廢了,哈哈。

說回問題本身,從我自己的經(jīng)驗想給各位同學一個參考,并不是單片機學到什么程度就能學linux,而是你為什么要學linux??還一個你有什么基礎(chǔ)可以支撐你學習linux,這些點上文我都提到過,如果時間比較充裕,完全也是可以參考的,當然更多的細節(jié)每個人可能不同,也是需要定制的部分,這部分歡迎參加我的付費咨詢.

未完待續(xù),持續(xù)更新!以防后邊找不到可以點贊收藏下!

相關(guān)推薦

電子產(chǎn)業(yè)圖譜