【stm32-新建工程-HAL库版本】

stm32-新建工程-HAL库版本

  • [■ 1. 下载STM32Cube官方固件包(F1/F4/F7/H7)](#■ 1. 下载STM32Cube官方固件包(F1/F4/F7/H7))
  • [■ 2. 新建HAL库版本MDK工程所需的文件夹](#■ 2. 新建HAL库版本MDK工程所需的文件夹)
    • [■ 2.1 新建工程文件- XXX项目并在下面新建如下文件夹](#■ 2.1 新建工程文件- XXX项目并在下面新建如下文件夹)
    • [■ 2.2 向Drivers文件添加如下文件](#■ 2.2 向Drivers文件添加如下文件)
    • [■ 2.3 向Mrddlewares文件添加文件](#■ 2.3 向Mrddlewares文件添加文件)
    • [■ 2.4 设置Output文件夹](#■ 2.4 设置Output文件夹)
    • [■ 2.5 设置 Projects](#■ 2.5 设置 Projects)
    • [■ 2.5 设置 User文件夹](#■ 2.5 设置 User文件夹)
  • [■ 3. 添加USE_HAL_DRIVER,STM32F103xE 和C/C++ h文件路径](#■ 3. 添加USE_HAL_DRIVER,STM32F103xE 和C/C++ h文件路径)
  • [■ 4. 编译解决errer](#■ 4. 编译解决errer)

■ 1. 下载STM32Cube官方固件包(F1/F4/F7/H7)

参考 STM32-新建工程-寄存器版本-下载相关STM32Cube官方固件包(F1,F4,F7,H7)
添加链接描述

■ 2. 新建HAL库版本MDK工程所需的文件夹

■ 2.1 新建工程文件- XXX项目并在下面新建如下文件夹

新建文件夹 作用描述
Drivers 硬件相关的驱动层文件
Mrddlewares 存放中间层组件文件和第三方中间层文件
Output 存存放工程编译输出文件 比如: .hex、 .bin、 .o 文件等
Projects 存放 MDK 工程文件
User 存放HAL库用户配置文件、main.c、中断处理文件,以及分散加载文件

■ 2.2 向Drivers文件添加如下文件

新建文件夹 作用描述
BSP 存放开发板板级支持包驱动代码,如各种外设驱动
CMISS 存放 CMSIS 底层代码,如启动文件(.s 文件)等
STM32F1xx_HAL_Driver 存放正点原子系统级核心驱动代码,如 sys.c、 delay.c 和 usart.c 等
SYSTEM 存放 ST 提供的 F1系列HAL库驱动源码
  1. 向BSP添加LED,等板子驱动文件。

  2. 向BSP添加LCD,等板子驱动文件。

  3. 向BSP添加KEY,等板子驱动文件。

  4. 等。。。如下示例

  5. 向CMISS 添加 Devie文件夹

    D:\Project-ST\stm32F103HALNewPro\Drivers\CMSIS\Device\ST\STM32F1xx\Include 中留下三个文件

  6. 向CMISS 添加 Include文件夹

    在 en.stm32cubef1\STM32Cube_FW_F1_V1.8.0\Drivers\CMSIS\Core\Include拷贝如下文件到Include

  7. 向STM32F1xx_HAL_Driver中添加如下文件

  8. 向SYSTM中添加如下文件

■ 2.3 向Mrddlewares文件添加文件

Mrddlewares,用来存放第三方提供的中间层代码组件。

■ 2.4 设置Output文件夹

■ 2.5 设置 Projects

新建 MDK-ARM文件夹,

用Keil新建工程选择目录为MDK-ARM

如下图:选择项目目录为MDK-ARM 后会再该目录下生成工程文件。

■ 2.5 设置 User文件夹

用于存放用户编写的代码,如: HAL 库用户配置文件、 main.c 文件、中断处理文件,以及分散加载文件等

■ 3. 添加USE_HAL_DRIVER,STM32F103xE 和C/C++ h文件路径

■ 4. 编译解决errer

相关推荐
wenchm29 分钟前
细说STM32单片机DMA中断收发RTC实时时间并改善其鲁棒性的另一种方法
stm32·单片机·嵌入式硬件
编码追梦人2 小时前
如何实现单片机的安全启动和安全固件更新
单片机
电子工程师UP学堂2 小时前
电子应用设计方案-16:智能闹钟系统方案设计
单片机·嵌入式硬件
飞凌嵌入式2 小时前
飞凌嵌入式T113-i开发板RISC-V核的实时应用方案
人工智能·嵌入式硬件·嵌入式·risc-v·飞凌嵌入式
blessing。。3 小时前
I2C学习
linux·单片机·嵌入式硬件·嵌入式
嵌新程5 小时前
day03(单片机高级)RTOS
stm32·单片机·嵌入式硬件·freertos·rtos·u575
Lin2012305 小时前
STM32 Keil5 attribute 关键字的用法
stm32·单片机·嵌入式硬件
电工小王(全国可飞)5 小时前
STM32 RAM在Memory Map中被分为3个区域
stm32·单片机·嵌入式硬件
maxiumII5 小时前
Diving into the STM32 HAL-----DAC笔记
笔记·stm32·嵌入式硬件
美式小田8 小时前
单片机学习笔记 9. 8×8LED点阵屏
笔记·单片机·嵌入式硬件·学习