STM32(HAL_工程模板的搭建)

目录

一、准备文件

二、创建工程

三、创建分组

四、配置文件处理

五、编译错误处理


一、准备文件

准备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)以下框选的文件:

在编译->编译成功:

相关推荐
集思广益的灰太狼1 小时前
静电的起因与静电效应:技术分析与应用
单片机·硬件工程
憧憬一下2 小时前
stm32之FLASH
stm32·单片机·嵌入式
@NachoNEKO3 小时前
一种资源有限单片机处理cJSON数据的方法
单片机·嵌入式硬件
qq_301881694 小时前
XD08M3232接近感应单片机的接近感应模块的工作原理
单片机·嵌入式硬件·硬件架构
爱学习的小旭4 小时前
STMCubeMX使用TB6612驱动编码轮并进行测速
单片机·嵌入式硬件
不脱发的程序猿5 小时前
MCU裸机程序如何移植到RTOS?
单片机·嵌入式硬件·rtos
PAQQ5 小时前
【python】windows实现与k230使用socket通信并传输文件
python·stm32·单片机
小智学长 | 嵌入式5 小时前
单片机-STM32部分:14、SPI
单片机·嵌入式硬件
深圳市青牛科技实业有限公司5 小时前
D2203使用手册—高压、小电流LDO产品4.6V~36V、150mA
人工智能·单片机·嵌入式硬件·电动工具·工业散热风扇
SY师弟6 小时前
51单片机——交通指示灯控制器设计
c语言·单片机·嵌入式硬件·51单片机