想進一步學習嵌入式,選ARM還是STM32?
時間:2019-10-10 來源:西安中心,劉老師
最近有很多同學問:對嵌入式系統感興趣,想今后從事這方面的工作,在學校學完基于51的單片機原理之后該繼續學點什么,是ARM還是STM32?
大家可能只是聽說過這兩個名詞,但不清楚他們代表什么,其實這樣問就像在問:4缸汽油渦輪增壓發動機和大眾POLO有什么區別?
下面先來解釋以下ARM和STM32分別是什么:
ARM(中文名:安謀)公司是一家從事CPU芯片設計開發的廠商,但本身并不生產芯片,而是靠轉讓設計許可,由合作公司生產各種的芯片。世界各大半導體生產商從ARM公司購買其設計的ARM 微處理器核,根據各自不同的應用領域,加入適當的外圍電路,從而形成自己的ARM微處理器芯片進入市場。

STM32就是ST(意法半導體)公司生產的一系列使用ARM Cortex-M處理器內核的32位微控制器(Microcontroller)。

ARM的核心就像是汽車發動機的設計圖紙,不同的芯片廠家類似汽車生產商。作為汽車生產商首先要從ARM公司買來發動機的圖紙,再生產這款發動機,然后不同的汽車生產商按照自己的要求和理念,再設計生產不同的車體、底盤等,然后把發動機安裝進去,成為一款能夠出售的、實用的汽車。
ARM處理器中除了用于微控制器的Cortex-M系列的還有面向移動應用和實時應用領域的Cortex-A和Cortex-R系列的處理器核心。

學習建議:
STM32屬于微控制器也就是單片機,使用場合多為應用控制,它主要和8051,AVR等競爭低端單片機市場,優勢在于性價比高,片上資源較為豐富。如果只學STM32的話一個月就夠了,做這類應用主要還在于你對使用的硬件和外圍接口是否熟悉,比如SPI,IIC,SD卡和各類傳感器等。單片機的優點是成本低,缺點在于性能不足,做音頻和圖像處理的話速度還是太慢了。對于目前市場來說缺少的更多是嵌入式高端人才,低端人才已經飽和,工資一般不會太高,所以建議接下來繼續學習Cortex-A系列和Linux系統。在軟件和硬件的復雜度上Cortex-A相對于M系列高了一個層次,因此薪資也會高一個層次,需要學習嵌入式Linux,內核編程,驅動開發,應用軟件等知識。而且Linux系統的使用范圍更廣,不局限于嵌入式,就業范圍更廣。

