Skip to content

初识HAL库

CMSIS标准以及库法的层次关系

CMSIS层: 内核通用的一些接口

使用的两种模式

  1. 自己移植, 不推荐
  2. 使用CubeMX进行配置

自己进行移植

主要是移植CMSIS文件夹以及HAL_Driver两个文件夹

之后添加文件, 添加一个启动文件, 之后添加一个CMSIS文件夹下的对应的系统设置的文件

在添加库文件的时候不添加template文件以及ll库的文件

移植之后添加两个宏USE_HAL_DRIVER,STM32F103xE

添加之后依旧在报错找不到一个文件

c
/**
  ******************************************************************************
  * @file    stm32f1xx_hal_conf.h
  * @author  MCD Application Team
  * @version V1.1.1
  * @date    12-May-2017
  * @brief   HAL configuration template file.
  *          This file should be copied to the application folder and renamed
  *          to stm32f1xx_hal_conf.h.
  ******************************************************************************/

这个文件里面说明需要这样进行设置, 这一个文件会进行设置哪一个文件会被编译进我们的项目

之后有的文件之间又相互的依赖关系, 需要在添加的时候把所有的文件都添加到里面

CubeMX

安装

首先下载Java的运行环境, 之后下载CubeMX进行安装, 使用默认配置

使用

有三种创建项目的模式, 第一种是根据芯片进行创建, 第二种是官方的开发板, 第三种是示例

找到对应的芯片双击进入

可以在这里添加其他的功能

STM32CubeMX - STM32Cube初始化代码生成器 - 意法半导体STMicroelectronics

这里面有相关的配置文档

  1. 各种外设的配置
  2. 时钟
  3. 项目的工程怎么生成

下载不同版本的固件包版本