STM32學習之前傳
大家好!我是孤鴻獨影,最近有很多同學和朋友都會問我學習STM32有什麼用?該怎麼去學習STM32?因此我打算用這個部落格將自己學習STM32的一些收穫拿出來與大家一起分享,希望能夠對那些還沒入門或者正在入門的同學有所幫助。若有談論不妥之處,希望大家能夠批評指正,本人不勝感激!
一、嵌入式概述
在學習STM32之前我們需要了解一個概念---嵌入式。那到底什麼是嵌入式呢?嵌入式技術是專用計算機,它以應用為中心,以計算機技術為基礎,軟硬體均可裁剪,使用在對功能,功耗有嚴格要求的系統之中,嵌入式技術的開發人員需要對整個體系(從底層硬體到上層軟體作業系統)有所瞭解。
上圖粗略介紹了嵌入式技術的知識結構,從中我們可以看出嵌入式技術設計的知識面十分廣泛。大多數人從事於抽象層的開發,這一層是溝通嵌入式系統的硬體層和軟體作業系統的橋樑,因此主要的工作就是開發驅動程式、板級應用支援以及協調軟硬體的開發,所以需要對軟硬體都需要有一個深入的瞭解。
二、菜鳥變身技術大咖
對於很多正在入門的同學來說,一直都會有一個問題圍繞著大家,那就是應該怎麼做才能由一個什麼都不懂的小白變成一個技術大咖。
上述圖片簡單描述了學生到大咖的學習之路,由圖中可以看出越是往上層深入,越是接近於純軟體開發。但是這並不是說嵌入式開發人員不需要了解學習硬體知識。相反的,上層知識都是以底層知識為基礎,所以我覺得要想成為一個真正的嵌入式開發人員就更加應該瞭解,這樣才能更好的掌握嵌入式開發的整體流程和框架。
三、為什麼學習STM32
很多同學在大學時都有學習51微控制器,對於微控制器操作也有一個基本的認識。但是51微控制器作為上個世紀七十年代的產物,在如今這個科技高速發展的時代已經無法滿足大家的需求,因此51微控制器可以說是已經被淘汰了,一般來說只有學校才會使用它。
STM32晶片應該算是介於低端和高階晶片之間,相對於一些低端晶片,STM32擁有較為強大的核心架構,更多的片上外設以及可以執行uCOS、FreeRTOS等實時作業系統。而相對於那些能夠執行著Linux作業系統的高階CPU來說STM32的成本較低、實時性較強。因此學習STM32成為了大多數嵌入式開發人員的首選。
四、如何學好STM32
1、 需要有一塊可以下載的開發板以及相應的原理圖。
2、 想辦法找到相應視訊教程或者找人指導學習,但是一般開始接觸的時候最好能夠有人帶,畢竟這些是需要我們實際動手操作的。
3、 多去查閱資料
4、 多想多問,多想能夠讓你學得更深,多問能夠讓你學得更快
5、最後一點,也是最主要、最重要的一點,那就是一定一定要多敲程式碼!!!