在STM32之前,都是老大頭51,帶著它的“小弟們” MSP430、AVR、PIC在單片機(jī)界呼風(fēng)喚雨。
那個(gè)時(shí)候,市場(chǎng)上遍布8位機(jī),大學(xué)教材用51入門,個(gè)人、企業(yè)學(xué)單片機(jī)基本上也都在用51。
雖然AVR也有一些8位機(jī)市場(chǎng),但與stc帶領(lǐng)下的51單片機(jī)是完全不能相比的。
當(dāng)然,這個(gè)時(shí)候也有16位機(jī)的msp430,其他廠家單片機(jī)還有pic,高端嵌入式處理器等市場(chǎng)有arm7、arm9等。
這個(gè)時(shí)期的單片機(jī)市場(chǎng)是百花齊放、百家爭鳴,但總體來說,還是勢(shì)均力敵、一片祥和的。
那么,這個(gè)局勢(shì)是從什么時(shí)候開始打破的呢?這還得從物聯(lián)網(wǎng)的崛起說起。
原因
當(dāng)時(shí),物聯(lián)網(wǎng)(Internet of Things,IoT)逐步進(jìn)入人們的視野范圍。隨著它的發(fā)展,嵌入式領(lǐng)域?qū)τ诟咝阅芴幚砥鞯男枨蟪尸F(xiàn)爆發(fā)式增長。
雖然8位CISC(復(fù)雜指令)架構(gòu)內(nèi)核8051占據(jù)了半壁江山,但奈何其性能低下,尋址范圍受限,已經(jīng)難以適應(yīng)更多的新興應(yīng)用領(lǐng)域。
而32位架構(gòu)微處理器內(nèi)核憑借其極佳的執(zhí)行效能,不僅能滿足物聯(lián)網(wǎng)對(duì)數(shù)據(jù)處理能力的要求,還能兼顧物聯(lián)網(wǎng)的低功耗和高性能要求,斬獲物聯(lián)網(wǎng)市場(chǎng)的獨(dú)家寵愛。
在32位架構(gòu)微處理器中,屬ARM公司推出了面向各類嵌入式應(yīng)用的微控制器核Cortex-M內(nèi)核受到市場(chǎng)青睞,Cortex-M之于32位MCU就如同8051之于8位MCU。
而正是Cortex-M的出現(xiàn),讓ST公司看到了這個(gè)內(nèi)核的強(qiáng)大之處——利用該內(nèi)核設(shè)計(jì)了大放光芒的STM32,打破了曾經(jīng)的單片機(jī)局面。
崛起過程
如今,我們往回看那段歷史,會(huì)發(fā)現(xiàn)一切改變都由那時(shí)發(fā)生——
從2007年6月11日推出第一代STM32產(chǎn)品——Cortex-M MCU STM32F1開始,單片機(jī)市場(chǎng)迎來了STM32新星,32位MCU浪潮,如期而至。
此后,芝麻開花節(jié)節(jié)高,STM32成功的故事也一直在延續(xù)。
ST公司陸續(xù)在每一年都基于新的內(nèi)核或者新的技術(shù)領(lǐng)域有所突破,發(fā)布超過了19個(gè)STM32 產(chǎn)品系列,包括一個(gè)MPU產(chǎn)品線,生產(chǎn)工藝也從180nm不斷進(jìn)階到110nm、90nm和40nm。
例如:
2009年推出了全球第一款超低功耗系列STM32 L1;
2010年推出了第一款在高性能的基于90納米工藝、120 MHz 的STM32F2產(chǎn)品線;
2011年推成第一款高性能Contex-M4的處理器STM32F4;
......
2019年推出全球最為強(qiáng)大的第一款雙核處理器STM32MP1、最新一代混合信號(hào)Contex-M4 MCUs和世界上最大的MCU STM32H7;
2020年推出全球首顆內(nèi)置LoRa收發(fā)器的SoC——STM32WL。
“一只南美洲亞馬遜流域熱帶雨林中的蝴蝶,偶爾扇動(dòng)幾下翅膀,可以在兩周以后引起美國德克薩斯州的一場(chǎng)龍卷風(fēng)。”
STM32這只小蝴蝶帶來的改變效果也很明顯。
2007年ST公司的通用MCU全球排名還只是第11位,2015年便上升到第3位,2018年上升到第2位,2018年則在中國供應(yīng)商的排名中ST公司一舉拿下第一的高地,此后數(shù)年,ST的地位幾乎無人撼動(dòng)。
如何學(xué)習(xí)
入坑STM32后,我們應(yīng)該如何學(xué)習(xí)?
如今,STM32堪稱爆火,并且潛力無窮。所以,有很多人都在學(xué)STM32。
但STM32對(duì)入門者可能不是特別友好,因?yàn)橹R(shí)很多,但是對(duì)于有一定開發(fā)經(jīng)驗(yàn)的人來說,就是一把好兵器,它能幫你大大縮短開發(fā)周期。
那應(yīng)該如何入坑STM32呢?
(1) 根據(jù)時(shí)間表定時(shí)定量學(xué)習(xí)
大學(xué)時(shí)期,都有實(shí)驗(yàn)室的學(xué)長學(xué)姐帶著入門,安排任務(wù)。
比如,基本任務(wù)是一周內(nèi)學(xué)完搭好環(huán)境、熟悉調(diào)試軟件,結(jié)合《STM32Fxxx參考手冊(cè)》、《STM32固件庫使用手冊(cè)》和光盤視頻,實(shí)現(xiàn)基本篇的GPIO應(yīng)用。
(2) 舉一反三,并通過階段任務(wù)檢查學(xué)習(xí)效果
在學(xué)習(xí)例程時(shí),可以嘗試修改該例程的外設(shè)配置,達(dá)到舉一反三的效果。
每一周,學(xué)長學(xué)姐會(huì)根據(jù)你的學(xué)習(xí)進(jìn)度,安排給你一個(gè)階段任務(wù),用來檢查你的學(xué)習(xí)效果。
如果你是自學(xué),那么可以根據(jù)網(wǎng)上教程和各大資源網(wǎng)站上的“STM32入門小項(xiàng)目合集”,主動(dòng)給自己找一個(gè)小項(xiàng)目,把它實(shí)現(xiàn)出來。
這里我推薦正點(diǎn)原子的資源,畢竟每次看視頻時(shí)的片頭曲“我的未來不是夢(mèng)”讓我對(duì)STM32充滿激情,當(dāng)然野火、小苗、普中也不錯(cuò)~
(3) 基本外設(shè)、功能會(huì)用就行,后期需要什么再去針對(duì)性地學(xué)
按部就班地把STM32知識(shí)從頭到尾系統(tǒng)性地學(xué)習(xí)完,固然很好。但是,你要知道學(xué)習(xí)單片機(jī)只是為了解決問題,我們只要在遇到問題時(shí),能夠通過STM32解決就行。
因此,當(dāng)你把基本外設(shè)、功能都差不多掌握了,程序能跑起來,并且也知道哪里可以修改、修改成什么就已經(jīng)基本入門了。
此后,你可以通過一些大大小小項(xiàng)目,鞏固理解和探索新功能,你的經(jīng)驗(yàn)也隨之增加。
(4) 學(xué)好C語言,可以學(xué)著畫PCB制板、焊接
軟件和硬件都要兩手抓。C語言對(duì)于STM32的學(xué)習(xí)至關(guān)重要,C語言不好,還跑什么代碼?學(xué)會(huì)畫板子、焊板子,這樣有什么需求,都可以自己添加。
當(dāng)然,上面的建議都是給0基礎(chǔ)的STM32入門者,若是你有一定基礎(chǔ),那當(dāng)然是對(duì)癥下藥,哪里不會(huì)補(bǔ)哪里。
學(xué)海無涯,勇于探索新技術(shù)
“學(xué)海無涯、永無止境”,更何況是每一年都在推陳出新的STM32。
事實(shí)上,STM32 的開發(fā)方式已經(jīng)發(fā)生了很大的變化。
比如:
2014 年,ST 公司推出了 HAL 庫和 MCU 圖形化配置軟件STM32CubeMX。
2017 年年底,ST 公司收購了 Atollic 公司,把專業(yè)版 TrueSTUDIO 轉(zhuǎn)為免費(fèi)軟件。
2019 年 4 月,ST 公司正式推出了自己的 STM32 程序開發(fā) IDE 工具軟件 STM32CubeIDE1.0.0,打造了一個(gè)完整的 STM32Cube 生態(tài)系統(tǒng)。
而STM32Cube 生態(tài)系統(tǒng)已經(jīng)完全拋棄了早期的標(biāo)準(zhǔn)外設(shè)庫,STM32 系列 MCU 都提供 HAL固件庫以及其他一些擴(kuò)展庫。
STM32Cube 生態(tài)系統(tǒng)的兩個(gè)核心軟件是STM32CubeMX 和STM32CubeIDE,且都是由 ST 官方免費(fèi)提供的。
使用 STM32CubeMX 可以進(jìn)行 MCU 的系統(tǒng)功能和外設(shè)圖形化配置,可以生成STM32CubeIDE 項(xiàng)目框架代碼,包括系統(tǒng)初始化代碼和已配置外設(shè)的初始化代碼。
如果用戶想在生成的 STM32CubeIDE 初始項(xiàng)目的基礎(chǔ)上添加自己的應(yīng)用程序代碼只需把用戶代碼寫在代碼沙箱段內(nèi),就可以在 STM32CubeMX 中修改 MCU 設(shè)置,重新生成代碼,而不會(huì)影響用戶已經(jīng)添加的程序代碼。
由此看來,使用STM32CubeMX 和 TrueSTUDIO 進(jìn)行STM32 開發(fā)是一個(gè)良好的組合方式!
編輯:黃飛
?
評(píng)論
查看更多