Tangwx

Tangwx

博客网站

STM32F407VET6使用V1.9.0标准库创建工程

STM32F407VET6 使用 V1.9.0 标准库创建工程#

1. 新建项目目录#

对于完全新建的工程,需要自己新建一个空的工程目录,新建一个文件夹,下面放 5 个子文件夹,分别命名 Core、Hardware、Library、System、User,每个文件夹在后续会放置不同的工程文件

image-20230516094603253

2. 下载 STM32 固件库#

STM32 固件库包含了 STM32 外设对应的库函数 c 文件和 h 文件,以及必需的启动文件等,固件库同样的需要到官网下载,这里我提供蓝奏云下载

image-20230516094906621

3. 将固件库中的文件拷贝到工程路径#

首先需要将固件库中的外设文件拷贝到工程路径中,将固件库路径 \STM32F4xx_DSP_StdPeriph_Lib_V1.9.0\Libraries\STM32F4xx_StdPeriph_Driver下的srcinc文件夹拷贝到工程目录Library下,其中src 存放的是 固件库的.c 文件,inc 存放的是对应的.h 文件

image-20230516102142515

拷贝固件库\STM32F4xx_DSP_StdPeriph_Lib_V1.9.0\Libraries\CMSIS\Device\ST\STM32F4xx\Source\ Templat es\arm到工程目录Core下,文件startup_stm32f40_41xxx.s为启动文件

image-20230516102508965

拷贝固件库 \STM32F4xx_DSP_StdPeriph_Lib_V1.9.0\Libraries\CMSIS\Includ 如下相关核心文件到工程目录 CORE 下

image-20230516102620026

image-20230516102737816

image-20230516102903516

现在工程目录Core下已经拷贝了这些文件

将固件库 \STM32F4xx_DSP_StdPeriph_Lib_V1.9.0\Project\ STM32F4xx_StdPeriph_Templates 拷贝到工程目录 USER 下

image-20230516103319225

4.Keil 新建工程#

打开 Keil5,顶部菜单栏选择 Project→New uVision Project 创建新工程,如果有其他工程,先点击 Project->Close Project

image-20230516104320898

保存到刚刚我们新建文件夹的目录下,保存文件名为STM32F407VEProject

image-20230516104415707

选择芯片STM32F407VETx

image-20230516105042136

点击 OK,然后关闭下面窗口

image-20230516105128016

点击Manage Project Items

image-20230516105334004

修改成以下形式

image-20230516110855572

Core添加以下文件

image-20230516111104634

Library添加Library/src文件夹内所有文件

image-20230516111120725

User添加以下文件

image-20230516111139078

点击 OK 关闭窗口

点击魔术棒,添加文件路径

image-20230516110432554

添加以下路径

image-20230516111219323

点击 OK,再添加全局宏定义标识符STM32F40_41xxx,USE_STDPERIPH_DRIVER

image-20230516111512699

再点击 OK

点开main.c, 将内部数据清空,仅留下主函数

image-20230516111912616

再将User分组下面的 stm32f4xx_it.c 文件内删掉其中的32行对main.h 头文件的引入以及 144 SysTick_Handler 函数内容

image-20230516112029682

image-20230516112043558

最后点开Library找到stm32f4xx_fmc.c, 右键Options

include in Target Build前面的勾去掉,
stm32f4xx_fmc.c比较特殊。这个文件是STM32F42STM32F43系列才用到,所以我们这里要把它移除出工程(注意是 stm32f4xx_fmc.c ,不是 stm32f4xx_fsmc.c)。

image-20230516112357746

移除 FMC 和 FSMC 后在在编译有可能会发生以下情况:
image-20230516122752307
编译完成后我们发现还有错误,用鼠标双击错误信息找到报错的地方

image-20230516123649754

原因是重复定义了,算是官方 bug,需要注释掉报错的代码:

image-20230516123602246

将这部分注释掉即可发现警告消失了

至此工程新建完毕,我建好的工程链接

加载中...
此文章数据所有权由区块链加密技术和智能合约保障仅归创作者所有。