關於嵌入式學習隨筆 1《STM32簡介》

2022-07-27 17:54:10 字數 1675 閱讀 2256

什麼是stm32?

·新的基於arm核心的32位mcu系列

-核心為arm公司為要求高效能、低成本、低功耗的嵌入式應用專門設計的contex-m核心

-標準的arm架構

·cortex-m7採用armv7-me(2023年後)架構

armv7架構定義了三大分工明確的系列:

1、「a」系列:面向尖端的基於虛擬記憶體的作業系統和使用者應用。「a8」,「a9」系列都 是較為高階的晶元,可以執行安卓、liuix作業系統。

2、「r」系列:針對時時作業系統。

3、「m」系列:對微控制器。

cortex實際上與arm一樣

m3-72mhz的執行速度

m4-168mhz的執行速度dsp指令功能顯著增強

stm32f103zet6名字的命名時有規則的

stm32型號的說明:以stm32f103zet6這個型號的晶元為例,該型號的組成為7個部分,其命名規則如下:

(1)stm32:stm32代表arm cortex-m3核心的32位微控制器。

(2)f:f代表芯**系列。

(3)103:103代表增強型系列。

(4)z:r這一項代表引腳數,其中t代表36腳,c代表48腳,r代表64腳,v代表100腳,z代表144腳。

(5)e:b這一項代表內嵌flash容量,其中6代表32k位元組flash,8代表64k位元組flash,b代表128k位元組flash,c代表256k位元組flash,d代表384k位元組flash,e代表512k位元組flash。

(6)t:t這一項代表封裝,其中h代表bga封裝,t代表lqfp封裝,u代表vfqfpn封裝。

(7)6:6這一項代表工作溫度範圍,其中6代表-40——85℃,7代表-40——105℃。

·韌體庫是什麼?

韌體庫就是函式的集合(api),把暫存器操作封裝起來。為了方便對暫存器的操作而進行的封裝。在操作韌體庫的時候當然也可以操作暫存器。

·hal庫是什麼?

大家都知道,嵌入式程式設計有兩種操作方式,一種是暫存器操作程式設計,一種是庫函式程式設計,庫函式操作是把常用功能以函式形式封裝起來,讓人們更容易讀懂,具有較高的可讀性,方便移植,庫函式目前有標準庫、hal庫較為常用,在m3一般常用標準庫,在之後的m4可用標準庫與hal庫,m4之後的m7一般只有hal庫,可以說hal庫是stm公司後來推出來的推薦大家使用的庫,hal庫的最大優點在於他可以很方便的在各個stm平台移植。

·庫函式操作與暫存器操作有什麼區別?

其實庫函式操作的實質還是暫存器操作,最底層仍然是暫存器操作,只是我們對其進行了封裝,封裝成了一些具有獨特功能的函式,之後我們就直接通過函式操作就可以了,這樣做的目的是為了增強程式的可讀性,其本質仍然是對暫存器的操作。而暫存器操作需要我們十分了解晶元的內部暫存器,以及暫存器每一位的功能,這樣才能進行程式設計,而暫存器一般有很多,而且每個暫存器一般都有很多位,全部記住是不現實的,因此,我是更加推薦使用庫函式的操作方法,能讓讀者很容易的知道程式設計的目的,即想要實現的功能。

·庫函式操作與暫存器操作可以同時使用嗎?

當然這是可以的,只要理解了其本質就很容易明白了,庫函式操作的本質即對暫存器的操作,只要操作不是相互衝突的,當然都可以。另外乙個不推薦使用暫存器操作的原因是不好檢查錯誤,當程式出現錯誤的時候,你很難檢查出是哪一步操作出現的錯誤。

嵌入式程式設計學習隨筆

1.1arm介紹1 0 為什麼要推出arm彙編 0.1 對比x86,8051彙編,從更底層的角度去理解相關的知識的 0.2 為後續嵌入式課程作準備 s3c2440,stm32f103,exynos4412 0.3 學習目標 了解arm的體系結構,能看懂arm彙編 1 arm分類 參考官方 1.1版本...

STM32嵌入式開發學習筆記(一)

stm32cubemx是st官方推出的一種stm32設定和初始化c 的生成器。它可以直觀的選擇stm32微控制器 配置微控制器 自動處理引腳衝突 動態設定確定時鐘樹 動態確定引數設定的外圍和中介軟體模式和初始化。cubemx生成的 可以在keil iar gcc等程式設計軟體上面使用。簡單理解,就是...

嵌入式學習1

嵌入式學習第一天 linux檔案處理命令 1.mkdir 作用是建立名稱為dirname的子目錄 使用許可權是所以使用者 格式mkdir options 目錄名 options 主要引數 m mode 模式 設定許可權 模式 與chmod類似 p parents 需要是建立上層目錄 如果目錄早已存在...