STM32環境搭建&新建工程
- 軟件安裝:
- 開發方式&新建工程步驟&架構
- 個人心得
軟件安裝:
安裝Keil5 MDK
安裝器件支持包
軟件注冊
安裝STLINK驅動
安裝USB轉串口驅動
開發方式&新建工程步驟&架構
STM32開發方式:
1.寄存器 和51一樣,程序直接控制配置寄存器。最底層,效率最高,但是由于結構復雜,寄存器太多,不推薦這種開發方式
2.標準庫 庫函數(ST官方提供的封裝好的函數,調用這些函數直接配置寄存器,由于ST對寄存器封裝地比較好,這種方式既能滿足對寄存器的配置,對開發人員也比較友好,有利于提高開發效率)需要庫函數壓縮包,固件庫的文件,標準庫函數壓縮包
3.HAL庫適合快速上手STM32,同時移植效果更好,但是隱藏了底層邏輯。推薦標準庫開發,后面提高效率開發再學HAL庫開發
STM32F10x_StdPeriph_Lib_V3.5.0 STM32標準固件庫里面的文件說明:
_htmresc文件夾 兩張圖片,沒啥用
Libraries文件夾 存放的庫函數文件,要用到
Project文件夾 官方提供的工程示例和模板,以后使用庫函數的時候可以進行參考
Utilities文件夾 官方評估板的相關例程
Release_Notes.html發布文檔 版本說明
stm32f10x_stdperiph_lib_um.chm使用手冊 教如何使用這個庫函數,有時間可以看
工程的必要文件
1.Stm32的啟動文件
STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\arm
啟動文件有很多分類,但是我們只能添加其中一個,對應器件的FLASH內存大小來選擇啟動文件
2.STM32的外設寄存器描述文件、時鐘配置文件和函數
STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x文件夾下
stm32f10x.h、stm32f10x.h、stm32f10x.三個文件
stm32f10x.h是STM32的外設寄存器描述文件;和51單片機的頭文件REGX52.H一樣。描述STM32有哪些寄存器和它對應的地址的
system_stmf10x.c和.h文件時用來配置時鐘的,STM32主頻72MHz,就是system文件里的函數配置的
STM32由內核和內核外圍的設備組成,而且內核的寄存器描述和外圍設備的描述文件不是在一起的,所以還需添加內核寄存器的描述文件
3.內核寄存器的描述文件
STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\CoreSupport
core_cm3.h和core_cm3.c兩個文件
這兩個文件就是內核的寄存器描述(還帶了一些內核的配置函數,所以有一個.c文件)
這些文件都是STM32最基本的文件,不需要我們修改,添加就可。(文件圖標帶了小鑰匙,意味著只讀的文件)
工程選項里面要添加上這個文件夾的頭文件路徑,否則軟件找不到.h文件
STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\STM32F10x_StdPeriph_Driver\src文件夾
STM32的標準外設庫驅動
但是misc.c是內核的庫函數,其他是內核外的外設庫的庫函數
STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\STM32F10x_StdPeriph_Driver\inc
標準外設驅動庫的頭文件
但是固件庫的文件此時還不能直接使用,
STM32F10x_StdPeriph_Lib_V3.5.0\Project\STM32F10x_StdPeriph_Template文件夾
stm32f10x_conf.h、stm32f10x_it.c和stm32f10x_it.h三個文件
Stm32f10x_conf.h (configuration)配置庫函數頭文件的包含關系的;還有用來參數檢查的函數定義,這是所有庫函數都需要的
Stm32f10x_it.c 和it.h 用來存放中斷函數的
建立工程文件夾,Keil中新建工程,選擇型號
工程文件夾里建立Start、Library、User等文件夾,復制固件庫里面的文件到工程文件夾
工程里對應建立Start、Library、User等同名稱的分組,然后將文件夾內的文件添加到工程分組里
工程選項,C/C++,Include Paths內聲明所有包含頭文件的文件夾
工程選項,C/C++,Define內定義USE_STDPERIPH_DRIVER
工程選項,Debug,下拉列表選擇對應調試器,Settings,Flash Download里勾選Reset and Run
工程名字:工程干啥可以用文字說明,但是改名字不會很方便
Manage Run-Time Enviroment 新建工程小助手,可幫助快速新建工程,暫時不用
個人心得
在單片機嵌入式領域,個人推薦ARM內核的處理器芯片、
HAL庫和cubeMx是ST公司做的
GD用的話會有兼容性問題(GD也有自己的庫了)
(搞得越來越多啊,花里胡哨,誰來統一一下)
時間(240613)
其他芯片暫時不推薦學習