基于HAL库创建Keil工程模板

【百问网】物联网学习笔记

Keil创建HAL库工程模板步骤:

1. 创建相关文件夹;

2. 复制CMSIS和HAL库;

3. 创建“main.c/h”和“stm32f1xx_clk.c/h”;

4. 创建新Keil工程;

5. 添加组文件夹和工程文件;

6. 配置Keil设置

1. 创建相关文件夹

各文件夹、文件说明如下: 

Core:存放从SDK文件夹抽取的部分可能会修改的核心文件;

 Driver: 存放用户编写的外设驱动文件;

 Main: 存放主函数文件;

 Project: 存放Keil工程文件,包含目标二进制文件;

 SDK:存放CMSIS和HAL库;

 Clean.bat:Windows脚本,用于清理Project里Keil生成的工程文件;

 Readme.txt:该工程的说明信息;

2. 复制CMSIS和HAL库

“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”;

3. 创建“main.c/h”和“stm32f1xx_clk.c/h”

还需要手动创建“stm32f1xx_clk.c” 和“stm32f1xx_clk.h”,这两个文件内容是一些时钟初始化。

Project”用于存放工程文件,工程文件由创建Keil工程自动生成。

4.打开Keil,新建工程

保存路径在Project。

5. 添加组文件夹和工程文件

点击“工程项目管理”按钮为工程添加文件,工程添加后的各目录:

6. 配置Keil设置

接着进入主界面,点击“工程项目选项”按钮“魔术棒”,设置Target

切换到“Output”,勾选上“Create HEX File”,生成hex文件供其它烧写工具使用。

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

添加头文件路径 :

 切换到“Debug”标签,使用的ST-Link,因此需要选择“ST-Link Debugger”,最后点击“OK”

之后便可以以此工程为模板,编辑main.c,向“Driver”添加外设驱动程序,进行开发。

比如新建LED部分的驱动代码,源代码文件与头文件分别是“driver_led.c”,“driver_led.h”, 保存在工程文件夹“Driver”中,这样方便移植与阅读。

HAL库:官方推荐,易读,易移植

要会使用C语言操作寄存器,库开发(标准库、HAL库)

调用库函数去操作寄存器

下载资料:

STM32F103C8 - 主流增强型ARM Cortex-M3 MCU,具有64 KB Flash、72 MHz CPU、电机控制、USB和CAN - STMicroelectronicsSTM32F103C8 - 主流增强型ARM Cortex-M3 MCU,具有64 KB Flash、72 MHz CPU、电机控制、USB和CAN, STM32F103C8T6TR, STM32F103C8T6, STM32F103C8T7TR, STM32F103C8T7, STMicroelectronicshttps://www.st.com/zh/microcontrollers-microprocessors/stm32f103c8.html#documentationSTM32CubeF1 - STM32Cube MCU包,用于STM32F1系列(HAL、底层API和CMSIS(CORE、DSP和RTOS)、USB、TCP/IP、File system、RTOS和Graphic - 附带在以下ST板上运行的示例:STM32 Nucleo、探索套件和评估板) - STMicroelectronicsSTM32CubeF1 - STM32Cube MCU包,用于STM32F1系列(HAL、底层API和CMSIS(CORE、DSP和RTOS)、USB、TCP/IP、File system、RTOS和Graphic - 附带在以下ST板上运行的示例:STM32 Nucleo、探索套件和评估板), STM32CubeF1, Patch_CubeF1, STMicroelectronicshttps://www.st.com/zh/embedded-software/stm32cubef1.html#

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值