目录
一、准备文件
准备HAL库文件: ST官网( 意法半导体-STMicroelectronics )搜索STM32Cube, 本文使用"STM32Cube_FW_F4_V1.24.1" 版本的HAL库, 使用的是F4的库文件。
创建文件:STM32F4_Template(工程目录)。
- App:保存APP应用程序。
- Bsw:保存底层驱动程序。
- Doc:保存说明文档。
- Lib:保存 HAL 库文件。
- Output:保存输出文件。
- Project:保存工程目录。

在 "Bsw" 目录下新建 "main" 目录。

在 "main" 目录下新建 "main.c" 文件。

将 "STM32Cube_FW_F4_V1.24.1\Drivers" 目录下的 "CMSIS" 和 "STM32F4xx_HAL_Driver"复制到工程中的 Lib 目录下。
二、创建工程
在Keil中新建一个工程,且命名为 "Project" 保存至 "Project" 目录下。

挑选芯片型号 STM32F407xx:

弹出的界面点击取消。

三、创建分组

STARTUP: startup_stm32f407xx.s。
CMSIS: system_stm32f4xx.c。
STM32F4xx_HAL_Driver: HAL 驱动库文件。
Bsw: 编写底层驱动文件。
App: 编写应用层程序。


向分组目录下加入文件:
STATTUP目录下加入 -> startup_stm32f407xx.s:
STM32F4_Template\Lib\CMSIS\Device\ST\STM32F4xx\Source\Templates\arm



CMSIS目录下加入 -> system_stm32f4xx.c:
STM32F4_Base_Template\STM32F4_Template\Lib\CMSIS\Device\ST\STM32F4xx\Source\Templates



加载HAL所有驱动库文件:
STM32F4_Base_Template\STM32F4_Template\Lib\STM32F4xx_HAL_Driver\Src


添加之前创建好的 main.c 文件:


点击OK:

创建的分组如下:

四、配置文件处理
将stm32f4xx_hal_conf_template.h 拷贝到 Lib目录下并命名为:stm32f4xx_hal_conf.h
STM32F4_Template\Lib\STM32F4xx_HAL_Driver\Inc


编写main 入口函数并保存:




配置定位.h目录:
STM32F4_Template\Lib\CMSIS\Include
STM32F4_Template\Lib\CMSIS\Device\ST\STM32F4xx\Include
STM32F4_Template\Lib\STM32F4xx_HAL_Driver\Inc
STM32F4_Template\Bsw\main

USE_HAL_DRIVER,STM32F407xx

五、编译错误处理
点击编译:
解决报错问题一:

没有引入该文件的目录:

STM32F4_Template\Lib

再编译:

解决报错问题二:

右键移除(Remove)以下框选的文件:


在编译->编译成功:
