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

在编译->编译成功:

相关推荐
硅基手札13 小时前
【串口技术系列文档 10】低功耗与唤醒机制
驱动开发·stm32·单片机·嵌入式硬件·mcu·计算机外设
逐光者93313 小时前
STM32——SPI 屏 · Flash · 高速
java·前端·stm32
yuehuaxin0114 小时前
上海贝岭 BL6523GX(D78) 单相计量芯片开发笔记:引脚定义、寄存器配置与校表流程
嵌入式硬件·智能家居·适配器模式·智能硬件
Kuakewei88814 小时前
可调OVP/OCP USB限流保护芯片IC的50μs过流响应测试
嵌入式硬件
HRTOS14 小时前
HRTOS 官网内容调整记录:首页、系统架构与文档页面优化
单片机·系统架构·51单片机
雨田言炎15 小时前
STM32之SysTick--系统定时器(内容简单但重要,附件有程序源码)
stm32·单片机·嵌入式硬件
ccbw1615 小时前
CH32M007K8U7:集成48V三相预驱的RISC-V电机MCU
单片机·嵌入式硬件
编程圈子16 小时前
I.MX6U 裸机开发 24. 电容触摸屏与 I2C 驱动
单片机·嵌入式硬件
Zwawa17 小时前
传感器模块都在交出什么:从模拟电压到数字协议
c语言·单片机·嵌入式
FakeOccupational18 小时前
【电路笔记 STM32】Cortex-M7 UART 中断模式(串口接收中断+串口空闲中断)
笔记·stm32·单片机