【STM32】新建HAL库工程模板

以正点原子精英为例

目录

1、准备工作

2、新建工程步骤

1、新建文件夹

2、新建工程框架

3、添加文件

4、魔术棒设置

5、新建main.c


1、准备工作

1、固件包下载:Search - STMicroelectronicshttps://www.st.com/content/st_com/en/search.html#q=STM32Cube-t=tools-page=1

2、开发环境搭建

2、新建工程步骤

1、新建文件夹

1. 新建工程文件夹

Drivers存放与硬件相关的驱动层文件
Middle
wares
存放正点原子提供的中间层组件文件和第三方中间层文件
Output存放工程编译输出文件
Projects存放 MDK 工程文件
User存放 HAL 库用户配置文件、 main.c、 stm32f1xx_it.c、 以及我们自己编写的其它应用程序

2. 拷贝工程相关文件
Drivers 文件夹

BSP存放开发板板级支持包驱动代码,如各种外设驱动
CMSIS存放 CMSIS 底层代码,如启动文件(.s 文件)、 stm32f1xx.h 等
STM32F1xx_HAL_Driver存放 ST 提供的 F1xx HAL 库驱动代码
SYSTEM存放系统级核心驱动代码,如 sys.c、 delay.c 和 usart.c 等

BSP 文件夹只匹配特定开发板使用,先建好备用
SYSTEM 文件夹,可从正点原子历程中获取
STM32F*******\CMSIS 文件夹, 从固件包获取

CMSIS:

由于这个文件夹原来设计是用于匹配全部 F1 系列的芯片的,导致非常大,
部分文件对我们的例程来说不会使用到,而且浪费磁盘的存储空间,所以我们会对这个文件夹
进行精简:打开目录“CMSIS\Device\ ST\STM32F1xx”,其中的 Include 文件夹里都是芯片的头
文件我们只留下下图 这三个头文件,其他删除。

Source 文件夹下的 Templates 文件夹留下以下内容

 arm 文件夹存放的是启动文件,我们只需要 startup_stm32f103xe.s,

 最后就是 CMSIS 文件夹下的 Include 文件夹,里面都是内核的头文件,我们只需要留下下图内容

STM32F1xx_HAL_Driver
该文件夹我们可以直接从 STM32CubeF1 固件包里面拷贝。直接拷贝“STM32CubeF1 固件包→Drivers”路径下的 “STM32F1xx_HAL_Driver”文件夹到我们工程的 Drivers 下,保留如下内容

 Middlewares 文件夹和Output 文件夹先不管

Projects 文件夹
新建叫MDK-ARM 的文件夹

User 文件夹
首先从官方固件包里面直接拷贝官方的模板工程下的 HAL 库用户配置文件和中断处理文件到我们的 User 文件夹里。官方的模板工程路径: STM32Cube_FW_F1_V1.8.0\Projects\STM3210E_EVAL \Templates 

我们需要的文件就在 Inc 和 Src 文件夹里面,在这两个文件夹里面找到: stm32f1xx_it.c、
stm32f1xx_it.h、 stm32f1xx_hal_conf.h 这三个文件,并且拷贝到我们的 User 文件夹下。

2、新建工程框架

打开 Keil uVision5, 点击菜单 Project ->New Uvision Project
保存到Projects\MDK-ARM
 

据自己使用的芯片型号依次选择即可(需要提前安装packs包)

 DebugConfig 文件夹用于存储一些调试配置文件

 Listings 和 Objects 文件
夹用来存储 MDK 编译过程的一些中间文件。这里,我们把 Listings 和 Objects 文件夹删除,我
们后面会把编译中间文件存放到 Output 文件夹。

3、添加文件

在 Project→Target 上右键,选择 Mana红绿白图标(方法二)进入工程管理界面,
按下图设置名字并添加文件

添加启动文件
该文件由 ST 官方提供,对于 STM32F103 来说有 4 个启动文件可选

p_stm32f103x6.sFlash≤32KB用于小容量 F103 系列芯片的启动文件
startup_stm32f103xb.s64KB≤Flash≤128KB用于中容量 F103 系列芯片的启动文件
startup_stm32f103xe.s256KB≤Flash≤512KB用于大容量 F103 系列芯片的启动文件
startup_stm32f103xg.s768KB≤Flash≤1024KB用于超大容量 F103 系列芯片的启动文件

文件位于Drivers\CMSIS\Device\ST\STM32F1xx\Source\Templates\arm

 添加 User 源码

依次添加 stm32f1xx_it.c和 system_stm32f1xx.c 到该分组下
1、User

2、Drivers\CMSIS\Device\ST\STM32F1xx\Source\Templates

添加 SYSTEM 源码
依次添加delay.c、 sys.c 和 usart.c 到该分组下
 

添加 STM32F1xx_HAL_Driver 源码


      按理说应该将Drivers\STM32F1xx_HAL_Driver\Src下所有文件添加,但是我们进行裁剪用到哪个添加哪个

 依次添加 stm32f1xx_hal.c、 stm32f1xx_hal_cortex.c、 stm32f1xx_hal_dma.c、 stm32f1xx_hal_gpio.c、 stm32f1xx_hal_gpio_ex.c、 stm32f1xx_hal_rcc.c、
stm32f1xx_hal_rcc_ex.c、 stm32f1xx_hal_uart.c 和 stm32f1xx_hal_usart.c 到该分组下

4、魔术棒设置

1. 设置 Target 选项卡
 

设置 Output 选项卡

 设置 Listing 选项卡

设置 C/C++选项卡
 

设置 Debug 选项卡
 

设置 Utilities 选项卡
 

5、新建main.c

 

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
stm32f4hal库工程模板是为了方便使用STM32F4系列微控制器的HAL(Hardware Abstraction Layer)库而提供的一个项目起始模板STM32F4系列微控制器在嵌入式系统开发中具有广泛应用,HAL库为用户提供了一套抽象的硬件驱动接口,简化了开发过程,降低了学习和开发的难度。 stm32f4hal库工程模板通常包括以下几个重要部分: 1. 头文件和源文件:这些文件包含了使用HAL库所需的函数和宏定义。用户可以根据自己的需求调用相应的函数,完成对芯片内置外设的配置和控制。 2. 程序入口文件(main.c):这个文件是项目的入口,包含了主函数(main),可以在这个函数中初始化外设、配置中断、执行任务等。 3. 配置文件:这些文件包含了微控制器的各种配置选项,比如时钟配置、中断配置、GPIO配置等。用户可以根据自己的硬件环境和需求进行相应的配置。 4. 驱动文件:这些文件是HAL库的底层驱动文件,提供了对各种外设的底层操作接口,包括GPIO、USART、SPI、I2C等。用户可以根据需要选择性地使用这些驱动文件。 使用stm32f4hal库工程模板可以大大简化项目的搭建和开发过程,用户只需关注自己的业务逻辑,而不必过多关注底层硬件的具体实现。同时,HAL库还提供了很多示例代码和文档,对于新手来说是一个很好的学习和入门平台。 总之,stm32f4hal库工程模板是一个便于开发人员快速搭建STM32F4系列微控制器项目的起始模板,通过引入HAL库和预先配置好的工程结构,帮助开发者更快捷、高效地进行嵌入式系统开发。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值