stm32hal库工程模板搭建

使用HAL库需要为工程准备许多相关文件,也就是创建HAL库的工程模板。工程模块没有统一的格式, 通常是根据多年的开发经验和使用习惯总结出来的。
在这里插入图片描述

各文件夹、文件说明如下:
 Core:存放从SDK文件夹抽取的部分可能会修改的核心文件;
 Driver: 存放用户编写的外设驱动文件;
 Main: 存放主函数文件;
 Project: 存放Keil工程文件,包含目标二进制文件;
 SDK:存放CMSIS和HAL库;
 Clean.bat:Windows脚本,用于清理Project里Keil生成的工程文件;
 Readme.txt:该工程的说明信息
“SDK”目录的内容来自配套资料“2_原厂资料\7.0_en.stm32cubef1(原厂固件包示例源码).zip”,即里 面“Drivers”目录下的“CMSIS”和“STM32F1xx_HAL_Driver”。
“Core”目录的内容来自“CMSIS\Device\ST\STM32F1xx\Source\Templates\arm\startup_stm32f103xb.s”;
“STM32Cube_FW_F1_V1.8.0\Projects\STM3210E_EVAL\Templates\”下的“Src\system_stm32f1xx.c”、“Src\stm32f1xx_it.c”、“Inc\stm32f1xx_it.h”、“Inc\stm32f1xx_hal_conf.h”;还需要手动创建“stm32f1xx_clk.c”
和“stm32f1xx_clk.h”,这两个文件内容是一些时钟初始化,参考“1_工程模板”的工程代码。
“Driver”目录存放用户编写的外设驱动代码,比如LED灯驱动,这里示例不涉及外设,暂为空。
“Main”为存放主函数文件目录,创建“main.c”和“main.h” ,参考“1_工程模板”的工程代码。
“Project”用于存放工程文件,工程文件由创建Keil工程自动生成,这里打开Keil。
打开Keil后,点击“Project”下的“New μVision Project”,如图 7.1.2 所示。

接着选中“Main”组后,点击“Add Files…”,选中“main.c”,再点击“Add

接着选中“Core”,点击“Add Files…”,接着在弹出的文件选择界面,进入“Core”目录,然后需要 修改“文件类型”下拉选择框为“All files(.)”,才能看到所有文件。接着添加如图以下文件。
在这里插入图片描述

再点击“Groups”的 新建图标,创建一个新的组,名为“Driver”,该组没有文件,无需添加。再新 建“SDK”,加入“SDK\STM32F1xx_HAL_Driver\Src”下的几个必须文件。
在这里插入图片描述

点击“工程项目选项”按钮 ,在弹出的窗口,选择“Target”标签,如图 所示。追求稳定,这里设置ARM交叉编译工具链为“Use default compiler version 5”。“Use MicroLIB”也可以勾选上,编译出来的文件占用资源会更小,也为后面调试串口实验提供printf。再下面是Flash和RAM的起始地址和大小,与前面图 所示的Flash和RAM是 吻合的,这里无需修改。

在这里插入图片描述

切换到“Output”,勾选上“Create HEX File”,生成hex文件供其它烧写工具使用
在这里插入图片描述

再切换到“C/C++”标签,在“Define”栏填入“USE_HAL_DRIVER,STM32F103xB”,分别表示使 用HAL库,使用的芯片型号系列。HAL库很多C语言语法采用C99标准,这里需要勾选上“C99 Mode”,不 然会编译报错。最后点击“Include Paths”最右边的按钮 添加头文件,如图 所示。 在弹出的文件夹设置窗口,点击 按钮,依次添加如图所示路径,最后点击“OK。

在这里插入图片描述

切换到“Debug”标签,点击在这里插入图片描述
我们使用的ST-Link,因此需要选择“ST-Link Debugger”,最后点击“OK”。

在这里插入图片描述

编译后出现Verify ok即表示编译、烧写都正常(当前工程主函数没有任何内容,开发板无任何现象。

总结
工程模块的创建步骤如下:

  1. 创建相关文件夹;
  2. 复制CMSIS和HAL库;
  3. 创建“main.c/h”和“stm32f1xx_clk.c/h”;
  4. 创建新Keil工程;
  5. 添加组文件夹和工程文件;
  6. 配置Keil设置

Keill的通用设置
1.
Keil默认在下载程序后,需要手动按下开发板复位才能启动程序。通过修改修改配置,可以下载后自动
复位重启运行程序,方便调试
切换到“Utilities”标签,点击“Settings
在这里插入图片描述

随后弹出设置界面,切换到“Flash Download”标签,勾选上“Reset and Run”,如图 所示。接 着再切换到“Pack”标签,去掉勾选“Enable”,如图所示

实际开发中,可能需要Bin格式的下载文件,而Keil默认不会生成Bin格式文件,需要进行相关配置。点击按钮,切换到“User”标签,在“After Build/Rebuild”添加“fromelf --bin -o "$L@L.bin" "#L"”,同时 勾选“Run #1”,表示在编译完后,执行fromelf命令生成bin文件。
在这里插入图片描述

设置完成后,点击“OK”保存。重新编译整个工程,将在工程的“Project\Objects”目录下生成xx.bin文件(xx为工程名)。

  • 0
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

吴凯你在想啥呢

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值