STM32F407新建工程

工作被插入一个新项目,要用STM32F407来开发。以前没用过这款。于是要完全新建一个工程模板出来。

步骤一、我用的是Keil uVision5,当时安装的版本是MDK525,并没有安装STM32F4系列软件包。于是先从http://www.keil.com/dd2/pack/#/eula-container里下载

pack软件包。然后点击直接安装。

步骤二、到ST官网下载STM32F4xx固件库。
在这里插入图片描述
解压该固件库,得
STM32F407新建工程_第1张图片
步骤三、新建一个文件夹,用于该项目开发。假设这里给该文件夹命名为test。然后在该文件夹内再新建3个空文件夹,分别命名为:CMSIS,STM32F4xx_StdPeriph_Driver,user,如下所示:
STM32F407新建工程_第2张图片
然后把解压得的固件库文件夹与test文件夹并列排放,以便拖拽文件。
STM32F407新建工程_第3张图片
在左边的固件库里,其实我们只用到Libraries和Project里面的文件,其它的可以删掉(也可以保留,以作参考)。
下面就开始拖拽文件了!
1、按如图所示路径拖拽core_cm4.h和ore_cmFunc.h和core_cmInstr.h和core_cm4_simd.h四个文件到test的CMSIS文件夹中。
STM32F407新建工程_第4张图片
2、按如图所示路径拖拽startup_stm32f40xx.s一个文件到test的CMSIS文件夹中。
STM32F407新建工程_第5张图片
3、按如图所示路径拖拽stm32f4xx.h和system_stm32f4xx.h两文件到test的CMSIS文件夹中。
STM32F407新建工程_第6张图片
4、按如图所示路径拖拽system_stm32f4xx.c一个文件到test的CMSIS文件夹中。
STM32F407新建工程_第7张图片
最后CMSIS文件夹里共有8个文件。
STM32F407新建工程_第8张图片
5、直接把\Libraries\STM32F4xx_StdPeriph_Driver下的src目录和inc目录copy到test的STM32F4xx_StdPeriph_Driver文件夹里
在这里插入图片描述
6、复制中断函数文件。\Project\STM32F4xx_StdPeriph_Templates下的stm32f4xx_conf.h和stm32f4xx_it.c和stm32f4xx_it.h拖拽到test的user文件夹里。
STM32F407新建工程_第9张图片
7、在user文件夹里新建一个main函数文件。内容如下:
#include “stm32f4xx.h”
#include “stm32f4xx_it.h”
int main(void)
{
while(1)
{
}
}
步骤四、MDK建工程。我安装的版本是MDK5.25.我们在第一步已经安装了STM32F4x系列pack。
1、点击Project,在下拉菜单里选New uVision Project。项目存放路径选test
STM32F407新建工程_第10张图片
2、选mcu:STM32F407VETx
STM32F407新建工程_第11张图片
自动弹出的信息框直接关闭(因为我们已经有了这些内容)
STM32F407新建工程_第12张图片
3、给项目添加文件内容。
在这里插入图片描述
STM32F407新建工程_第13张图片
STM32F407新建工程_第14张图片
STM32F4xx_StdPeriph_Driver只需要添加src里面的文件就行了
STM32F407新建工程_第15张图片
STM32F407新建工程_第16张图片
STM32F407新建工程_第17张图片
4、工程设置。
STM32F407新建工程_第18张图片
增加hex文件输出(最终生产烧录文件)
STM32F407新建工程_第19张图片
在C/C++选项卡,填入define内容
STM32F40XX,USE_STDPERIPH_DRIVER (注意:两文件间加个英文输入法下的“逗号”,另外XX要大写!)
STM32F407新建工程_第20张图片
添加include路径
STM32F407新建工程_第21张图片
5、编译文件。出现很多报错。例如
STM32F4xx_StdPeriph_Driver\src\stm32f4xx_fmc.c(269): error: #20: identifier “FMC_Bank1E” is undefined
STM32F407新建工程_第22张图片
STM32F407新建工程_第23张图片
百度得知:
这是由于不支持FSMC导致的,在库函数中应该还能找到一个FMC.c的文件,FMC文件实现的功能和FSMC一样。把FSMC文件去掉或者不让它在工程中编译就可以了。
STM32F407新建工程_第24张图片
去掉此2文件后重新编译,ok
STM32F407新建工程_第25张图片

你可能感兴趣的:(学习笔记,STM32)