基于HAL库的STM32工程模板

来源参考:

第2讲 新建HAL版本MDK工程(下集)_哔哩哔哩_bilibili

学习嵌入式的王饱饱

1、新建工程文件夹

在桌面新建一个工程目录文件夹,并在文件夹里新建D/M/O/P/U文件夹

1.1Drivers文件夹

只有第一个是新建,其他都是拷贝

CMSIS

SYATEM

HAL-Driver

只保留两个文件

1.2、Middlewares文件夹处理

目前没有使用到中间件,所以保持空文件夹即可。

1.3Output文件夹处理

后续会在Keil中设置,这里保持空文件夹即可。

1.4Projects文件夹处理

在该目录下创建文件夹,命名为你使用的开发工具,笔者使用的是MDK-ARM,所以创建MDK-ARM文件夹,如下图所示:

这个文件夹用于存放开发工具的工程文件,在这里先保持空文件夹即可。

1.5Users文件夹处理

首先创建main.c和main.h文件,内容为空即可,后续再添加代码。

然后再进入解压后的固件包目录STM32CubeF4固件包\en.stm32cubef4_v1-26-0_v1.26.0\STM32Cube_FW_F4_V1.26.0\Projects\STM32446E_EVAL\Templates\Src

将下图红框选中的两个文件复制到Users文件夹中:

再进入到目录STM32CubeF4固件包\en.stm32cubef4_v1-26-0_v1.26.0\STM32Cube_FW_F4_V1.26.0\Projects\STM32446E_EVAL\Templates\Inc,将下图红框选中的两个文件复制到Users文件夹中:

此时Users文件夹如下图所示:

至此,文件夹操作处理完毕。

2、创建Keil工程模板

2.1新建Keil5工程

打开Keil5软件,点击菜单栏中Project->New uVision Project,之后填写工程名,习惯使用MCU的型号来作为工程名字,也可以按照个人喜好来命名。工程保存在第三章介绍的Projects/MDK-ARM中即可,如下图所示:

保存后弹出下面窗口,选择对应芯片型号

下面弹出的窗口选择取消就行

删除文件

2.2配置"品"

1.在Startup分组中添加启动文件,在\Drivers\CMSIS\Device\ST\STM32F1xx\Source\Templates\arm中。

再添加文件时,下方的文件过滤器默认是.c的,这里改成.即可,如下图所示:

system_stm32f1xx.c在目录\Drivers\CMSIS\Device\ST\STM32F1xx\Source\Templates中。剩下两个在\Users中。

2.Drivers/BSP分组先不添加文件。

3.Drivers/SYSTEM分组添加文件如下图所示:

点击保存,"品"配置完成。如下图所示。

2.3配置"魔术棒"

魔术棒就是这个图标,如下图所示:

1.点击后进行Target选项卡配置,如下图所示:

Xtal(MHz):8.0是外部高速晶振的时钟频率。

2.Output选项卡配置,如下图所示:

点击"Select Folder for Objects"按钮,选择第三章的3.4节介绍的/Output目录,设置将编译生成的文件存放在该目录。然后勾选Create HEX File。

3.Listing选项卡配置,如下图所示:

同样地,点击"Select Folder for Listings"按钮,选择第三章的3.4节介绍的/Output目录,设置将编译生成的文件存放在该目录。

4.C/C++选项卡配置,如下图所示:

填写Define:USE_HAL_DRIVER,STM32F103xE

注:STM32F103xE是笔者选择的启动文件的后缀,这里根据自己的情况进行填写。

3、填写代码

相关推荐
CODECOLLECT24 分钟前
京元 I62D Windows PDA 技术拆解:Windows 10 IoT 兼容 + 硬解码模块,如何降低工业软件迁移成本?
stm32·单片机·嵌入式硬件
BackCatK Chen1 小时前
STM32+FreeRTOS:嵌入式开发的黄金搭档,未来十年就靠它了!
stm32·单片机·嵌入式硬件·freertos·低功耗·rtdbs·工业控制
全栈游侠4 小时前
STM32F103XX 02-电源与备份寄存器
stm32·单片机·嵌入式硬件
Lsir10110_4 小时前
【Linux】中断 —— 操作系统的运行基石
linux·运维·嵌入式硬件
深圳市九鼎创展科技6 小时前
瑞芯微 RK3399 开发板 X3399 评测:高性能 ARM 平台的多面手
linux·arm开发·人工智能·单片机·嵌入式硬件·边缘计算
辰哥单片机设计6 小时前
STM32项目分享:车辆防盗报警系统
stm32·单片机·嵌入式硬件
風清掦7 小时前
【江科大STM32学习笔记-05】EXTI外部中断11
笔记·stm32·学习
小龙报7 小时前
【51单片机】从 0 到 1 玩转 51 蜂鸣器:分清有源无源,轻松驱动它奏响新年旋律
c语言·数据结构·c++·stm32·单片机·嵌入式硬件·51单片机
范纹杉想快点毕业7 小时前
嵌入式与单片机开发核心学习指南——从思维转变到第一性原理的深度实践
单片机·嵌入式硬件
Industio_触觉智能7 小时前
瑞芯微RK3566开发板规格书,详细参数配置,型号EVB3566-V1,基于RK3566核心板SOM3566邮票孔封装
嵌入式硬件·开发板·rk3568·rk3566·核心板·瑞芯微