【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

相关推荐
韦东山24 分钟前
第5章_Modbus通讯协议
嵌入式硬件·开发·工业控制
阿杰小子1 小时前
Linux内核——Linux内核体系模式(二)
linux·运维·单片机
zeruns8022 小时前
开源205W桌面充电器,140W+65W升降压PD3.1快充模块(2C+1A口),IP6557+IP6538
科技·嵌入式硬件·开源·智能硬件·充电器·快充·英集芯
极客小张3 小时前
STM32实战项目:从零打造GPS蓝牙自行车码表,掌握传感器、蓝牙、Flash存储等核心技术
c语言·单片机·嵌入式硬件·mcu·物联网·算法·智能家居
致亲爱的开心eng小电4 小时前
【stm32】大一上学期笔记复制
笔记·stm32·嵌入式硬件
单片机一哥4 小时前
PHP 比 Java 的开发效率高在哪?
单片机·51单片机
科学的发展-只不过是读大自然写的代码5 小时前
51单片机通过控制寄存器控制设备,那么程序中变量的运算职责由谁完成的呢
单片机·嵌入式硬件·51单片机
人才程序员5 小时前
【51单片机入门】数码管原理
c++·单片机·嵌入式硬件·mcu·51单片机·proteus·c
晨同学03275 小时前
51单片机-让一个LED灯闪烁、流水灯(涉及:设置单片机的延迟函数)
单片机·嵌入式硬件·51单片机
XD7429716365 小时前
【TB作品】打地鼠游戏,ATMEGA16单片机,Proteus仿真 打地鼠游戏
单片机·游戏·proteus·打地鼠