stm32環境搭建

MDK

http://www.keil.com/arm/mdk.asphtml

MDK-ARM(Microcontroller Development Kit) 是功能強大和經常使用的cortex-mx 開發環境。c++

其包含 µVision4 IDE,最新版本須要根據mcu的系列下載不一樣的pack包(http://www.keil.com/dd2/Pack/)以支持特定設備,目前stm32庫開發方式有兩種,一種是最新的cube方式,另外一種是傳統的標準庫方式,若是使用前者,不須要下載其它東西便可,若是須要stm的標準庫開發方式,還需單獨下載st官方的標準庫。數據結構

由於標準庫方式以前比較主流,參考資源較多,這裏先學習標準庫方式。app

官方標準固件庫

連接編輯器

Home  》Embedded Software  》MCUs Embedded Software  》STM32 Embedded Software函數

學習

首頁 》    軟件   》  微控制器軟件   》  STM32微控制器軟件spa

在灰色的導航中選擇 STM32 standard peripherals library,而後根據須要的型號進入對應頁面,在頁面最底部提供軟件下載地址(須要輸入郵箱)調試

如何使用標準庫

解壓下載的標準庫壓縮包,目錄結構以下:htm

├── _htmresc
├── Libraries
│   ├── CMSIS                                            符合cmsis規範的cortex核心驅動
│   └── STM32F4xx_StdPeriph_Driver        stm32外設驅動
├── Project
│   ├── STM32F4xx_StdPeriph_Examples   各外設使用例子有效代碼(基於官方評估板)
│   └── STM32F4xx_StdPeriph_Templates   例子的公共部分模版
└── Utilities
    ├── Media
    ├── ST
    ├── STM32_EVAL                                     例子中可能用到的其它評估板代碼
    └── Third_Party

上面是對基本目錄的解釋,另外根目錄有個chm幫助文件,關於固件庫的一切信息均可以在這個幫助裏找到。

重要文件說明

File name

Description

stm32f4xx_conf.h

stm32f4xx.h被引用(若是定義了宏USE_STDPERIPH_DRIVER)
位於庫目錄下的每一個實例項目和模版目錄,用於配置應用須要哪些外設驅動
This file can also be used to enable or disable the Library run-time failure detection before compiling the firmware library drivers, through the preprocessor define USE_FULL_ASSERT

stm32f4xx_ppp.h

stm32外設驅動頭文件,位於Libraries\STM32F4xx_StdPeriph_Driver
This file includes the PPP peripheral function and variable definitions used within these functions.

stm32f4xx_ppp.c

stm32外設驅動,位於Libraries\STM32F4xx_StdPeriph_Driver

stm32f4xx_it.h

中斷控制原型,位於庫目錄實例和模版目錄,實例中沒有被引用過

stm32f4xx_it.c

Template source file containing the interrupt service routine (ISR) for Cortex-M4F exceptions. User can add additional ISR(s) for the used peripheral(s) (for the available peripheral interrupt handler's name, please refer to the startup file startup_stm32f4xx.s).

 STM32F4xx CMSIS files

File name

Description

stm32f4xx.h

CMSIS 外設訪問層文件,該文件是惟一須要在main.c文件中包含的庫文件

該文件定義了全部外設的數據結構、地址映射、訪問寄存器的宏,寄存器聲明和位定義,在該文件末尾可經過註釋或不註釋#define USE_STDPERIPH_DRIVER來決定是使用庫仍是直接訪問寄存器方式開發

位於Libraries\CMSIS\Device\ST\STM32F4xx\Include

  This file contains:

  • configuration section that allows to select:

-  the device used in the target application
             -  to change few application-specific parameters such as the HSE crystal frequency

system_stm32f4xx.h

CMSIS 外設訪問層系統函數,如控制時鐘、執行SystemInit

stm32f4xx.h引用

位於Libraries\CMSIS\Device\ST\STM32F4xx\Source\Templates

system_stm32f4xx.c

CMSIS Cortex-M4F STM32F4xx devices peripheral access layer system source file.

startup_stm32f4xx.s

STM32F4xx 設備啓動彙編文件,每一個編譯器須要一個

位於Libraries\CMSIS\Device\ST\STM32F4xx\Source\Templates\arm

 總結下,若是使用庫開發方式,須要的文件以下,

startup_stm32f4xx.s 》stm32f4xx.hsystem_stm32f4xxstm32f4xx_conf.h 》用戶文件 》庫驅動

須要在編輯器的c/c++宏定義中定義USE_STDPERIPH_DRIVER和使用的cpu型號宏(參考stm32f4xx.h中對芯片型號的定義),多個宏間用逗號分割

注意

雖然m3和m4庫文件使用方式基本同樣,但仍有些區別,如庫文件目錄結構和宏的名稱

項目工程創建

須要從邏輯上分組,並將上述必須的文件添加進來,而後設置調試選型等

相關文章
相關標籤/搜索