【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
    评论
您好!要在Keil uVision5中创建一个使用HAL库的新工程,您可以按照以下步骤进行操作: 1. 打开Keil uVision5。如果您尚未安装Keil软件,请先下载并安装它。 2. 在菜单栏中,选择 "Project"(项目) -> "New µVision Project"(新建µVision项目)。 3. 在弹出的对话框中,选择一个适当的文件夹来保存您的工程,并为工程指定一个名称。然后点击 "Save"(保存)。 4. 在新建工程中,右键单击 "Target 1"(目标1)并选择 "Options for Target 'Target 1'"(目标1的选项)。 5. 在 "Target Options"(目标选项)对话框中,选择 "C/C++" 选项卡。 6. 在 "Include Paths"(包含路径)下,添加HAL库的路径。这取决于您所使用的具体HAL库版本和位置,但通常包含在一个名为 "STM32Cube_FW_XXX" 的文件夹中。点击右侧的 "..." 按钮,并选择正确的路径。 7. 在 "Define"(定义)选项卡下,您可以添加适当的宏定义(如果有需要)。 8. 点击 "OK"(确定)保存设置并关闭对话框。 9. 在 "Project"(项目)窗口中,右键单击 "Source Group 1"(源组1),选择 "Add New Item to Group 'Source Group 1'"(向组 'Source Group 1' 添加新项目)。 10. 在弹出的对话框中,选择 "C Source File"(C源文件),并为文件指定一个名称,然后点击 "Add"(添加)。 11. 在新创建的源文件中,您可以编写您的代码,并使用HAL库的功能。 以上是在Keil uVision5中创建使用HAL库的新工程的基本步骤。请注意,具体步骤可能会因您使用的HAL库版本和STM32系列芯片而有所不同。在实际操作中,请参考相关的HAL库文档和Keil软件的用户手册,以获取更详细的指导。 希望对您有帮助!如有任何问题,请随时提问。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值