STM32F407VET6 使用 V1.9.0 標準庫創建工程#
1. 新建項目目錄#
對於完全新建的工程,需要自己新建一個空的工程目錄,新建一個文件夾,下面放 5 個子文件夾,分別命名 Core、Hardware、Library、System、User,每個文件夾在後續會放置不同的工程文件
2. 下載 STM32 固件庫#
STM32 固件庫包含了 STM32 外設對應的庫函數 c 文件和 h 文件,以及必需的啟動文件等,固件庫同樣的需要到官網下載,這裡我提供藍奏雲下載
3. 將固件庫中的文件拷貝到工程路徑#
首先需要將固件庫中的外設文件拷貝到工程路徑中,將固件庫路徑 \STM32F4xx_DSP_StdPeriph_Lib_V1.9.0\Libraries\STM32F4xx_StdPeriph_Driver
下的src
和inc
文件夾拷貝到工程目錄Library
下,其中src
存放的是 固件庫的.c
文件,inc
存放的是對應的.h
文件
拷貝固件庫\STM32F4xx_DSP_StdPeriph_Lib_V1.9.0\Libraries\CMSIS\Device\ST\STM32F4xx\Source\ Templat es\arm
到工程目錄Core
下,文件startup_stm32f40_41xxx.s
為啟動文件
拷貝固件庫 \STM32F4xx_DSP_StdPeriph_Lib_V1.9.0\Libraries\CMSIS\Includ 如下相關核心文件到工程目錄 CORE 下
現在工程目錄Core
下已經拷貝了這些文件
將固件庫 \STM32F4xx_DSP_StdPeriph_Lib_V1.9.0\Project\ STM32F4xx_StdPeriph_Templates 拷貝到工程目錄 USER 下
4.Keil 新建工程#
打開 Keil5,頂部菜單欄選擇 Project→New uVision Project
創建新工程,如果有其他工程,先點擊 Project->Close Project
保存到剛剛我們新建文件夾的目錄下,保存文件名為STM32F407VEProject
選擇芯片STM32F407VETx
點擊 OK,然後關閉下面窗口
點擊Manage Project Items
修改成以下形式
向Core
添加以下文件
向Library
添加Library/src
文件夾內所有文件
向User
添加以下文件
點擊 OK 關閉窗口
點擊魔術棒,添加文件路徑
添加以下路徑
點擊 OK,再添加全局宏定義標識符STM32F40_41xxx,USE_STDPERIPH_DRIVER
再點擊 OK
點開main.c
, 將內部數據清空,僅留下主函數
再將User
分組下面的 stm32f4xx_it.c
文件內刪掉其中的32
行對main.h
頭文件的引入以及 144
行 SysTick_Handler
函數內容
最後點開Library
找到stm32f4xx_fmc.c
, 右鍵Options
將include in Target Build
前面的勾去掉,
stm32f4xx_fmc.c
比較特殊。這個文件是STM32F42
和STM32F43
系列才用到,所以我們這裡要把它移除出工程(注意是 stm32f4xx_fmc.c ,不是 stm32f4xx_fsmc.c)。
移除 FMC 和 FSMC 後在在編譯有可能會發生以下情況:
編譯完成後我們發現還有錯誤,用鼠標雙擊錯誤信息找到報錯的地方
原因是重複定義了,算是官方 bug,需要註釋掉報錯的代碼:
將這部分註釋掉即可發現警告消失了
至此工程新建完畢,我建好的工程鏈接