簡介cortex核心
cortex-m4核心
庫開發與暫存器開發的關係
stm32 韌體庫與 cmsis 標準
內部結構
最小系統
小馬哥四軸原始碼學習
新建工程
點燈!(gpio)
按鍵暫存器對映
時鐘系統
systick定時器
埠復用和重對映
串列埠串列埠試驗函式分析
中斷看門狗
通用定時器
☆ 階段性總結筆記一
gpio
stm32系列專為要求高效能、低成本、低功耗的嵌入式應用設計的arm cortex®-m0,m0+,m3, m4和m7核心。stm32型號的說明:以stm32f103rbt6這個型號的晶元為例,該型號的組成為7個部分,其命名規則如下:按核心架構分為不同產品:
主流產品(stm32f0、stm32f1、stm32f3)、超低功耗產品(stm32l0、stm32l1、stm32l4、stm32l4+)、高效能產品(stm32f2、stm32f4、stm32f7、stm32h7)
部分含義
stm32
stm32代表arm cortex-m核心的32位微控制器。
ff代表芯**系列。
103103代表增強型系列。
rr這一項代表引腳數,其中t代表36腳,c代表48腳,r代表64腳,v代表100腳,z代表144腳,i代表176腳。
bb這一項代表內嵌flash容量,其中6代表32k位元組flash,8代表64k位元組flash,b代表128k位元組flash,c代表256k位元組flash,d代表384k位元組flash,e代表512k位元組flash,g代表1m位元組flash。
tt這一項代表封裝,其中h代表bga封裝,t代表lqfp封裝,u代表vfqfpn封裝。
66這一項代表工作溫度範圍,其中6代表-40——85℃,7代表-40——105℃。
cortex-m4採用armv7-me架構
armv7架構定義了三大分工明確的系列:cortex-m3採用armv7-m架構,cortex-m0採用armv6-m架構,cortex-a5/a8採用armv7-a架構, 傳統的arm7系列採用的是armv4t架構。「a」系列:面向尖端的基於虛擬記憶體的作業系統和使用者應用
「r」系列:針對實時系統;
「m」系列:對微控制器。
cortex逐漸替代arm
stm32提供了乙個官方韌體庫,韌體庫就是函式的集合,韌體庫函式的作用是向下負責與暫存器直接打交道,向上提供使用者函式呼叫的介面(api)。
這個很容易理解,就好像c++裡一開始要自己寫字串操作函式,而官方直接把這些函式封裝起來,就不需要我們來寫,直接呼叫就行了
cmsis 分為 3 個基本功能層:
中介軟體訪問層:定義訪問中介軟體的通用 api。由 arm 提供,晶元廠商根據需要更新。
外設訪問層:定義硬體暫存器的位址以及外設的訪問函式。
從圖中可以看出,cmsis 層在整個系統中是處於中間層,向下負責與核心和各個外設直接打交
道,向上提供實時作業系統使用者程式呼叫的函式介面。如果沒有 cmsis 標準,那麼各個晶元公
司就會設計自己喜歡的風格的庫函式,而 cmsis 標準就是要強制規定,晶元生產公司設計的庫
函式必須按照 cmsis 這套規範來設計。
晶元資源
st mcu選型手冊 查晶元型號
核心
匯流排
儲存器
io口
外設介面
STM32學習筆記
剛到公司實習,要學習stm32開發,boss給了一塊戰艦開發板,讓我自己寫乙個功能要用在公司的產品上。難啊。以前根本沒接觸過stm32,只能一步一步慢慢來,利用晚上利用週末惡補一下。哎,算是為了大學前兩年還債吧。一 跑馬燈實驗 gpio輸出 實驗環境 keil4 實驗平台 戰艦stm32開發板 gp...
stm32學習筆記
開漏模式輸出 輸出暫存器上的 0 啟用 n mos,而輸出暫存器上的 1 將埠 置於高阻狀態 p mos從 被啟用 推挽模式輸出 輸出暫存器上的 0 啟用 n mos,而輸出暫存器上的 1 將啟用 p mos。上拉輸入 輸入高電平,然後接乙個 上拉電阻 保護作用 讀取此時的引腳電平為高電平 下拉輸入...
STM32 學習筆記
axf error l6218e undefined symbol referred from x.o 例如 mdk 報錯 stm32f103.axf error l6218e undefined symbol time1 8 init referred from led.o 分析 undefine...